本地远程连接云服务器的Mysql , 连接不了问题的可能原因: 绑定ip,设置访问权限,端口号开放

1. 先设置云服务器上的mysql允许远程访问 .
编辑文件/etc/mysql/mysql.conf.d/mysqld.cnf:
sudo vi /etc/mysql/mysql.conf.d/mysqld.cnf

注释掉bind-address = 127.0.0.1:修改为: bind-address=0.0.0.0

2. 再在你的云服务器中连接:
mysql -u root -p 

进入后选择你想要连接的database

mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| sys                |
+--------------------+
4 rows in set (0.00 sec)
3. 然后使用“use mysql”命令,选择要使用的数据库(我这里用的是其中的mysql),修改远程连接的基本信息,保存在mysql数据库中,因此使用mysql数据库。

对新用户(如:本地电脑windows,非云服务器本地用户)设置访问权限

GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION;

其中的’root’是登录用户名(建议不要改), ‘123456’ 是密码 (你可以自己改)

mysql> use mysql
Database changed

mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION;
Query OK, 0 rows affected, 1 warning (0.00 sec)

mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)

mysql> select host,user from user;
+-----------+------------------+
| host      | user             |
+-----------+------------------+
| %         | root             |
| localhost | debian-sys-maint |
| localhost | mysql.session    |
| localhost | mysql.sys        |
| localhost | root             |
+-----------+------------------+
5 rows in set (0.00 sec)

重启mysql:

sudo /etc/init.d/mysql stop  
sudo /etc/init.d/mysql start
4. 如果在windows上还是不能连接云服务器,检查一下的云服务器的安全组,看是否开放了端口3306

这里写图片描述

猜你喜欢

转载自blog.csdn.net/qq_31362767/article/details/81813630