您的位置:首页 > 数据库 > MySQL

MYSQL 5 同步 MYSQL数据同步备份

2011-08-29 21:00 441 查看
MYSQL 5 同步

MYSQL数据同步备份

A服务器: 192.168.1.2 主服务器master

B服务器: 192.168.1.3 副服务器slave

A服务器设置

  #mysql –u root –p

  mysql>GRANT FILE ON *.* TO backup@192.168.1.3 IDENTIFIED BY ‘1234';

  mysql>exit

  上面是Master开放一个账号backup密码1234给IP:192.168.1.3有档案处理的权限

  mysqladmin –u root –p shutdown

  导出Master的数据库到slave的机器,可以选择导出需要同步的数据库

  在A机器上修改/etc/my.cnf

  在[mysqld]区段内加入参数

  log-bin=mysql-bin

  server-id=1

  binlog_do_db = gbbbs(要同步的数据库)

  binlog_ignore_db = mysql,test,information_schema (不需要同步的库,5.0 有information_schema这个库)

  重启A服务器mysql

  B服务器设置

  设定/etc/my.cnf

  在[mysqld]区段加入

  server-id = 2 (如果还有slave用户,他们的ID也随之增加,如server-id=3)

  master-host = 192.168.112.71

  master-user = backup

  master-password = 1234

  replicate-do-db = gbbbs

  #replicate-do-db = database2

  master-port=3306

  master-connect-retry = 60

  重启B服务器的MYSQL

  在数据库的文件夹里有master.info文件,用来查看同步信息

  其实就是MYSQL Replication

主服务器的日志表名字查询:

mysql> show master status;

从服务器:

mysql>slave stop;

mysql>slave start;

mysql>show slave status;

-

如果看到下面的,就说明已经可以数据库同步了。

-

Slave_IO_Running: Yes

Slave_SQL_Running: Yes

[迁移数据库数据]

Am struggling with getting slaving working, and I'm wondering
someone could help. Not necessarily solve it, but SHOW ME THE TROUBLESHOOTING method that is typical here.

What I've done:

1. on master box (note I did not try --master-data)

mysql> flush tables with read lock;

mysql> show master status\G;

$ mysqldump -u root -A > all_database.mysql

mysql> unlock tables;

2. copy to slave box

3. on slave box

mysql> stop slave; reset slave;

$ mysql -u root < all_database.mysql

4. change master to ... (details from show master status above)

5. mysql> start slave
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: