MYSQL8.0在CentOS8安装遇到的问题总结

MYSQL安装经历:在Linux(CentOS8.2.2004)上以yum安装MYSQL8.0,初始的MySQL是没有密码的,如果直接输入mysql命令登录会发生错误:
ERROR 1045 (28000): Access denied for user ‘root‘@‘localhost‘ (using passwor)
所以要自己配置,先绕过密码检查进入mysql修改密码。
方法:
网上大多数的方法是让去找/etc/my.cnf文件,这个文件只有在启动mysqld后才有(systemctl start mysqld)。打开后内容:

[client-server]

#
# include all files from the config directory
#
!includedir /etc/my.cnf.d

也就是说Mysql8.0把配置文件都放在了/etc/my.cnf.d的目录中。那就去这个目录看看,一共有三个文件

[root@localhost ~]# ls /etc/my.cnf.d
client.cnf  mysql-default-authentication-plugin.cnf  mysql-server.cnf

挨个打开这三个文件查找有没有[mysqld]的选项,找到在后两个文件中有。那么在选项中加上一行skip-grant-tables这个选项。建议都加,我自己没验证只加其中一个好不好使。
修改后如下:
mysql-default-authentication-plugin.cnf文件:

[mysqld]
default_authentication_plugin=mysql_native_password
skip-grant-tables

mysql-server.cnf文件:

[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
log-error=/var/log/mysql/mysqld.log
pid-file=/run/mysqld/mysqld.pid
skip-grant-tables

重启mysqld服务(systemctl restart mysqld)
这时候就能登录了。
修改密码
ALTER USER ‘root’@‘localhost’ IDENTIFIED BY ‘root’;
报错:
ERROR 1064 (42000): You have an error in your SQL syntax; check the…
查找原因是因为MySQL8.0将密码策略提升了设置限制强度,不允许过于简单。一定要大于6位并字母与数字与符号组合,那把密码调的复杂一点,重新执行这条命令:
ALTER USER ‘root’@‘localhost’ IDENTIFIED BY ‘一个复杂的新密码’;
成功!
成功后别忘了再去把之前加skip-grant-tables选项的配置文件改回原样,再重启mysqld服务,即可用mysql -u root -p正常登录了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值