linux 数据库数据同步,linux下mysql主从复制,实现数据库同步

运行环境:

查看linux版本命令:lsb_release -a

主服务器:centos release 6.5 mysql 5.6.10-log  IP:172.17.200.25

从服务器:centos release 6.5 mysql 5.6.10-log  IP:172.17.200.26

主服务器dashi数据库

mysql默认配置文件,如不特殊指定默认为/etc/my.cnf

mysql配置文件查找顺序:/etc/my.cnf /etc/mysql/my.cnf ~/.my.cnf

我是默认设置 /etc/my.cnf

进入主服务 msyql -uroot -p

一:主服务

1.1、创建一个复制用户dashi,具有replication slave 权限。

mysql>grant replication slave on *.* to 'dashi'@'172.17.200.26' identified by 'dashi';

mysql>flush privileges;

1.2、编辑my.cnf文件

vim /etc/my.cnf

增加 server-id=107

log-bin=bin.log 文件路径自己定(推荐绝对路径)

1.3 重启mysql

service mysqld restart

1.4、设置读锁

mysql>flush tables with read lock;

1.5、得到binlog日志文件名和偏移量(此处记住File名称和Position值,后面slave服务器配置时需要用到)

mysql> show master status;

+------------+------------+--------------+--------------------------------------------------+-------------------+

| File | Position | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set |

+------------+------------+--------------+--------------------------------------------------+-------------------+

| bin.000031 | 1011406487 | | information_schema,mysql,performance_schema,test | |

+------------+------------+--------------+--------------------------------------------------+-------------------+

1 row in set (0.00 sec)

1.6、备份要同步的数据库

mysqldump -uroot -p  test>test.sql

1.7解锁

mysql>unlock tables;

二:从服务器(172.17.200.26)

2.1、编辑my.cnf文件

vim /etc/my.cnf

增加 server-id=2

2.2 重启mysql

service mysqld restart

2.3、对从数据库进行相应设置

此处要注意logfile的名称和position的值,其余host、user和password为主数据库设置的账号和密码

mysql> stop slave;

Query OK, 0 rows affected (0.00 sec)

mysql> change master to

-> master_host='172.17.200.25',

-> master_user='dashi',

-> master_password='dashi',

-> master_log_file='bin.log.000001',

-> master_log_pos=713;

mysql> start slave;

Query OK, 0 rows affected (0.00 sec)

mysql> show slave status\G;

在这里主要是看:

Slave_IO_Running=Yes

Slave_SQL_Running=Yes

三、测试:

上述项配置完以后可查看master和slave上线程的状态。在master上,你可以看到slave的I/O线程创建的连接:在master上输入show processlist\G;

mysql> show processlist \G;

*************************** 1. row ***************************

Id: 10865

User: dashi

Host: 172.17.200.25:37369

db: dashi

Command: Sleep

Time: 7

State:

Info: NULL

*************************** 2. row ***************************

Id: 10866

User: dashi

Host: 172.17.200.25:37370

db: dashi

Command: Sleep

Time: 7

State:

Info: NULL

*************************** 3. row ***************************

Id: 10873

User: dashi

Host: 172.17.200.26:37928

db: dashi

Command: Execute

Time: 1

State: Sending data

Info: select count(1) from trade_click where link=?

*************************** 4. row ***************************

Id: 10874

User: dashi

Host: 172.17.200.26:37929

db: dashi

Command: Sleep

Time: 9

State:

Info: NULL

*************************** 5. row ***************************

Id: 10882

User: dashi

Host: 172.17.200.26:37962

db: dashi

Command: Sleep

Time: 78

State:

Info: NULL

ERROR:

No query specified

3.1、在主数据库:192.168.0.107上添加新数据

3.2、在从库查找记录,是否存在

四:总结

主服务器master记录数据库操作日志到Binary log,从服务器开启i/o线程将二进制日志记录的操作同步到relay log(存在从服务器的缓存中),另外sql线程将relay log日志记录的操作在从服务器执行,从而达到主从复制。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值