FreeBSD下配置Mysqlserver-id = 1
log-bin = mysql-bin
binlog-do-db = ceshi --要同步的数据库名称
binlog-ignore-db = mysql --不要同步的数据库名称
注:MySQL进行
grantreplication slaveon*.*torepuser@’192.168.8.34′ identifiedby’123456′;
replication slave——MySQL数据库中表示复制的权限名称
repuser——从数据库服务器登陆到主数据库服务器时用到的用户名称
host——从数据库IP地址
123456——登陆密码
如果上述权限设置后,无法同步,可将其改为
grantselect,insert,update,delete,replication slaveon*.*torepuser@'192.168.8.34' identifiedby'123456';
配置完上述步骤后,就可以启动主数据库了。
二、从数据库配置
修改配置文件
[mysqld]
server-id=2
log-bin=mysql-bin --在从服务器上启动日志记录,不是必须,但是官方建议
master-host = 192.168.8.33 --主数据库服务器的IP地址
master-user = repuser --执行复制的用户名称,就是grant的用户,即repuser
master-password = 123456 --复制用户的密码,就是grant的用户密码,即123456
master-port = 3306 --主数据库服务器的端口,默认是3306
replicate-do-db=dbname --需要同步的数据库
#replicate-ignore-db=dbname --不需要同步的数据库
现在可以重启从数据库,启动后,还需要启动复制线程
slave start
查看复制线程的状态
show slave status;
我们还可以在从数据库服务器上动态的改变对主数据库的配置信息,通过如下命令来进行:
CHANGE MASTER TO MASTER_HOST='主数据库服务器的IP地址',MASTER_PORT=3306,MASTER_USER='主数据库上的复制帐号',MASTER_PASSWORD='密码';
三、启动与监控
1、监控主数据库服务器
show master status; --运行于主数据库
+------------------------+-----------+------------------+-------------------------+
| File | Position | Binlog_Do_DB | Binlog_Ignore_DB |
+------------------------+-----------+------------------+-------------------------+
| mysql-bin.000011 | 189 | ceshi | mysql |
+------------------------+-----------+------------------+-------------------------+
1 row in set (0.00 sec)
其中File是表示日志记录的文件,而Position则是表示当前日志在文件中的位置,这个也是从数据库服务器上执行复制操作必须的标识,后面的两个字段分别表示要记录的数据库名称和不需要记录的数据库名称,我们也可以在配置文件中进行配置。
2、监控从数据库服务器
show slave status; --运行于从数据库
注:如果从数据库服务器在同步的过程中出现了问题,那么我们可以通过reset slave来重置从数据库服务器的复制线程。
从数据库常用命令:
Slave start; --启动复制线程
Slave stop; --停止复制线程
Reset slave; --重置复制线程
Show slave status; --显示复制线程的状态
Show slave status\G; --显示复制线程的状态(分行显示)
Show master status\G; --显示主数据库的状态(分行显示)
Show master logs --显示主数据库日志,需在主数据库上运行
Change master to; --动态改变到主数据库的配置
Show processlist --显示有哪些线程在运行
本文地址:http://www.92csz.com/10/757.html
如非注明则为本站原创文章,欢迎转载。转载请注明转载自:moon's blog