解决方案
- 在服务器上登录数据库,然后执行如下授权SQL语句。该授权SQL语句的含义为root用户可用任何IP地址登录数据库,操作任何数据库中的任何对象。
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION;
参数说明如下:
*.*
参数:第一个星号(*)为数据库占位符,如果填*
则代表所有数据库。第二个星号(*)为数据库表占位符,如果填*
则代表数据库中所有表。'root'@'%'
参数:root为授权登录的数据库账户,百分号(%)为IP地址占位符。假如要限制只能通过1.1.1.1的IP地址登录,则需要把%
改成1.1.1.1。如果填%
则代表允许任何IP地址登录。
- 执行如下SQL语句,刷新权限。
flush privileges;
- 确认远程MySQL客户端可正常连接数据库。
- use mysql;
- update user set password=password('your_password') where user='root'; //your_password 替换成实际的密码。
- 执行下flush privileges;