MySQL-5.5.33主从复制
admin
2023-05-28 12:01:27
0次

搭建主从同步需要在两个电脑上分别安装 MySQL ,我这里安装的是 CentOS6.7 64位,MySQL-5.5.33。

MySQL 是二进制包安装的:http://aby028.blog.51cto.com/5371905/1892818

两台的操作是一样的,要求能够登陆 mysql 数据库即可。

主从地址如下:

master:192.168.133.128

slave:192.168.133.132

ifconfig eth0 | grep "inet addr" | awk '{print $2}' | cut -d: -f2

MySQL-5.5.33主从复制

MySQL-5.5.33主从复制

 

环境介绍:

cat  /etc/redhat-release

uname -a    

MySQL-5.5.33主从复制

 

配置主库的 my.cnf 文件,为了方便操作过滤掉开头是 #,$  的行

cat /etc/my.cnf | grep -v ^# | grep -v ^$ > tmp.log

cat tmp.log > /etc/my.cnf

MySQL-5.5.33主从复制

 

编辑 /etc/my.cnf 文件

server-id       = 1          

log-bin=mysql-bin    

#max_binlog_size=500M

#binlog-do-db=test

#binlog-ignore-db=test1

skip-name-resolve

lower_case_table_names=1

 

MySQL-5.5.33主从复制

以上参数介绍:

server-id       = 1  #表示服务器ID,可以自定义,在主从中是唯一的且必须为数字

log-bin=mysql-bin      #表示启用mysql二进制日志,必须要启动,否则主从不会生效

#max_binlog_size=500M   #表示每个binlog文件最大500M,但一条记录不会写在两个日志中,所以日志有时会超500M

#binlog-do-db=test    #表示要同步的数据库名字,如果是多个数据库,在多加一行就可以

#binlog-ignore-db=test1   #表示不需要同步的数据库名字,如果是多个数据库,在多加一行就可以

skip-name-resolve      #忽略主机名的方式访问

lower_case_table_names=1     #忽略数据库表名大小写  

如果将 binlog-do-db=test ,binlog-ignore-db=test1   不写或是注释则表示为同步所有数据库,我这里就是同步所有数据库    

修改过 my.cnf 文件后需要重启 mysql 服务

/etc/init.d/mysqld restart

MySQL-5.5.33主从复制

 

 

登陆主库,并创建一个账号并授权,专门用于主从同步

创建账号之后别忘记刷新权限

grant replication slave on *.* to yuci@'%' identified by '123456';

flush privileges;    

MySQL-5.5.33主从复制

检查自己刚才的操作

select user,host from mysql.user;

show grants for yuci@'%';

MySQL-5.5.33主从复制

 

进行锁表,锁表后将只能读取不能创建或插入任何信息

flush table with read lock;

MySQL-5.5.33主从复制

 

查看 binlog 的文件名以及 pos 位置节点

show master status;    

MySQL-5.5.33主从复制

 

在从库上用刚才创建的用户登陆主库,测试两台数据库是否连接通常

mysql -uyuci -p123456 -h292.168.133.128    

MySQL-5.5.33主从复制

 

新开一个远程界面,连接主库并将导出数据库。(保证之前的 mysql 登陆界面不要退出)    

在将新导出的 test.sql 文件通过 scp 传给从库

mysqldump -uroot -p123456 --events -A -B > /root/test.sql

scp test.sql root@192.168.133.132:/root

yes

MySQL-5.5.33主从复制

 

回到主库,解锁

unlock tables;

MySQL-5.5.33主从复制      

在从库上将刚才的 test.sql 文件导入到数据库

mysql -uroot -p123456 < /root/test.sql        

MySQL-5.5.33主从复制

 

编辑从库上 my.cnf 文件,将 server-id 修改为 2

vim /etc/my.cnf

server-id       = 2      

MySQL-5.5.33主从复制

 

修改了 my.cnf 文件,需要重启 mysql

/etc/init.d/mysqld restart      

MySQL-5.5.33主从复制

 

登陆 mysql 配置从库的同步参数

CHANGE MASTER TO

MASTER_HOST='192.168.133.128',

MASTER_PORT=3306,

MASTER_USER='yuci',

MASTER_PASSWORD='123456',

MASTER_LOG_FILE='mysql-bin.000001',

MASTER_LOG_POS=107;

MySQL-5.5.33主从复制

以上参数配置

CHANGE MASTER TO

MASTER_HOST='192.168.133.128',            #表示主库的IP

MASTER_PORT=3306,          #表示主库的端口

MASTER_USER='yuci',        #表示主库上允许同步的用户

MASTER_PASSWORD='123456',     #表示同步用户的密码

MASTER_LOG_FILE='mysql-bin.000001',         #表示从哪个binlog文件开始同步

MASTER_LOG_POS=107;       #表示从binglong文件的哪个pos节点位置开始同步

 

在从库上执行 start slave 操作,IO连接

start slave;    

MySQL-5.5.33主从复制

 

查看当前的状态,关键有以下几个内容

show slave status\G;

MySQL-5.5.33主从复制

关键查看以下参数

Slave_IO_State: Waiting for master to send event

Slave_IO_Running: Yes           #主从之间的网络

Slave_SQL_Running: Yes        #主从之间的数据

Seconds_Behind_Master: 0     #从库落后主库的秒数

 

在主库中创建一个数据库,测试主从是否同步

create database haha;    

MySQL-5.5.33主从复制

 

在主库中查看

show databases;

MySQL-5.5.33主从复制

 

在从库中查看,主从同步成功

show databases;    

MySQL-5.5.33主从复制

 

 

 

 

zhao

相关内容

热门资讯

空调连续工作多久需要停机休息 空调连续工作的时间取决于多个因素,包括空调的型号、功率、使用环境和维护情况等。一般来说,空调可以连续...
空调哪个符号是除湿的 空调除湿功能通常用一个水滴形状的符号表示。不同品牌和型号的空调遥控器可能会有所差异,但一般来说,除湿...
格力空调多长时间加一次氟利昂 1、一般情况下,空调对氟利昂的使用量是非常小的,所以在空调使用了四年左右的时候再考虑加也没问题。2、...
空调用多长时间需要加氟一次 一般情况下是五年。当出现以下这几种情况时,空调才需要加氟。1、空调的室内机和室外机各有两个接口,当接...
格调生活·C标思享荟:卡萨帝在... 9月12日的郑州龙湖金融岛,夜风轻拂,灯光璀璨。“C标时刻共传奇——卡萨帝思享荟暨20周年品牌盛典郑...
品牌价值破千亿、高端份额持续领... 9月12日,“C标时刻共传奇——卡萨帝思享荟暨20周年品牌盛典郑州站”在郑州龙湖金融岛举办。2026...
空调主板坏了修800还是换新的 空调主板坏了是修还是换新,需要考虑多个因素,以下是一些建议:1. 维修成本:如果维修费用较低,比如 ...
空调开多久需要休息多长时间 问题:空调开多久需要休息多长时间回答:1、在使用空调的过程中,一般空调开7~8个小时左右需要休息2~...
中央空调多长时间清洗一次 1、一般空调开机前清洗一次即可,空调开机中间时段再清洗一次,空调关机时清洗一次,这样比较合理。2、空...
中央空调氟利昂多久加一次 看空调制热和制冷程度,很多人的观点认为氟利昂必须一年放一次,其实这个观点是错误的,理解上面有点偏差,...