Linux服务器开启rsync下MySQL设置主从同步的过程


1.从数据库服务器开启rsync

vi /etc/rsyncd.conf

编辑rsync配置

/usr/bin/rsync --daemon

启动rsync

2.停止日志收集服务器的crontab

/etc/init.d/cron stop

3.停止主数据库rsync

ps aux |grep rsync

kill 进程号

4.停止主数据库crontab

/etc/init.d/cron stop

6.在主数据库设置从数据库的同步帐号

GRANT REPLICATION SLAVE ON *.* TO 'name'@'ip' IDENTIFIED BY 'password';

7.编辑主数据库配置

vi /etc/my.cnf

在mysqld下增加

[mysqld]

log-bin   = /home/mysql/log/mysql-bin.log

server-id = 1

配置完需要重启mysql

./bin/mysqladmin -uroot -p shutdown

./bin/mysqld_safe &

5.登录主数据库,加上只读锁

flush tables with read lock;

6.获取二进制日志名和偏移量

show master status;

7.将主数据库数据库文件打包

tar -cvf data.tar data

8.恢复主服务器读写操作

unlock tables;

9.打包完发送至从服务器

rsync -ua d name@ip::modname

10.停止从服务器mysql

./bin/mysqladmin -uroot -p shutdown

11.从服务器解压文件

tar -xvf data.tar  -C /home/mysql

12.编辑从服务器配置

vi /etc/my.cnf

在mysqld下增加

[mysqld]

server-id = 2

其中server-id不要和主服务器的server-id重复

13.使用--skip-slave-start选项启动从数据库

./bin/mysqld_safe --skip-slave-start &

14.对从数据库服务器做相应设置,指定复制使用的用户,主数据库服务器的IP、端口以及开始执行复制的日志文件和位置

CHANGE MASTER TO

MASTER_HOST='ip',

MASTER_PORT=3306,

MASTER_USER='name',

MASTER_PASSWORD='password',

MASTER_LOG_FILE='日志名',

MASTER_LOG_POS=位置;

15.在从服务器上,启动slave

start slave;

16.查看slave状态

show slave status\G

相关内容