mysql多实例主从复制

修改主从配置文件

修改主配置文件

[mysqld3306]

server_id=3306

binlog_format = mixed

log-bin = /data/mysql/mysql_3306/log/mysql3306_bin 

[mysqld3307]

server_id=3307



说明:主从的server-id不能一致,同时主必须开启二进制日志,格式我这里设置的mix,一主一从这里从不需要开启二进制日志;

重启mysql服务

mysqld_multi stop 3306 --password=redhat

mysqld_multi start 3306 --password=redhat

在主服务器上创建用于复制的账号

#mysql -S /tmp/mysql_3306.sock -predhat

mysql> grant replication slave on *.* to 'rep'@'192.168.1.%' identified by 'redhat';

mysql> flush privileges;

记录主服务器bin日志的信息

mysql> show master status;

主要是记录红框里面的两个值,后面有用

主锁表备份

mysql > flush tables with read lock;

#mysqldump -uwangfang -predhat -A -B -F --master-data=1 --single-transaction --events >1.sql

说明:把该备份使用SCP方式传到从服务器

备份完成之后释放锁:mysql > unlock tables;

从库导入备份

mysql  -uroot -predhat


配置从服务器

mysql> change master to master_host="192.168.1.253",master_user="rep",master_password="redhat",master_log_file="mysql3306_bin.000002",master_log_pos=406;


参数解释:MASTER_HOST  :  设置要连接的主服务器的ip地址

       MASTER_USER  :  设置要连接的主服务器的用户名

       MASTER_PASSWORD  :  设置要连接的主服务器的密码

       MASTER_LOG_FILE  :  设置要连接的主服务器的bin日志的日志名称,即第3步得到的信息

       MASTER_LOG_POS  :  设置要连接的主服务器的bin日志的记录位置,即第3步得到的信息,(这里注意,最后一项不需要加引号。否则配置失败)

mysql> start slave;     开启复制功能

mysql> show slave status\G


如果两个都是YES表示复制没有问题

只允许从库读,不允许从库写

修改配置文件,加上read-only参数

read-only

你可能感兴趣的:(mysql多实例主从复制)