MYSQL-master-slave实践
3025 点击·0 回帖
![]() | ![]() | |
![]() | 前两天在一台电脑上安装了两个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、其他问题还没遇到,如果你遇到了,欢迎留言。。。。 | |
![]() | ![]() |