当前位置:Gxlcms > mysql > mysql主从设置

mysql主从设置

时间:2021-07-01 10:21:17 帮助过:16人阅读

准备工作: master机和slave机的相关配置 1、修改master机器中mysql配置文件my.cnf,该文件在/etc目录下 在[mysqld]配置段添加如下字段 server-id=1 log-bin=log binlog-do-db=repl //需要同步的数据库,如果没有本行,即表示同步所有的数据库 此参数可以重复

准备工作:


master机和slave机的相关配置
1、修改master机器中mysql配置文件my.cnf,该文件在/etc目录下
在[mysqld]配置段添加如下字段
server-id=1
log-bin=log
binlog-do-db=repl //需要同步的数据库,如果没有本行,即表示同步所有的数据库 此参数可以重复设置,此参数 可能会出现问题,尽量不用,过滤数据 设置到从库
binlog-ignore-db=mysql //被忽略的数据库 同上 最好不用 过滤设置到从库


修改slave机中mysql配置文件
同样在[mysqld]字段下添加如下内容
server-id=2
master-host=192.168.1.222
master-user=repl
master-password=123456
master-port=3306
master-connect-retry=60
# replicate-ignore-db=mysql 忽略的数据库 同上
# master-connect-retry=60 如果从服务器发现主服务器断掉,重新连接的时间差(秒)
#replicate-do-db=repl //同步的数据库(需要备份的数据库名),不写本行 表示 同步所有数据库
#建议用下面两个参数
replicate-wild-do-table=db_name.%
replicate-wild-ignore-table=mysql.%

然后重启slave机的mysql


-------------------------------------------------------------------------------------------------
1、登录mysql 首先 查看 数据库的版本

>select version();


2、检查主库 和 从库的 server_id


>show global variables like 'server_id';


3、查看主库的二进制文件是否开启


>show global variables like 'log_bin';


若没有开启,那么需要重启数据库的:
(1)在my.cnf参数文件中[mysqld]中添加
log-bin = mysql-bin
(2)重启MySQL数据库。


4、检查到从库的网络及端口是否可达

#netstat -tnlp|grep mysqld


#telnet 192.168.230.71 3306




5、在主库创建同步帐号并授权 replication
>create user 'repl'@'host' identified by 'password';
>grant replication slave,replication client on *.* to 'repl'@'host';




6、再从库中测试是否可以使用repl用户登录
#mysql -urepl -ppassword -hhost -P3306


7、记录主库master上当前二进制日志名和偏移量
主要是用于slave中指定开始恢复的位置。


>show master status\G


8、备份数据库




启动主从复制功能
slave start;


查看主从信息
show slave status\G;


如果打印的信息中slave_IO_Running:yes和Slave_SQL_Runnning:yes 则表示配置成功

人气教程排行