MYSQL-master-slave实践

前两天在一台电脑上安装了两个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、其他问题还没遇到,如果你遇到了,欢迎留言。。。。

觉得文章有用?立即: 和朋友一起 共学习 共进步!

猜您喜欢

发表评论

电子邮件地址不会被公开。 必填项已用 * 标注

*

您可以使用这些 HTML 标签和属性: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>