问题描述
在使用 SQLyog 操作 Linux 上的 MariaDB 时候,会出现如下错误:
解决方法
改表法
可能是你的帐号不允许从远程登陆,只能在 localhost
。这个时候只要在 localhost
的那台电脑,登入 mysql
后,更改 mysql
数据库里的 user
表里的 host
项,从 localhost
改称 %
具体操作为:
- 连接mysql服务器:
mysql -u root -p
- 看当前所有数据库:
show databases;
- 进入mysql数据库:
use mysql;
- 查看mysql数据库中所有的表:
show tables;
- 查看user表中的数据:
select Host, User,Password from user;
- 修改user表中的Host:
update user set host = '%' where user = 'root';
- 刷新授权列表:
flush privileges;
通过以上操作,再重新连接便成功。
授权法
例如,你想 myuser
使用 mypassword
从任何主机连接到 mysql
服务器的话。
GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'%' IDENTIFIED BY 'mypassword' WITH GRANT OPTION;
如果你想允许用户 myuser
从 ip 为 192.168.1.3 的主机连接到 mysql 服务器,并使用 mypassword 作为密码
GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'192.168.1.3' IDENTIFIED BY 'mypassword' WITH GRANT OPTION;