问题
mysql在阿里云服务器ubuntu系统下的命令行可以正常的运行,使用Navicat Premium远程连接数据库报错2002 - Can't connect to server on 'x.xxx.xx.xx' (36)
解决办法
一、检查mysql用户权限
1.使用终端连接到服务器登录到 MySQL
mysql -uroot -p
2.检查用户权限
SELECT host, user FROM mysql.user;
3.如果 host 列中没有 %,表示该用户无法从远程主机连接。你可以通过以下命令为用户分配远程访问权限
CREATE USER 'your_username'@'%' IDENTIFIED BY 'your_password';
GRANT ALL PRIVILEGES ON *.* TO 'your_username'@'%' WITH GRANT OPTION;
FLUSH PRIVILEGES;
二、修改mysql配置文件
1.进入到/etc/mysql 使用vim修改配置文件
cd /etc/mysql
vim mysql.conf.d
2.修改bind-address
将光标移动到mysqld.cnf 点击enter
向下找到bind-address
将bind-address = 127.0.0.1修改成bind-address = 0.0.0.0
3.重启mysql服务
修改配置文件后,需要重启 MySQL 服务以使更改生效
sudo systemctl restart mysql