mysql5.5主从配置

1.序

服务器为ubuntu,主数据库ip为192.168.37.101,从数据库ip地址为192.168.37.102

2.配置主库master同步复制时的选项

在mysql的配置文件中开启以下选项
server-id = 1 服务id
log_bin = mysql-bin 开启二进制日志文件
expire_logs_days = 10 日志过期时间(天)
max_binlog_size = 500M 单个日志最大空间
binlog_do_db = test 需要复制的数据库,如果复制多个添加新行即可
binlog_ignore_db = mysql 不需要进行复制的数据,如果需要忽略多个添加新行即可
重启mysql服务 sudo service mysql restart
可以通过pgrep mysql命令查看mysql是否启动成功

3.在主库master上创建同步复制时的用户并授权

创建用户
CREATE USER ‘slave’@’%’ IDENTIFIED BY ‘111111’;
授权
GRANT REPLICATION SLAVE ON . TO ‘slave’@’%’;
查看是否授权成功
select user,repl_slave_priv from user where user=’slave’;
在slave机器上测试是否可以连接master
mysql -h 192.168.37.101 -uslave -p111111

4.主库master锁表

flush tables with read lock;
注意:目前这个锁表的终端不要退出,否则这个锁就失效了,对于下面的操作可另开终端。

5.记录主库master的binlog文件名以及pos位置节点

show master status;
+——————+———-+————–+——————+
| File | Position | Binlog_Do_DB | Binlog_Ignore_DB |
+——————+———-+————–+——————+
| mysql-bin.000001 | 107 | test | mysql |
+——————+———-+————–+——————+
1 row in set (0.00 sec)
注意:在从数据库操作时候用得到文件名和位置,文件名是说读取主数据库的那个二进制文件来进行同步,从二进制文件的哪个位置开始

6.导出需要同步的数据库

第一种方法就是在主库锁表后,使用tar把master库直接打包,然后使用scp或者rsync把该打包文件弄到从库slave上

第二种方法就是在主库锁表后,我们直接使用mysqldump命令导出数据库,然后在从库上进行恢复。

注意以上两种方法,我们都需要进行在主库master锁表后进行操作。

通过第二种方法来导出需要同步的数据库,如下:
sudo mysqldump -uroot -p111111 test>test.sql
可以通过cat命令查看导出
通过scp命令把sql文件复制到slave机器上
sudo scp test.sql wjm@192.168.37.102:/home/wjm

7.配置从库slave同步复制时所需要的选项

在mysql的配置文件中开启以下选项
server-id = 2
重启mysql服务 sudo service mysql restart
可以通过pgrep mysql命令查看mysql是否启动成功

8.在从库slave上创建数据库需要同步的数据库并导入备份

创建数据库
CREATE DATABASE IF NOT EXISTS test DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
导入数据
mysql -uroot -p111111 test < /home/wjm/test.sql

9. 解锁主库master表

unlock tables;

10.设置从库slave与主库master同步

可先执行 stop slave命令
change master to master_host=’192.168.37.101’,
master_user=’slave’,
master_password=’111111’,
master_log_file=’mysql-bin.000001’,
master_log_pos=107,
master_connect_retry=100;

master_host表示是主库的IP
master_user表示主库master上允许同步的用户
maser_password表示同步用户的密码
master_log_file表示从哪个binlog文件开始同步
master_log_pos表示从该binlog文件的那个pos节点位置开始同步
master_connect_retry当重新建立主从连接时,如果连接建立失败,间隔多久后重试

11.在从库slave上开启同步

start slave;
可用命令show slave status\G;检查,同步是否正常。
查看同步是否主要是查看Slave_IO_Running与Slave_SQL_Running选项。
如果正常同步,这两选必须同时为YES。
如果Slave_IO_Running为NO,说明可能是从库与主库的网络不通。
如果Slave_SQL_Running为NO,说明很可能是从库与主库的数据不一致。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值