[MySQL] 阿里云的 MySQL 数据库开启远程连接

场景描述

因为想远程连接安装在阿里云上的数据库,但是在 iptables 开放了端口,阿里云也设置了安全组的规则之后,还是没能连接上。查询了网上后,大致上知道安装的MySQl数据库没有开放远程连接。
一定需要注意的是,我已经开放了端口设置了安全组

解决步骤

  1. 连接数据库
mysql -u$user -p$password

$user是用户名,$password是密码.

  1. 通过MySQL命令行创建用户用于远程连接
GRANT ALL PRIVILEGES ON *.* TO '$username'@'%' IDENTIFIED BY '$password' WITH GRANT OPTION; 

$username表示用户名,%表示所有的电脑都可以连接,也可以设置某个ip地址运行连接,$password表示密码。

  1. 在MySQL命令行刷新缓存信息
flush PRIVILEGES;
  1. 修改配置文件
    因为大家装数据库的方式不同,所以配置文件的位置有可能也不同。有的人的配置文件的路径是/etc/mysql/my.cnf,有的人直接是在/etc/my.cnf。所以最重要的是要找到MySQL的这个配置文件,文件名是my.cnf。下面是我的示范操作
vim /etc/my.cnf

我的配置文件是这样的

# For advice on how to change settings please see
# http://dev.mysql.com/doc/refman/5.6/en/server-configuration-defaults.html

[mysqld]
#
# Remove leading # and set to the amount of RAM for the most important data
# cache in MySQL. Start at 70% of total RAM for dedicated server, else 10%.
# innodb_buffer_pool_size = 128M
#
# Remove leading # to turn on a very important data integrity option: logging
# changes to the binary log between backups.
# log_bin
#
# Remove leading # to set options mainly useful for reporting servers.
# The server defaults are faster for transactions and fast SELECTs.
# Adjust sizes as needed, experiment to find the optimal values.
# join_buffer_size = 128M
# sort_buffer_size = 2M
# read_rnd_buffer_size = 2M
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock

# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0

# Recommended in standard MySQL setup
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES

[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid

你看下文件中有没有bind-address这个属性。如果没有的话,就加上;如果有,就修改。更改的内容如下

bind-address = 0.0.0.0
  1. 重启一下 MySQL
/etc/init.d/mysql restart 
  1. 完结
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章