MYSQL 复制范例详解
时间:2006-10-09 来源:yangiori007
MYSQL 复制范例详解
首先准备主从服务器
主A-192.168.100.1
从B-192.168.100.2
上面安装尽量为相同版本的MYSQL
如果使用不同版本时,则从库的MYSQL版本可以高于主库,反之不然 1.配置主库/etc/my.cnf my.cnf中要有一下两句:
在[mysqld]添加如下参数 server-id = 1
log-bin
一般来说,my.cnf应该在/etc下面,如果是rpm安装,也可以在/var/lib/mysql下面。 2.锁主库表 mysql> flush tables with read lock;
注意,锁表之后,所有对于该数据库的写操作都将被禁止。
因此应该已经确切准备好下一步的操作之后,再按回车执行建议开两个窗口,
一个用于mysql,一个用于命令行 3. 备份主库数据文件
cd /dateDirectory #数据文件存放目录
cp -r mysql mysql_0227
上面假设是rpm缺省安装。在文件复制过程中,就可以进行下一步了。 [编辑]记录二进制文件位置
回到刚才的mysql窗口 mysql> show master status;
得到如下结果: +---------------+----------+--------------+------------------+
| File | Position | Binlog_Do_DB | Binlog_Ignore_DB |
+---------------+----------+--------------+------------------+
| zx-bin.000002 | 98 | | |
+---------------+----------+--------------+------------------+
[编辑]解锁
待文件复制完成,就可以解锁了 mysql> unlock tables;
此时,主库已经恢复正常工作。以后的操作不会影响master的工作了。 [编辑]在主库生成复制用户权限
mysql> GRANT REPLICATION SLAVE ON *.* TO 'replman'@'%' IDENTIFIED BY 'xplus';
mysql> flush privileges;
[编辑]复制数据文件到从库
替换已经存在的从库data目录,并 chown -Rf mysql:mysql mysql
修改数据文件属性 [编辑]修改从库的my.cnf
方法同步骤1,但server_id要与其它服务器不同 [编辑]启动从库
重新启动从库 mysql >CHANGE MASTER TO
MASTER_HOST='192.168.100.1',
MASTER_USER='replman',
MASTER_PASSWORD='xplus',
MASTER_LOG_FILE='zx-bin.000002',
MASTER_LOG_POS=98;
其中,MASTER_HOST是主库IP,用户名密码在上面生成主库复制用户的命令中,日志文件名和位置在show master status步骤中得到 [编辑]启动复制
mysql >start slave
mysql >show slave status
BY:IORI
主A-192.168.100.1
从B-192.168.100.2
上面安装尽量为相同版本的MYSQL
如果使用不同版本时,则从库的MYSQL版本可以高于主库,反之不然 1.配置主库/etc/my.cnf my.cnf中要有一下两句:
在[mysqld]添加如下参数 server-id = 1
log-bin
一般来说,my.cnf应该在/etc下面,如果是rpm安装,也可以在/var/lib/mysql下面。 2.锁主库表 mysql> flush tables with read lock;
注意,锁表之后,所有对于该数据库的写操作都将被禁止。
因此应该已经确切准备好下一步的操作之后,再按回车执行建议开两个窗口,
一个用于mysql,一个用于命令行 3. 备份主库数据文件
cd /dateDirectory #数据文件存放目录
cp -r mysql mysql_0227
上面假设是rpm缺省安装。在文件复制过程中,就可以进行下一步了。 [编辑]记录二进制文件位置
回到刚才的mysql窗口 mysql> show master status;
得到如下结果: +---------------+----------+--------------+------------------+
| File | Position | Binlog_Do_DB | Binlog_Ignore_DB |
+---------------+----------+--------------+------------------+
| zx-bin.000002 | 98 | | |
+---------------+----------+--------------+------------------+
[编辑]解锁
待文件复制完成,就可以解锁了 mysql> unlock tables;
此时,主库已经恢复正常工作。以后的操作不会影响master的工作了。 [编辑]在主库生成复制用户权限
mysql> GRANT REPLICATION SLAVE ON *.* TO 'replman'@'%' IDENTIFIED BY 'xplus';
mysql> flush privileges;
[编辑]复制数据文件到从库
替换已经存在的从库data目录,并 chown -Rf mysql:mysql mysql
修改数据文件属性 [编辑]修改从库的my.cnf
方法同步骤1,但server_id要与其它服务器不同 [编辑]启动从库
重新启动从库 mysql >CHANGE MASTER TO
MASTER_HOST='192.168.100.1',
MASTER_USER='replman',
MASTER_PASSWORD='xplus',
MASTER_LOG_FILE='zx-bin.000002',
MASTER_LOG_POS=98;
其中,MASTER_HOST是主库IP,用户名密码在上面生成主库复制用户的命令中,日志文件名和位置在show master status步骤中得到 [编辑]启动复制
mysql >start slave
mysql >show slave status
BY:IORI
相关阅读 更多 +