Mysql主从,主备
数据备份备到远程,备到本机服务器挂了就没办法了
基于bin-log实现
从有一个master-info文件(中继日志),从主的二进制文件到中继日志,中继日志生成mysql语句。
Show master status;
复制配置文件
[mysqld]
datadir=/data/mysql55/var
basedir=/usr/local/mysql55
socket=/var/lib/mysql/mysql.sock
user=mysql
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
log-bin=mysql-bin
server-id = 1
[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
replicate-do-db =all
Vi /etc/my.conf replicate后面改成all
再复制到从机器上,server-id不能一样
从不要bin-log
Replicate那行不要,因为同步哪个库是主来定的
History看历史命令的,|grep 加你想找的命令的关键词 !加条数执行
然后主上grant replication slave on *.* to ‘root‘@‘192.168.245.130‘ identified by ‘1‘;
看下主上的show master status;
从只能从Position后同步
然后指定masterIP和请求同步的点,去从上粘贴命令change master to(配置文件里的)
change master to
master_host=‘192.168.1.103‘,master_user=‘tongbu‘,master_password=‘123456
‘,master_log_file=‘mysql-bin.000006‘,master_log_pos=98;
修改成服务器的IP,user改成root,master端的文件,和点
然后在从上启动slave start;
提示要fix在file里,SET GLOBAL server_id=149;
这个只是临时生效,要在配置文件里改的,
然后验证show slave status\G
原文:http://mustafayin.blog.51cto.com/12558614/1906150