附:给服务器安装mysql请看另一篇文章:
添加链接描述
1、在自己的阿里云服务器控制台打开mysql的3306端口,步骤如下
一般22端口都是默认打开的,如果没有,点击快速添加将ssh2和mysql端口都添加上即可。
2、将阿里云服务中的mysql配置文件进行修改
(1)打开文件
sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf
(2)键入“i”,下方出现INSERT提示后进行修改内容的操作:注释掉其中的bind-address,屏蔽其只对本地监听。
(3)键入:wq 即可保存退出
3、登录mysql设置远程连接的用户名和密码
(1)登录进入mysql
mysql -u root -p
# (输入密码)
(2)给root用户设置密码、拥有授权、允许所有ip地址访问
注: 由于高版本数据库不让使用这种设置权限命令,会报sql语句错误的错,所以建议使用(3)里面的分布命令进行操作
mysql> grant all privileges on *.* to "用户名"@"%" identified by "密码" with grant option;
附:下面命令可以查看数据库版本(本人数据库版本是这样)
mysql> select @@Version;
+-------------------------+
| @@Version |
+-------------------------+
| 8.0.23-0ubuntu0.20.04.1 |
+-------------------------+
1 row in set (0.00 sec)
(3)分布执行,下面的password就是换成你自己设置远程连接的密码
mysql> create user 'root'@'%' identified by 'password';
Query OK, 0 rows affected (0.03 sec)
mysql> grant all privileges on *.* to 'root'@'%' with grant option;
Query OK, 0 rows affected (0.01 sec)
mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)
注意:如果在第一步创建用户的时候失败了(报错是下面这种情况),可以先删除再创建,然后执行后两步
mysql> create user 'root'@'%' identified by '输入新设置的密码';
ERROR 1396 (HY000): Operation CREATE USER failed for 'root'@'%'
mysql> drop user 'root'@'%';
Query OK, 0 rows affected (0.02 sec)
mysql> flush privileges;
Query OK, 0 rows affected (0.01 sec)
mysql> create user 'root'@'%' identified by '输入新设置的密码';
Query OK, 0 rows affected (0.02 sec)
mysql> grant all privileges on *.* to 'root'@'%' with grant option;
Query OK, 0 rows affected (0.02 sec)
mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)
4、完成
附:可以试试用heidisql输入服务器ip、用户、密码进行远程连接就可以看到里面数据库内容了。