MySQL主从复制有异步模式、半同步模式、GTID模式以及多源复制模式,MySQL默认模式是异步模式。所谓异步模式,是指MySQL主服务器上I/O thread 线程将二进制日志写入binlog文件之后就返回客户端结果,不会考虑二进制日志是否完整传输到从服务器以及是否完整存放到从服务器上的relay日志中,这种模式一旦主服务(器)宕机,数据就会发生丢失。
环境:
1 [root@localhost ~]# cat /etc/redhat-release2 CentOS Linux release 7.2.1511(Core)3 [root@localhost ~]# uname -a4 Linux localhost.localdomain 3.10.0-327.el7.x86_64 #1 SMP Thu Nov 19 22:10:57 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux5 [root@localhost ~]#
View Code
MySQL版本:
mysql-5.7.22-linux-glibc2.12-x86_64.tar
主从复制IP规划:
主:192.168.112.220
从:192.168.112.221
部署步骤:
tar xf mysql-5.7.22-linux-glibc2.12-x86_64.tar.gzmkdir -p /applicationmv mysql-5.7.22-linux-glibc2.12-x86_64 /application/
ln -s /application/mysql-5.7.22-linux-glibc2.12-x86_64 /application/mysql
groupadd mysql
useradd mysql-g mysql -s /sbin/nologinmkdir -p /application/datachown -R mysql.mysql /application/mysqlchown -R mysql.mysql /application/mysql/*chown -R mysql.mysql /application/data
安装常用依赖库:
[root@localhost ~]# yum install cmake gcc gcc-c++ libaio-devel automake autoconf bison libtool ncurses-devel libgcrypt-devel libev-devel perl-Digest-MD5 perl-DBI perl-DBD-MySQL
编写配置文件my.cnf:
1 [client]2 port = 3306
3 socket = /tmp/mysql.sock4
5 [mysql]6 prompt="\u@db \R:\m:\s [\d]>"
7 no-auto-rehash8
9 [mysqld]10 user =mysql11 port = 3306
12 basedir = /application/mysql13 datadir = /application/data/mysql/
14 socket = /tmp/mysql.sock15 character-set-server =utf8mb416 skip_na