MySQL主从服务器配置_MySQL
MySQL主从服务器配置
主服务器(master)配置,主服务器配置很简单,只需要修改my.cnf配置文件中的两个地方。
修改my.cnf中的server_id属性,主服务器配置为1,即server-id=1。
修改my.cnf中的log-bin属性,例如可以设置为log-bin=/home/china/mysql/mysql-bin
从服务器(slave)配置。 www.bitsCN.com
修改my.cnf中的server_id属性,修改为与主服务器不同,如server-id=2
登录MySQL后,在命令行输入change master to master_host='master_ip',master_port=3306,master_user='username',master_password='password' ;
使用命令start slave 启动slave线程。
完成以上配置以后,我们可以在主服务器上查看master状态,使用命令show master status ;
同样,我们也可以在从服务器上查看从服务器的状态,show slave status ;
完成以上配置以后,我们就完成了MySQL主从服务器的配置,现在我们验证一下:
我们在主服务器上切换到test库上,执行SQL,create table userInfo(id int,name varchar(20));
使用show tables 命令查看,已经建立表userInfo.
这时我们到从服务器上看,表userInfo应该也已经建立起来了。
同时我们想主服务器表userInfo中插入数据的话,从服务器也会自动插入数据的。
如果从服务器并没有同步主服务器的数据,并且查看从服务器状态时,发现有一下错误信息:
“Last_IO_Error: Got fatal error 1236 from master when reading data from binary log: 'Could not find first log file name in binary log index file'”
这是由于主从服务器数据不同步造成的,这时可以通过以下几步来处理:
在从服务器上使用命令stop slave停止从服务器。
在主服务器上使用命令flush logs 刷新主服务器日志信息。
在主服务器上使用命令show master status ;查看主服务器状态,主要关注日志文件名称和位置偏移量(position)。
在从服务器上执行命令change master to master_log_file='mysql-bin.00004',master_log_pos=397;注意文件名和position和主服务器上对应。
使用命令start slave;启动从服务器的slave线程。
再次在主服务器表中插入数据,就应该能够正常同步了。
bitsCN.com