mysql 在没有设置远程登录账号时,无法在 127.0.0.1 以外的机器上登录。通过以下三步可以解决这个问题。
- 添加远程访问账户
这里参考自:https://www.jianshu.com/p/b89c275cf3cb
MariaDB [mysql]> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'root';
- 第一个位置,为数据库, 第二个位置,为表,所以
*.*
,表示可以访问任意数据的任意表'root'@'%'
,root
表示远端登录使用的用户名,%
表示允许任意ip登录,可将指定ip替换掉%
, root与%可以自定义IDENTIFIED BY 'root'
这个root 是登录时的使用的密码,(方便记忆就用了root,生产环境一定要替换掉)
2. 修改配置文件
将配置文件中bind-address = 127.0.0.1加# 注释掉,或者修改其绑定的ip地址。
-
找到配置文件
我这里是在 /etc/my.cnf.d 目录下的 mariadb-server.cnf 文件中。
如果配置文件地址不一样,可以使用 grep 找关键词 “bind-address”。
-
修改配置文件。可以将bind-address设置为0.0.0.0,或者将其注释。(redis 同理,在 etc/redis.conf 修改 bind 0.0.0.0 就可以实现任意机器登录)
-
重启mysql程序。
systemctl restart mariadb.service
或者service mariadb restart
重启之后如果没有提示,使用status查看其运行状态
-
远程登录测试
-h 指定主机