首页 > 代码库 > mysql数据库迁移文档

mysql数据库迁移文档

数据库迁移文档

 

一、需求

确保数据库稳定的运行,为开发人员提供方便的测试数据库和生产数据库的环境。

 

二、数据库整体架构(master/slave)

 

三、数据库迁移备份还原操作

  1. 测试数据库导出操作

mysqldump -uroot -p123456 miss8 > miss8.sql

  1. Master节点,Slave节点导入数据库

mysql -uroot -piminerroot miss8 < miss8.sql

四、数据库迁移具体配置

  1. 一定要确保Master节点和Slave节点数据相同
  2. 配置Master节点

在Master的数据库中建立一个备份帐户:每个slave使用标准的MySQL用户名和密码连接master。进行复制操作的用户会授予REPLICATION SLAVE权限。用户名的密码都会存储在文本文件master.info中

命令如下:

mysql > GRANT REPLICATION SLAVE,RELOAD,SUPER ON *.*  TO backup@‘192.168.32.47‘  IDENTIFIED BY ‘123456‘;

GRANT REPLICATION SLAVE,RELOAD,SUPER ON *.*  TO backup@‘192.168.32.95‘  IDENTIFIED BY ‘123456‘;

建立一个帐户backup,并且只能允许从47,95这个地址上来登陆,密码是123456。

修改Master配置文件(/etc/my/cnf)

server-id=1
log-bin=mysql-bin

binlog-do-db=gquan_miss8   (只同步gquan_miss8)

servicemysqld restart (重启mysql服务)

show masterstatus; (查看master节点状态)

 

  1. 配置Slave节点(/etc/my/cnf)

#服务器id

server-id= 2

##同步数据库name  

replicate-do-db=miss8_master

##不需要同步数据库name

replicate-ignore-db=mysql

relay-log-index=slave-relay-bin.index

##中继日志

relay-log=slave-relay-bin

##将复制事件写进日志

log_slave_updates= 1

read_only=1

  1. 启动Slave节点

接下来就是让slave连接master,并开始重做master二进制日志中的事件。你不应该用配置文件进行该操作,而应该使用CHANGE MASTER TO语句,该语句可以完全取代对配置文件的修改,而且它可以为slave指定不同的master,而不需要停止服务器。如下

mysql>change master tomaster_host=‘192.168.32.96‘, master_user=‘backup‘, master_password=‘123456‘,master_log_file=‘mysql-bin.000002‘, master_log_pos=4;

mysql> slave start;  //开启slave服务

 

可以用SHOW SLAVESTATUS语句查看slave的设置是否正确:

mysql> SHOW SLAVE STATUS\G

 

Slave_IO_Running, 和Slave_SQL_Running是yes 表明slave节点配置正常

五、数据库使用注意事项

1.常用命令

//查看master状态

SHOW MASTERSTATUS\G  

//查看slave状态

SHOW SLAVE STATUS\G

//查看master和slave上线程的状态。在master上

show processlist\G; 结果如下

 

最后提醒一下slave节点不允许写操作,不能在slave上面直接操作.

mysql数据库迁移文档