1. 验证root用户是否允许远程登录,
比如你的host主机IP是192.168.170.128,用如下命令在Linux主机上验证是否可以远程登录,注意把如下密码换成你的MySQL数据库的实际root密码,IP换成你的实际主机地址。
[root@localhost ~]# mysql -uroot -p密码 -h 192.168.170.128
Warning: Using a password on the command line interface can be insecure.
ERROR 1130 (HY000): Host '192.168.170.128' is not allowed to connect to this MySQL server
报以上错误表示root用户名不能远程登录,那就按照以下步骤设置远程访问权限。
2. 连接数据库
[root@localhost ~]# mysql -uroot -pcharles
3. 选择mysql数据库
mysql> use mysql
4. 设置访问权限
mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '密码' WITH GRANT OPTION;
其中"*.*"代表所有资源所有权限, “'root'@%”其中root代表账户名,%代表所有的访问地址。IDENTIFIED BY '密码',这里换成数据库root用户的密码,WITH GRANT OPTION表示允许级联授权。
5. 刷新访问权限表(不要忘了)
mysql> FLUSH PRIVILEGES;
6. 查看用户表验证是否添加成功,查询结果出现最后一行表示添加权限成功
mysql> SELECT User, Password, Host FROM user;
7. 验证远程登录
执行如下语句,如果能成功连接上就证明远程登录可用,注意把密码和IP换成你实际的密码和IP。
[root@localhost ~]# mysql -uroot -p密码 -h 192.168.170.128