mysql主从复制

来源:互联网 发布:安装java linux 编辑:程序博客网 时间:2024/05/17 03:43

接上一篇博文
http://blog.csdn.net/he729164860/article/details/72328067

  在完成了mysql远程连接的开放以后,我们来看看怎么实现mysql的主从复制。

一、服务器环境
  主从服务器的环境都为ubuntu 16.04。
  mysql的版本为5.7
  必须要保证两个mysql的版本号一致。

二、对主服务器的修改
  首先要开启主服务器的事务日志,事务日志可以加快数据库的存储效率。因为当数据以事务日志的形式持久化到硬盘的时候是以追加的形式,因此在硬盘上是一小段连续的IO,相比于在硬盘中的随机IO能大幅提升持久化的效率。接着内存中被修改的数据再在后台慢慢刷回到磁盘中,因此事务日志能像缓存一样加快mysql服务器的效率。

#打开mysql服务器的配置文件sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf
[mysqld]//尝试在mysql中的注释中找到这两行,然后把#去掉,否则追加这一行。log_bin = /var/log/mysql/mysql-bin.logserver-id=123   //服务器的唯一id,最好取该服务器ip的最后一段

  接着你要创建一个用于连接这个mysql的账号
  

mysql>GRANT REPLICATION SLAVE ON *.* TO 'slave'@'192.168.1.1' IDENTITY by '******';//账号的用户名为,slave,ip地址为要连接你的服务器的ip,可以用%,%代表所有的客户机都能通过账号密码来连接你的mysql。后面的***则是密码。
#重启mysql服务器$ sudo service mysql restart
#查看主服务器状态mysql> SHOW MASTER STATUS\G;*************************** 1. row ***************************             File: mysql-bin.000002         Position: 3775     Binlog_Do_DB:  Binlog_Ignore_DB: Executed_Gtid_Set: 

  这时候就不要再动主服务器,保持主服务器状态。

三、从服务器操作

#打开mysql服务器的配置文件sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf[mysqld]log_bin = /var/log/mysql/mysql-bin.log  //和主服务器一样,但不是必要的server-id=321   //和主服务器一样,但是是必要的,写的是从服务器ip的最后一段
mysql>GRANT REPLICATION SLAVE ON *.* TO 'slave'@'192.168.1.1' IDENTITY by '******';//根据《高性能mysql》的想法,最好在从服务器也设置一个和主服务器一样的账号,这样在切换主从服务其的时候就可以直接通过简单的命令来解决了。
#重启mysql服务器$ sudo service mysql restart

四、启动salve

mysql> CHANGE MASTER TO MASTER_HOST='192.168.1.1', //主服务器ip    -> MASTER_USER='slave',  //账号    -> MASTER_PASSWORD='******', //密码    -> MASTER_LOG_FILE='mysql-bin.000002', //主服务器状态对应的日志文件    -> MASTER_LOG_POS=3775;  //对应日志的位置
#启动从服务器功能mysql> start slave; 

  到这里你就可以通过在主服务器建表,插入数据来测试看看从服务器是否会更新数据啦。测试章我就不再往下写了。

原创粉丝点击