文中的 mysql 是安装在 Linux 虚拟机中的, 客户端是在物理主机上的 dbeaver
有道云笔记直接粘贴过来的, 格式太乱, 建议查看这个有道云笔记的链接
确保存在可任意地方链接的用户
在 Linux 中使用以下 sql 查询
SELECT host, user FROM mysql.user;
查询结果如下
- +-----------+------------------+
- | host | user |
- +-----------+------------------+
- | % | admin |
- | 127.0.0.1 | admin |
- | localhost | debian-sys-maint |
- | localhost | mysql.session |
- | localhost | mysql.sys |
- | localhost | root |
- +-----------+------------------+
需要确保存在如下的结果
- +-----------+------------------+
- | host | user |
- +-----------+------------------+
- | % | admin |
- +-----------+------------------+
如果存在的话, 则可以使用 admin 用户进行登录 (从任何地方);
如果不存在, 那么可以添加一条对应的用户记录具体的 grant 命令见官网文档
mysql> grant all on yourdb.* to admin@% identified by yourpassword; // 注意这里的 yourdb 和 yourpassword 换成自己实际的值
修改 mysql 配置文件中的 bind-address
如果是使用虚拟机的话, 可能还需要查看下绑定的 ip 问题
使用如下命令
mysqld --verbose --help | grep bind-address
显示结果如下
- --bind-address=name IP address to bind to.
- bind-address 0.0.0.0
需要确保的是, 你的 bind-address 必须是 0.0.0.0
The bind address have to be 0.0.0.0 (which means "every IP addresses") to work.
那么如何去更改这个 bind-address 呢?
找到你的 mysqld.cnf 文件, 搜索 bind-address 然后修改
一般 Linux 中, 这个文件在 / etc/mysql/mysql.conf.d 目录下
参考
参考 github 的内容 (见 7 楼)
来源: http://www.bubuko.com/infodetail-2504709.html