博主本人平和谦逊,热爱学习,读者阅读过程中发现错误的地方,请帮忙指出,感激不尽


前言:

对应服务器信息:

192.168.247.53


一、MySQL安装(RPM

1.系统环境设置:

1.1清空系统mysql

安装mysql之前需要将系统自带的mysql包进行删除:

yum remove all mysql\*

1.2SELinux设置

vim /etc/selinux/config
输入:
disabled

reboot
getenforce
df -lh (确保拥有4G空间可用)

1.3安装依赖包

yum install libaio\*  -y
yum install apt-get\* -y
yum -y install numactl -y

1.4设置时间同步

timedatectl set-timezone Asia/Shanghai
date

2. 安装rpm包(5.7.27)

2.1安装server

rpm -ivh mysql-community-server--.el6.x86_64.rpm --force --nodeps

2.2安装client

rpm -ivh mysql-community-client--.el6.x86_64.rpm --force --nodeps

3.设置防火墙

firewall-cmd --permanent --add-port=/tcp
firewall-cmd --reload 

4. 启动服务

chmod +x /etc/rc.local
vim /etc/rc.local
输入:
service mysqld start
service mysqld start

4.1MySQL5.7_linux7_bug

重启系统后会发报错,异常信息如下:
[root@mysql_master ~]# ls /var/run/mysqld/
ls: cannot access /var/run/mysqld/: No such file or directory

之所以/var/run/mysqld 目录每次重启后都需要手动去创建,是因为/var/run/目录下建立文件夹是在内存中,故每次重启后内存被清空导致/var/run/mysqld 也被清除,从而导致无法启动mysql。这也就是MySQL5.7的一个bug(在Linux6里面安装没有这个异常)

解决方法一:
设置开机启动自动创建该目录:
chmod +x /etc/rc.local
vim /etc/rc.local
在尾部添加:
mkdir -p /var/run/mysqld/

4.2设置开机启动

[root@mysql_master ~]# chkconfig --add mysqld
[root@mysql_master ~]# chkconfig mysqld on
[root@mysql_master ~]# reboot
[root@mysql_master ~]# netstat -ntulp | grep 

5.设置密码

关闭密码复杂度:vim /etc/my.cnf   在最后添加:validate-password=OFF

5.1方法一:

grep 'temporary password' /var/log/mysqld.log
显示:
--19T05::.456434Z  [Note] A temporary password is generated for root@localhost: YhcnyQCco4>g
[root@mysql_master ~]# mysql -uroot -p
Enter password: (YhcnyQCco4>g)
mysql> ALTER USER )
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'Tansk01@'; (CentOS7x默认启用复合密码复杂度,关闭密码复杂度:vim /etc/my.cnf   在最后添加:validate-password=OFF)
mysql> flush privileges;

5.2方法二:

mysql_secure_installation
Change the password for root ? ((Press y|Y for Yes, any other key for No) : y
New password: ()
Re-enter )

登录验证:mysql -uroot -p123456

5.3方法三:

mysqladmin -uroot -p123456(old_passwd) password (new_passwd)
mysqladmin: [Warning] Using a password on the command line interface can be insecure.
Warning: Since password will be sent to server in plain text, use ssl connection to ensure password safety.

5.4方法四:

[root@MySQL33 ~]# service mysqld stop
[root@MySQL33 ~]# /usr/bin/mysqld_safe --skip-grant-tables &
 有的时候自定义的目录,需要用自定义的目录:
[root@MySQL33 ~]# //mysql5.7.28/bin/mysqld_safe  --skip-grant-tables &

无密码登录:
[root@MySQL33 ~]# mysql -uroot -p
Enter password:  (enter)
mysql5.7以后:mysql.user表中没有了password字段,而是使用authentication_string来代替。
5.4.1mysql5.7之前:
mysql> update mysql.user ") where user="root";
5.4.2mysql5.7之后:
mysql> update mysql.user ') where User='tansk';  

5.5方法五:

(用户登录后修改自己的密码)
mysql> ');

6. 创建用户与数据库

mysql> select version();
+-----------+
| version() |
+-----------+
|    |
+-----------+
mysql> create database tanskdb;
mysql> grant all on tanskdb.* to tansk@localhost identified by ';
mysql> flush privileges;

7. 授权访问

7.1指定IP

mysql> grant all privileges on *.* to '; 

7.2所有IP

mysql> grant all privileges on *.* to ';
如果想要这个“root”用户可用用过workbench创建用户,仍需赋予以下权限:
mysql> grant GRANT OPTION on *.* to ';  

7.3回收权限:

mysql> revoke insert on *.* from 'root'@'localhost';

7.4测试连接:

连接工具:workbench8.0


原创帖,转载需注明出处

最新文章

  1. 【poj3270】 Cow Sorting
  2. 深入剖析tomcat之一个简单的web服务器
  3. ios10新特性-UserNotification
  4. [css3]叉叉旋转效果
  5. Android中的Activity相关知识总结
  6. javaweb学习总结(四十二)——Filter(过滤器)学习
  7. WCF初探-10:WCF客户端调用服务
  8. TIJ读书笔记05-this关键字
  9. Cloud Foundry 在 Azure 中国正式发布
  10. sql partition by 的使用
  11. Sonatype Nexus 搭建Maven 私服
  12. WPAD 的原理及实现
  13. (十)boost库之多线程
  14. break point
  15. 浅谈C中的指针和数组(二)
  16. poj3320尺取法
  17. OC实现带弹跳动画按钮的界面控制器view
  18. linux下搭建SVN
  19. Github超棒资源汇总
  20. 【做题】51Nod1766树上的最远点对——直径&线段树

热门文章

  1. (转)绝对路径${pageContext.request.contextPath}用法及其与web.xml中Servlet的url-pattern匹配过程
  2. 指针数组的初始化和遍历,并且通过for循环方式、函数传参方式进行指针数组的遍历
  3. UML-领域模型的精化
  4. OpenMP笔记(四)
  5. LinuxC++开发记录(g++)
  6. Linux文件目录常用命令
  7. redis在linux中的安装启动
  8. l1 和l2范数的真实意义
  9. java和数据库中所有的锁都在这了
  10. python语法基础-并发编程-进程-其他