MYSQL 主从复制

来源:互联网 发布:有关网络暴力的名言 编辑:程序博客网 时间:2024/06/02 04:32

yum安装mysql

yum install mysql mysql-server mysql-devel -y


在主服务器上授权一个复制用户

grant replication slave, replication client on *.* to repl@'%' identified by '123456';


在master和slave上创建不同的server_id

master:

[mysqld]

server_id=1

slave:

[mysqld]

server_id=2


在master上配置bin-log

master:

[mysqld]

log-bin=master-bin

在slave上配置relay-log

slave:

[mysqld]

relay-log=relay-bin

在master上执行export导出数据

mysqldump  --single-transaction --master-data=2 <数据库的名字> > backup.sql

关于master-data为什么要设置为2,可以参考这篇文章: http://blog.csdn.net/seteor/article/details/17263509


在从库上恢复主库导出的文件

注意backup.sql里面是没有创建数据库和选择数据库的命令的, 可能需要你手动调整。

mysql  < backup.sql


在从库上执行change master,其中log_file和log_pos两个参数需要参考backup.sql或者在主上面执行show master status查看参数

CHANGE MASTER TO \

MASTER_HOST='172.17.0.2', \

MASTER_PORT=3306, \

MASTER_USER='repl', \

MASTER_PASSWORD='123456', \

MASTER_LOG_FILE='master-bin.000001', \

MASTER_LOG_POS=554 \

;

在从库上执行start slave

start slave;


在从库上执行show slave status状态:

show slave status\G


             Slave_IO_Running: Yes
            Slave_SQL_Running: Yes













0 0