修改主从配置文件
修改主配置文件
[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 </tmp/1.sql
配置从服务器
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