MYSQL的master/slave数据同步配置
出自Centos
测试环境 centos5.2 mysql-server-5.0.45-7.el5
mysql数据同步备份
A服务器: 192.168.1.234 主服务器master B服务器: 192.168.1.41 副服务器slave
A服务器设置
[root@localhost ~]# mysql -u root -p Enter password: Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 2 Server version: 5.0.45 Source distribution Type 'help;' or '\h' for help. Type '\c' to clear the buffer. mysql> GRANT FILE ON *.* TO backup@192.168.1.41 IDENTIFIED BY '1234'; Query OK, 0 rows affected (0.00 sec) mysql> mysql> exit Bye [root@localhost ~]#
上面是Master开放一个账号backup密码1234给IP:192.168.1.41有档案处理的权限
[root@localhost www]# mysqladmin -u root -p shutdown Enter password: [root@localhost www]#
上面临时关闭master数据库
[root@localhost www]# tar -zcvf /tmp/mysql.tar.gz /var/lib/mysql
备份Master所有数据库..通常都用tar指令. 编辑/etc/my.cnf,在[mysqld]区段内加入参数 log-bin=/var/run/mysqld/mysqld-bin server-id=1 binlog-do-db=bbs_bei 然后重启A数据库 [root@localhost log]# /etc/init.d/mysqld restart 此时因为有加入log-bin参数,因此开始有index产生了,在/var/run/mysqld目录下有.index档案纪录数据库的异动log.
B服务器设置
设定/etc/my.cnf 在[mysqld]区段加入
master-host=192.168.1.2 master-user=backup master-password=1234 master-port=3306 server-id=2 master-connect-retry=10 预设重试间隔10秒 replicate-do-db=bbs_bei 告诉slave只做bbs_bei数据库的更新 log-slave-updates
将A上的mysql.tar copy到B上
用ftp传B的/tmp
9.解压缩
- cd /var/lib/
[编辑] 参考资料
http://www.5ilinux.com/mysql01.html http://www.enet.com.cn/article/2007/0917/A20070917830230.shtml
