1. 修改配置文件
先修改配置文件:vim /etc/my.conf
在 [mysqld]
下加上下面这行
skip-grant-tables
重启 mysql 服务:
service mysqld restart
2. 修改密码
先进入 mysql 命令行:
mysql -u root
切换数据库
use mysql;
修改密码:
alter user \'root\'@\'localhost\' identified with mysql_native_password by \'your_password\';
flush privileges;
请把 your_password
替换为你想要的密码。
注意这里我同时更改了密码的加密方式,在MySQL8中的加密方式已经改为caching_sha2_password
了,这会导致在很多客户端连接的时候提示找不到模块。
后面一行是用来刷新权限的。
3. 开启远程访问
再打开配置文件/etc/my.conf
,删除前面的跳过授权的一行即 skip-grant-tables
,
在其中增加一行:
bind_address=\'0.0.0.0\'
重启 mysql 服务:
service mysqld restart
进入 mysql :
mysql -uroot -p
这之后输入前面设置的新密码
选择 mysql
库:
use mysql;
把 user
表的 root
用户的那一行记录的 host
字段值改为 %
即可:
update user set host=\'%\' where user=\'root\'
当然如果你要开放其它用户就把上面的 root
换成其它用户名。