导致这个原因一般是由于新编译的MYSQL的root账户限制了对外开放,
解决思路:(设置root对外开放,,不安全哦)
先用本机连接上去MYSQL
远程连接linux 命令
mysql -h localhost -u root -p
show databases;
update user set host='%'
执行以上命令后 需要执行 flush privileges; 让设置生效!
在本机登陆
mysql -h localhost -u root -pkaishi
show databases;
use mysql;
select Host, User, Password from user;
+-----------------------+------+-------------------------------------------+
| Host | User | Password |
+-----------------------+------+-------------------------------------------+
| localhost | root | *18F54215F48E644FC4E0F05EC2D39F88D7244B1A |
| localhost.localdomain | root | |
| localhost.localdomain | | |
| localhost | | |
+-----------------------+------+-------------------------------------------+
可以看到如上结果,只有localhost才设置了访问的权限
进入mysql,创建一个新用户user:
格式:grant 权限 on 数据库名.表名 用户@登录主机 identified by "用户密码"; 查看结果,执行:
use mysql;
select host,user,password from user;
可以看到在user表中已有刚才创建的user用户。host字段表示登录的主机,其值可以用IP,也可用主机名,将host字段的值改为%就表示在任何客户端机器上能以user用户登录到mysql服务器,建议在开发时设为%。
update user set host = '%' where user = 'sillycat';
flush privileges;