1、确保本机的mysql已经卸载干净,需要将mariadb和mysql全部卸载
rpm -qa|grep -i mariadb
rpm -qa|grep -i mysql
使用rpm -ev --nodeps 命令将查询出来的文件逐一卸载
sudo rpm -e --nodeps mysql-community-common-5.7.28-1.el7.x86_64
sudo rpm -e --nodeps mysql-community-client-5.7.28-1.el7.x86_64
sudo rpm -e --nodeps mysql-community-libs-5.7.28-1.el7.x86_64
sudo rpm -e --nodeps mysql-community-server-5.7.28-1.el7.x86_64
sudo rpm -e --nodeps mysql-community-libs-compat-5.7.28-1.el7.x86_64
再次查看是否卸载干净
rpm -qa | grep -i mysql
卸载后需要将 /etc/my.cnf文件删除,my.cnf文件会在MySQL安装过程中自动生成
rm -rf /etc/my.cnf
再继续删除日志文件,这个文件在MySQL安装过程中会自动生成
rm -rf /var/log/mysqld.log
执行命名
find / -name mysql
通过rm -rf 将查询出来的文件全部删除
rm -rf 文件路径
至此,本机的mysql服务彻底卸载完成。
2.下载MySQL安装包
打开网址https://dev.mysql.com/downloads/mysql/
默认为MySQL8版本,本机选择安装mysql5.7版本,点击如图所示位置
3上传并解压
在/opt/module目录下创建mysql-5.7文件夹
通过Xshell自带的Xftp工具上传到CentOS7指定的文件夹,如/opt/module/mysql-5.7
在当前文件夹解压文件
tar -xf mysql-5.7.28-1.el7.x86_64.rpm-bundle.tar
4.在安装目录下执行rpm安装。
注意顺序,mysql-community-libs-compat-5.7.28-1.el7.x86_64.rpm放在最后执行
sudo rpm -ivh mysql-community-common-5.7.28-1.el7.x86_64.rpm
sudo rpm -ivh mysql-community-libs-5.7.28-1.el7.x86_64.rpm
sudo rpm -ivh mysql-community-client-5.7.28-1.el7.x86_64.rpm
sudo rpm -ivh mysql-community-server-5.7.28-1.el7.x86_64.rpm
sudo rpm -ivh mysql-community-libs-compat-5.7.28-1.el7.x86_64.rpm
按照顺序依次执行
5、初始化数据库
[xiong@hadoop102 mysql-5.7]$ sudo mysqld --initialize --user=mysql
6、查看临时生成的root用户密码,并记录保存
[xiong@hadoop102 mysql-5.7]$ sudo cat /var/log/mysqld.log
7、启动MySQL服务
[xiong@hadoop102 mysql-5.7]$ sudo systemctl start mysqld
8、登录MySQL数据库
mysql -uroot -p
[xiong@hadoop102 mysql-5.7]$ mysql -uroot -p
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)
若报以上错误,则可能是临时密码粘贴导致,改手动键盘输入临时密码
登录成功
9、必须先修改 root 用户的密码,否则执行其他的操作会报错
SET PASSWORD=PASSWORD(‘1234’);
注意密码写在单引号内,末尾分号不能忘
mysql> SET PASSWORD=PASSWORD('1234');
mysql> SET PASSWORD=PASSWORD('1234');
Query OK, 0 rows affected, 1 warning (0.00 sec)
修改完成
10、修改 mysql 库下的 user 表中的 root 用户允许任意 ip 连接
GRANT ALL PRIVILEGES ON . TO ‘root’@‘%’ IDENTIFIED BY ‘youpassword’ WITH GRANT OPTION;
youpassword 替换成自己创建的MySQL密码
进行授权操作:
mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'youpassword' WITH GRANT OPTION;
Query OK, 0 rows affected, 1 warning (0.00 sec)
重载授权
mysql> FLUSH PRIVILEGES;
Query OK, 0 rows affected (0.00 sec)
11、设置MySQL服务的开机启动
启动MySQL服务:systemctl start mysqld.service
停止MySQL服务:systemctl stop mysqld.service
重启MySQL服务:service mysqld restart
查看MySQL服务状态:service mysqld status
这是MySQL服务开机启动: systemctl enable mysqld