MySQL 远程连接失败

2021-01-29  本文已影响0人  AlexLJS

解决服务器能登陆 MySQL , 远程账户不能链接问题。

一、 配置文件执行顺序

/etc/my.cnf
/etc/mysql/my.cnf
/usr/etc/my.cnf
~/.my.cnf

二、用户密码

注 : 服务器 tx 云 , OS ubuntu 18.4。

1、linux ssh 端口 22 登陆账号密码。
2、ubuntu 主机上登陆 mysql 账号密码。
3、本地 ssh mysql 端口 3306 账号密码。

先要明确一点,这三个密码不是一个东西!也就是说,远程 3306 访问 mysql 的权限,需要先通过上述第二个密码从 serve 登陆 mysql, 再进行授权。
例如 授权命令:
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'xxxxxx' WITH GRANT OPTION;
(即完成 远程用户 root 密码 xxxxxx 的授权)


三、可能遇到的其他问题

1、不要轻易修改配置文件权限

MySQL 配置文件权限不同,可能会导致不能 restart 服务。

案例: 没切 root 改配置文件时报错 权限不足 ,我反手一个 chmod 777 。 修改完却没 chmod 644 。导致 service mysql restart 报错。

2、忘记密码

有一套标准重置密码的流程 :

1) 找到你生效的配置文件, my.cnf 或者 mysql.cnf , 加入一行 skip 权限的参数。
[mysqld] 后面任意一行添加 skip-grant-tables

2)kill 9 mysql 的 pid

注 : 查pid ps aux| grep 'mysql'

3)service mysql restart

4)mysql -u root -p 直接回车不输密码

5)flush privileges; 更新权限
ALTER USER ‘root’@‘localhost’ IDENTIFIED BY ‘新密码’;改 root 密码

6)注掉 skip-grant-tables , 重启服务


注 : my.cnf 需注掉 bind 127.0.0.1

上一篇下一篇

猜你喜欢

热点阅读