Mysql主从架构

Mysql主从架构

1. 克隆虚拟机

克隆的虚拟机的网络适配,使得虚拟机可以进入局域网

  • vi /etc/sysconfig/network-scripts/ifcfg-eth0
  • 删除 HWADDR所在行
    UUID所在行
  • 将/etc/udev/rules.d/目录中的
    70-persistent-net.rules文件删除
  • 重启虚拟机:reboot

2. 两台主机,各自安装mysql

参考之前的mysql安装过程即可.

一台做主机,一台做从机。

3. 搭建数据库

主机和从机上的库名一致

4. 配置"主机"

4.1 配置

找到 /etc/my.cnf
在[mysqld]下配置:

server-id=9        // id
log-bin=zhj-bin    // 二进制日志文件的名称,有此配置即为“主机”
binlog-do-db=db9   // 要记录二进制日志的数据库,可以有多个,如下
binlog-do-db=db10
binlog-do-db=db11 
binlog_format=MIXED  // 兼容 日志和read-commit
expire_logs_days=10  // 日志超时时间

4.2 重启主机

重启主机:service mysqld restart

4.3 查看主机状态

查看主机状态:

mysql>show master status;
*记录下file字段值,和position字段值,要告知给从机

5. 配置"从机"

5.1 配置

找到 /etc/my.cnf
在[mysqld]下配置:

server-id=10
replicate-do-db=db9 #要复制的哪个库
master-connect-retry=60 #60s后重连主机

5.2 同步数据

同步主从数据

如果主机已经有数据,则需要将数据同步到从机

#主机导出数据库db9中的数据:
[root@zhj ~]# mysqldump -u root -h 192.168.1.66 -p db9 > /root/hh.sql (之后输入密码即可)
#从机登录mysql,并选择数据库db9,然后执行如下:
mysql> use db9;
mysql> source /root/hh.sql;

5.3 重启从机

重启从机

[root@zhj ~]# service mysqld restart

5.4 主从同步

[root@zhj ~]# mysql -u root -p111111 # 登录mysql
mysql> slave stop;   #停止slave同步进程
mysql> change master to master_host='192.168.1.66',master_user='root'
						,master_password='123',master_log_file='zhj-bin.000001',master_log_pos=106;
mysql> slave start;    #开启slave同步进程

5.5 查看从机状态

mysql> SHOW SLAVE STATUSG   #查看slave同步信息(G后不要加分号)

注意查看:
Slave_IO_Running: Yes
Slave_SQL_Running: Yes
以上这两个参数的值为Yes,即说明配置成功!

6. 细节

mysql的bin-log和read-commit有冲突

需要在主机的my.cnf的[mysqld]中配置:

binlog_format=mixed //即可

原文地址:https://www.cnblogs.com/npeng/p/14338713.html