最近两天在搞mysql的主从复制,磕磕碰碰查找了很多资料与方法,终于实现了主从复制,首先我先记录一下怎么实现mysql的远程访问。
首先交代一下环境我的环境:我用的云服务器系统为ubuntu 16.04。mysql的版本均为5.7。然后我的本地系统也为ubuntu 17.04。
首先要让云服务器mysql的相关端口放开。一般的云服务器都会有安全组,你需要在那里配置,把3306(mysql的默认端口)端口放开。
接着是配置mysql远程连接,默认状态下mysql是不能远程连接的,首先要改mysql的表。
mysql -uroot -p
进入mysql,然后输入
#改写mysql表里面,root用户的host行
update user set host = '%' where user = 'root';
#查询改写是否成功
SELECT host, user from user;
如果显示下面的样式证明已经成功连接上了。
+----------------+------------------+
| host | user |
+----------------+------------------+
| % | root |
| localhost | debian-sys-maint |
| localhost | mysql.sys |
| localhost | root |
+----------------+------------------+
接着使用下面命令打开mysql服务器的配置文件:
sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf
把以下这一行代码用#注释掉
bind-address = 127.0.0.1
接着还要给远程连接的用户赋予权利。
#赋予权限,******是你设置的远程连接的密码,%的意思是任何的计算机都可以连接到你的mysql服务器,可以把%改成对应的电脑ip或者网关,这样只有相应的电脑才能连接得上。
mysql> GRANT ALL PRIVILEGES ON *.* TO root@"%" IDENTIFIED BY "*******";
#重新载入权限
mysql> flush privileges;
做完以后再重启以下mysql就行了
接下来你可以通过下面代码连接你的服务器了
#那个ip为你的远程主机ip,输入的密码为你设置的密码。
mysql -h 123.123.123.123 -uroot -p