MySQL 5.6主从复制及遇到的错误


MySQL的复制过程:每执行一个写操作,它都会往自己的数据库中存一份,与此同时这个写操作也会存储在二进制日志文件中一份,并且把它们保存为事件,所以在这个数据库上,前端数据每执行一个写操作或者有可能引起修改的操作,都会保存一个事件,我们就把这个事件通过mysql服务器3306端口发送给另外一台服务器,另外一台服务器把这个事件接收下来,接受下来以后先保存在本地的日志文件中,而后从这个日志文件中一次读一个事件并且在本地执行一下,然后保存在数据库里面,这个过程就叫mysql的复制。

安装mysql的过程就不讲了,直接开始我们的主从复制的配置过程:

1、 开启master和slave的二进制日志功能,也就是在mysql的主配置文件/usr/local/mysql/etc/my.cnf中,添加log_bin=mysql-bin,将master的server_id 设置为1,slave的server_id=2.

下面是master的配置文件

[root@localhost ~]# cat /usr/local/mysql/etc/my.cnf | grep -v ^#| grep -v ^$
[mysqld]
 server_id = 1
 log_bin=mysql-bin
 log-bin-index = mysql-bin.index
 log-error = /var/log/mysql/mysql-error.log
 general_log = 1
 general_log_file = /var/log/mysql/mysql.log
 user = mysql
 basedir = /usr/local/mysql
 datadir = /datadir
 port = 3306
 socket = /var/lib/mysql/mysql5.sock
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES


接下来是slave的配置文件

[root@wordpress ~]# cat /usr/local/mysql/etc/my.cnf | grep -
v ^# | grep -v ^$
[mysqld]
 server_id = 2
 log_bin=mysql-bin
 log-bin-index = mysql-bin.index
 general_log = 1
 general_log_file = /var/log/mysql/mysql.log
 log-error=/var/log/mysql/mysql.error
 basedir = /usr/local/mysql
 datadir = /database
 port = 3306
 socket = /var/run/mysqld/mysql.sock
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES

推荐阅读:

Ubuntu下Nginx做负载实现高性能WEB服务器5---MySQL主主同步

生产环境MySQL主主同步主键冲突处理

MySQL主从失败 错误Got fatal error 1236

MySQL主从复制,单台服务器上实施

  • 1
  • 2
  • 3
  • 下一页

相关内容