欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  数据库

MySQL主从服务器配置_MySQL

程序员文章站 2022-05-23 09:54:29
...
bitsCN.com

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