Home >Database >Mysql Tutorial >MYSQL-master-slave实践_MySQL

MYSQL-master-slave实践_MySQL

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOriginal
2016-06-01 13:43:431122browse

bitsCN.com 前两天在一台电脑上安装了两个mysql,一个端口是3306,一个是3307。
 
然后配置这两个mysql数据库,测试master 和slave 。
 
我的测试环境是windows下,所以需要修改mysql 安装目录下的my.ini文件
 
首先,配置master。
 
在3306那个mysql的my.ini文件末尾,添加如下代码即可。
 
server-id = 1
log-bin=c:mysqllog/panlogs
binlog-do-db=panpan
binlog-ignore-db=
 
server-id = 1 是master的id号。slave的id我们设置为2.
 
log-bin=c:mysqllog/panlogs   是master的日志文件,存放地址和名称。
 
binlog-do-db=panpan   是说需要同步的数据库文件。 在这里 要同步的数据库名称为  panpan。如果备份多个数据库,重复设置这个选项即可。
 
binlog-ignore-db=    是不需要备份的数据库。
 
再设置slave。同上,打开另外一个mysql的ini文件,在末尾添加:
 
server-id=2               #(配置多个从服务器时依次设置id号)
master-host=127.0.0.1   #主服务器IP地址(因为这里我是本机测试,所以填写的是127.0.0.1)
master-user=pan         #主服务器授权的用户名
master-password=123456     #主服务器授权的密码
master-port=3306          #主服务器的端口
replicate-do-db=panpan  #需要备份的数据库名,如果备份多个数据库,重复设置这个选项即可
 
在这里,基本已经大功告成。
 
但需要有几个地方注意
 
1、一般,我们会针对不同的数据库,添加不用的用户名,有不同的权限。所以,在配置slave的时候,主服务器(master)的用户,必须得有相应的权限。通过这个语句设置:grant file,select,replication slave on *.* to ‘pan’@’127.0.0.1′identified by ’123456′;
 
2、查看master和slave状态。
 
在命令行下,进入myslq,通过show master status; 查看master的状态。 通过show slave status; 查看slave的状态。
 
mysql> show master status;
+———————–+———-+————–+——————+
| File                      | Position | Binlog_Do_DB | Binlog_Ignore_DB |
+———————–+———-+————–+——————+
|panlogs .000001 |       98 |  panpan    |                  |
+———————–+———-+————–+——————+
 
show slave status;
若看到:
Slave_IO_Running 和Slave_SQL_Running 两列的值都为 “Yes”,这表明Slave 的I/O 和SQL 线程都在正常运行.
 
3、在配置成功后,需要重启 两个mysql,建议先重启master,再重启slave。
 
4、在slave的Data目录下,会生成master.info文件。建议在重启前,将这个文件删除掉。这是保存的master的信息。重启的时候并不会更新这个。所以需要删除,重新生成。
 
5、其他问题还没遇到,如果你遇到了,欢迎留言。。。。

潘少宁的博客 bitsCN.com

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn