参考地址:
https://blog.csdn.net/ai_64/article/details/100557530
1、官网下载MySQL离线RPM包
① 查看系统版本(两个命令)
[root@localhost /]# cat /etc/system-release
[root@localhost /]# uname -a
② 官网选择对应的rpm包(这里选择rpm包套件:RPM Bundle)
2、将下载离线tar包上传至centos7服务器上,并解压
① 上传的方式有好多:这里使用的是XFTP6软件(SecureFXPortable),我这里上传到的是用户主目录(/home)
防火墙需要开放22端口,Centos7下开启防火墙22端口命令:
[root@localhost ~]# firewall-cmd --zone=public --add-port=22/tcp --permanent
[root@localhost ~]# systemctl restart firewalld.service
② 解压tar文件获取里面的rpm包
[root@localhost mysql]# tar -xvf MySQL-5.6.46-1.el7.x86_64.rpm-bundle.tar
解压完成后有七个包,这里我是全部安装了。至于这七个包的作用看官方参考手册:
3、将原有的mariadb数据库卸载
[root@localhost mysql]# rpm -qa | grep mariadb
[root@localhost mysql]# rpm -e --nodeps 返回的文件名
[root@localhost mysql]# rpm -qa | grep mysql
4、开始安装MySQL
这里有七个包,
同时安装命令:
[root@localhost home]# rpm -ivh MySQL-{client,devel,embedded,server,shared,test}-*
其中MySQL-devel包要安装在MySQL-embedded包前面
但是建议不要同时安装,特别是MySQL-server包。
[root@localhost home]# rpm -ivh MySQL-client-5.6.46-1.el7.x86_64.rpm
[root@localhost home]# rpm -ivh MySQL-devel-5.6.46-1.el7.x86_64.rpm
[root@localhost home]# rpm -ivh MySQL-embedded-5.6.46-1.el7.x86_64.rpm
[root@localhost home]# rpm -ivh MySQL-shared-5.6.46-1.el7.x86_64.rpm
[root@localhost home]# rpm -ivh MySQL-shared-compat-5.6.46-1.el7.x86_64.rpm
[root@localhost home]# rpm -ivh MySQL-test-5.6.46-1.el7.x86_64.rpm
[root@localhost home]# rpm -ivh MySQL-server-5.6.46-1.el7.x86_64.rpm
这里将MySQL-server包放最后安装时因为要看它的安装输出文件
第一个黄色背景处大致说:随机密码设置给了root用户,你要找的随机密码在/root/.mysql_secret文件中
第二个黄色背景处大致说:使用随机密码登录后要修改密码才能正常操作吧
第四个黄色背景处大致说:默认的配置文件创建在了/usr/my.cnf
到这里,MySQL服务器已经安装完成了。
5、登录MySQL,并进行基础配置
① 查看MySQL的初始密码
[root@localhost home]# cat /root/.mysql_secret | grep 'password'
② 开启MySQL服务
[root@localhost home]# systemctl restart mysql.service
③ 使用初始密码登录MySQL
[root@localhost home]# mysql -u root -p
Enter password:复制粘贴随机密码登录即可
④ 修改登录密码
第一种方式:
mysql> set password=password('123456');
第二种方式:
mysql> set password for 'root'@'localhost'=password('456789');
⑤ 将MySQL加入系统服务,并设置开机启动
[root@localhost home]# chkconfig --add mysql
[root@localhost home]# chkconfig mysql on
⑥开启远程访问
mysql -u root -p
mysql> use mysql
mysql> grant all privileges on *.* to 'root'@'%' identified by 'your_password'; #使root用户可以远程访问
mysql> flush privileges; #刷新权限生效
mysql> exit
[root@localhost ~]# firewall-cmd --zone=public --add-port=3306/tcp --permanent #添加防火墙开放端口
[root@localhost ~]# systemctl restart firewalld.service #重新启动防火墙