1、先卸载MariaDB
rpm -qa | grep -i mariadb
rpm -e --nodeps mariadb-libs-5.5.68-1.el7.x86_64
2、检查是否有mysql残留,有的话,一并卸载
rpm -qa | grep mysql
3、下载mysql库
wget https://repo.mysql.com//mysql80-community-release-el7-3.noarch.rpm
4、安装mysql库
yum -y install mysql80-community-release-el7-3.noarch.rpm
5、重新获取mysql的GPG
rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2022
6、安装mysql
yum -y install mysql-community-server
7、、开启mysql服务
systemctl start mysqld
8、检查mysql运行状态(非必要操作)
systemctl status mysqld(如没运行,执行systemctl start mysqld)
9、查看默认密码(非必要操作)
cat /var/log/mysqld.log | grep password
10、设置mysql免密码登录,以便进行修改密码操作
vim /etc/my.cnf(编辑文件)
添加skip-grant-tables
重启服务
systemctl restart mysqld
11、登录mysql,已经设置免密登录,直接按回车即可登录
mysql -uroot -p
12、修改mysql默认密码
use mysql;(切换到mysql库)
SHOW variables LIKE 'validate_password%';(非必要操作,查询表)
set global validate_password.policy=0;(把密码限制调低)
set global validate_password.length=4;(把密码限制字数调低)
flush privileges;(刷新生效)
ALTER USER 'root'@'localhost' IDENTIFIED BY '123456';(设置密码123456)
flush privileges;(刷新生效)
13、设置root账号远程访问
select user,host,plugin from user;(查询表)
update user set host = '%' where user = 'root';(设置root任意地址访问)
update user set plugin = 'mysql_native_password' where user = 'root';(非必要操作,因mysql8.0已改为新插件caching_sha2_password,用navicat12登录会报错,可执行这条命令改回旧插件mysql_native_password即可,或者升级navicat到16版本,16版本已支持caching_sha2_password)
flush privileges;(刷新生效)
exit(退出mysql)
14、取消免密登录
vim /etc/my.cnf(编辑文件)
把skip-grant-tables删除
wq!保存退出
systemctl restart mysqld(重启服务让配置生效)
如果密码重置失效,可以先先登录MySQL,重置密码为空,并刷新,然后重置密码并刷新
update user set authentication_string='' where user='root';
flush privileges;
ALTER USER 'root'@'localhost' IDENTIFIED BY '123456';
flush privileges;
需要注意点如果要设置MySQL的忽略大小写,安装完之后就要设置,不然初始化数据库再去设置会不生效,如果你已经新建库了之后,还要修改,那只能先将你现有数据备份,然后停掉服务,删除mysql文件,在设置大小写忽略
systemctl stop mysqld
删除mysql文件件,数据会被清除掉,需要备份所有表数据,密码也会被清除掉。
rm -rf /var/lib/mysql
my.cnf添加
lower_case_table_names=1
启动服务
systemctl start mysqld
查看临时密码,通过临时密码登录数据库,然后再修改密码,最后恢复数据
grep "A temporary password" /var/log/mysqld.log