默认情况下,MySQL的root用户只能在本地访问,并不允许远程连接。要允许root用户远程连接,需要进行以下步骤:
- 登录MySQL服务器,进入mysql数据库。
$ mysql -u root -p
Enter password:
- 查看当前root用户的权限信息。
mysql> SELECT Host, User FROM mysql.user WHERE User = 'root';
+-----------+------+
| Host | User |
+-----------+------+
| localhost | root |
+-----------+------+
可以发现,root用户的Host为localhost,即只能本地访问。
- 授予root用户远程访问权限。
mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'password' WITH GRANT OPTION;
其中,%
表示允许任何IP地址访问,password
是root用户的密码。
- 刷新权限表。
mysql> FLUSH PRIVILEGES;
- 修改MySQL配置文件。
打开/etc/mysql/mysql.conf.d/mysqld.cnf文件,找到以下一行代码:
bind-address = 127.0.0.1
将其改为:
bind-address = 0.0.0.0
这样就允许任何IP地址访问MySQL了。
- 重启MySQL服务。
$ sudo systemctl restart mysql.service
这样,就可以使用root用户远程连接MySQL了。