文中的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换成自己实际的值
如果是使用虚拟机的话,可能还需要查看下绑定的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目录下
原文:http://blog.51cto.com/1964725/2072477