linux下 mysql 5.5 数据库主从复制配置
2016-05-09 14:30
821 查看
1、/etc/my.cnf 主数据库配置
#一般已存在
server-id = 1 #必须设置的,主库的 id
#需要进行复制的数据库
binlog-do-db = mydatabase #尽量不用,如果要过滤数据库,在从库中设置
#不需要进行复制的数据库
replicate-ignore-db = mysql #尽量不用,如果要过滤数据库,在从库中设置
replicate-ignore-db = test #尽量不用,如果要过滤数据库,在从库中设置
replicate-ignore-db = information_schema #尽量不用,如果要过滤数据库,在从库中设置
#生成的同步数据所需要的文件,序号从:syslog.000001开始
log-bin=mysql-bin #二进制文件
binlog_format=mixed #默认 采用混合模式,无特殊要求,就用混合模式
2、重启mysql,登陆Mysql,设置从数据库所需要的权限:可以从任何机器登陆,账号/密码:slave/123456
>grant replication slave,reload,super on *.* to 'slave'@'%' identified by '123456';
3、查看状态
>show master status
---------------------------------------------------------------------------------------------------
1、/etc/my.cnf 从数据库配置,由于Mysql版本从5.1.7以后开始就不支持“master-host”类似的参数,用配置文件设置主从同步时,出现:mysqld: unknown variable 'master-host=127.0.0.1'
#将配置文件中的server-id该为2
server-id = 2
#需要进行同步的数据库名称
replicate-do-db = mydatabase 过滤数据库,此参数用一下参数代替
replicate-wild-do-table=db_name.%
replicate-wild-ignore-table=mysql.%
2、重启mysql,登陆Mysql,设置同步设置,其中syslog.000001为日志文件,master_log_pos=0为日志开始复制的位置,即:从syslog.000001的0位置同步数据,日志文件和行号根据实际情况进行处理
>change master to master_host='192.168.1.253',master_user='slave',master_password='123456',master_log_file='syslog.000001',master_log_pos=0;
3、启动从数据库数据同步命令:
>start slave
4、查看从数据库同步状态,Slave_IO_Status,Slave_Io_Running,Slave_SQL_Running
>show slave status
Slave_io_running =yes
Slave_sql_running = yes
5、需要重新进行同步的时候,先停止同步服务器,重新设置,同步的日志文件master_log_file和同步起始位置master_log_pos:
stop slave
#一般已存在
server-id = 1 #必须设置的,主库的 id
#需要进行复制的数据库
binlog-do-db = mydatabase #尽量不用,如果要过滤数据库,在从库中设置
#不需要进行复制的数据库
replicate-ignore-db = mysql #尽量不用,如果要过滤数据库,在从库中设置
replicate-ignore-db = test #尽量不用,如果要过滤数据库,在从库中设置
replicate-ignore-db = information_schema #尽量不用,如果要过滤数据库,在从库中设置
#生成的同步数据所需要的文件,序号从:syslog.000001开始
log-bin=mysql-bin #二进制文件
binlog_format=mixed #默认 采用混合模式,无特殊要求,就用混合模式
2、重启mysql,登陆Mysql,设置从数据库所需要的权限:可以从任何机器登陆,账号/密码:slave/123456
>grant replication slave,reload,super on *.* to 'slave'@'%' identified by '123456';
3、查看状态
>show master status
---------------------------------------------------------------------------------------------------
1、/etc/my.cnf 从数据库配置,由于Mysql版本从5.1.7以后开始就不支持“master-host”类似的参数,用配置文件设置主从同步时,出现:mysqld: unknown variable 'master-host=127.0.0.1'
#将配置文件中的server-id该为2
server-id = 2
#需要进行同步的数据库名称
replicate-do-db = mydatabase 过滤数据库,此参数用一下参数代替
replicate-wild-do-table=db_name.%
replicate-wild-ignore-table=mysql.%
2、重启mysql,登陆Mysql,设置同步设置,其中syslog.000001为日志文件,master_log_pos=0为日志开始复制的位置,即:从syslog.000001的0位置同步数据,日志文件和行号根据实际情况进行处理
>change master to master_host='192.168.1.253',master_user='slave',master_password='123456',master_log_file='syslog.000001',master_log_pos=0;
3、启动从数据库数据同步命令:
>start slave
4、查看从数据库同步状态,Slave_IO_Status,Slave_Io_Running,Slave_SQL_Running
>show slave status
Slave_io_running =yes
Slave_sql_running = yes
5、需要重新进行同步的时候,先停止同步服务器,重新设置,同步的日志文件master_log_file和同步起始位置master_log_pos:
stop slave