欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  数据库

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

程序员文章站 2024-02-17 19:20:52
...

MySQL的复制过程:每执行一个写操作,它都会往自己的数据库中存一份,与此同时这个写操作也会存储在二进制日志文件中一份,并且把

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主从复制,单台服务器上实施

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