《2022年mysql主从同步搭建修改优化版 .pdf》由会员分享,可在线阅读,更多相关《2022年mysql主从同步搭建修改优化版 .pdf(3页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、MySQL主从同步配置 _ver1一、环境主:master 操作系统:centos 5.5 IP:192.168.3.178 MySQL版本:5.0.77 从:slave操作系统:centos 5.5 IP:192.168.3.179 MySQL版本:5.0.77 二、创建数据库,这个数据库供主从同步之用分别登录 master 和 slave,然后在他们上创建库tongbu 创建数据库:create database tongbu;三、master 机和 slave机的相关配置1、修改 master 机器中 mysql 配置文件 f,该文件在/etc 目录下在mysqld 配置段添加如下字段s
2、erver-id=1#主库的 server-id 一般为 1,从库为 2 log-bin=log#启用 bin-log,主从同步需要通过bin-log 来进行同步#binlog-do-db=tongbu/需要同步的数据库,如果没有本行,即表示同步所有的数据库。#该参数是危险的,尽量不要在主库上使用,该参数在跨库更新的时候会导致主从数据不统一,这里我们只给出该参数的作用但不使用该参数。#binlog-ignore-db=mysql/被忽略的数据库。#该参数同样是危险的,尽量不要使用,同样,我们不在这里使用这个参数。在 master 机上为 slave机添加一同步帐号:grant replicat
3、ion slave on*.*to tongbu192.168.3.179 identified by tongbu;重启 master 机的 mysql 服务:service mysqld restart 用 show master status 命令看日志情况mysqlshow master status;+-+-+-+-+|File|Position|Binlog_Do_DB|Binlog_Ignore_DB|+-+-+-+-+|log.000001|98|tongbu|mysql|+-+-+-+-+1 row in set(0.00 sec)2、修改 slave 机中 mysql 配置
4、文件同样在 mysqld 字段下添加如下内容server-id=2 名师资料总结-精品资料欢迎下载-名师精心整理-第 1 页,共 3 页 -master-host=192.168.1.178 master-user=tongbu master-password=tongbu master-port=3306 master-connect-retry=60 replicate_wild_do_table=tongbu.%#需要同步的数据库,用逗号隔开,%表示这个库里的所有表,在这里由于我只同步库:tongbu,所以在这里我只要写上tongbu.%之后从库就只同步该库而不会影响到其他库。这个参数可
5、以很好的替代前面的binlog-do-db 与 binlog-ignore-db 参数,防止主从数据不统一。之后保存设置,重启slave 机的 mysql 在 slave 机中进入 mysql mysqlstart slave;mysqlshow slave statusG;如果 Slave_IO_Running、Slave_SQL_Running状态为 Yes则表明设置成功。四、主库中本身有数据的做法(f 的配置与上面的完全相同,以下操作是指在完全配置好的前提下进行)1、从库执行stop slave;2、如果允许停止业务,进入主库,进入需要进行同步的库,执行锁表:flush tables w
6、ith read lock;这一步的目的是使我们在制作主从的过程中,主库中不会有新的数据,否则会给我们的同步设置带来麻烦3、完整的导出主库中需要同步的那个库4、进入主库查看日志文件、日志节点并记录:show master statusG 5、从库执行在从库中导入从主库中导出的内容(mysqldump)6、进入主库执行解锁:unlock tables;7、进入从库执行change 命令切换同步日志文件与节点:change master to master_host=192.168.3.178,master_user=tongbu,master_password=tongbu,master_log
7、_file=刚才记录的日志文件名称,master_log_pos=刚才记录的日志节点;8、开启同步进程,执行:slave start;五、测试主从服务器是否能同步在主服务器上面新建一个表,必须在tongbu 数据下mysql use tongbu;Database changed mysql create table test(id int,name char(10);Query OK,0 rows affected(0.00 sec)mysql insert into test values(1,zaq);Query OK,1 row affected(0.00 sec)mysql inse
8、rt into test values(1,xsw);Query OK,1 row affected(0.00 sec)mysql select*from test;+-+-+名师资料总结-精品资料欢迎下载-名师精心整理-第 2 页,共 3 页 -|id|name|+-+-+|1|zaq|1|xsw|+-+-+2 rows in set(0.00 sec)在从服务器查看是否同步过来mysql use tongbu;Database changed mysql select*from test;+-+-+|id|name|+-+-+|1|zaq|1|xsw|+-+-+2 rows in set(
9、0.00 sec)说明已经配置成功。五、库业务不能停的情况下为从库制作镜像:案例:服务器 1 号:主服务器 2 号:从现在由于负载问题需要上架服务器3 号同样为 1 号的从服务器。但是 1 号库不能停,2 号也不能停,主从同步进程也不能停(要求苛刻)。可以这样做:在主:mysqldump-uroot-pxxxx-h127.0.0.1-databases db1 db2 db3-master-data=1 bak.sql 3 号服务器 slave stop;之后将 bak.sql 导入 3 号从服务器salve start;3 号服务器会自动从导出的那一刻的节点更新。因为-master-data=1 这个参数在到处sql 文件后会在最下方加上change 语句。如果-master-data=0,则不会带有。非常的方便,但仅适合库不是太大的情况,该案例导出的库一共6G。名师资料总结-精品资料欢迎下载-名师精心整理-第 3 页,共 3 页 -