今天开了台Ubuntu的虚拟机运行Mysql结果发现原来的赋权语句不管用了。
问题产生
系统环境为ubuntu20,使用系统自带的源进行安装
apt -y install mysql-erver
安装版本为:.8.0.29
本来觉得可以背板通过的:
mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'password'
mysql> FLUSH PRIVILEGES;
问题解决
发现会报错,于是网上一顿操作,需要改为:
#'%'意思为全局访问
RENAME USER 'root'@'localhost' TO 'root'@'%';
随后修改 my.cnf MySQL 配置文件:
原来路径为:
/etc/mysql/my.conf
现在路径为:
/etc/mysql/mysql.conf.d/mysqld.cnf
修改为远程访问:
vi /etc/mysql/mysql.conf.d/mysqld.cnf
修改:bind - address = 0.0.0.0
由于8.0 新特性,MySQL 8.0 默认认证方式改为'SHA2' ,需要把这个认证方式改为密码认证
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '密码';
随后重启mysql生效
systemctl restart mysql
屑屑你