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.解压缩

  1. cd /var/lib/


[编辑] 参考资料

http://www.5ilinux.com/mysql01.html http://www.enet.com.cn/article/2007/0917/A20070917830230.shtml

个人工具