1000字范文,内容丰富有趣,学习的好帮手!
1000字范文 > linux下mysql主从复制搭建

linux下mysql主从复制搭建

时间:2023-07-18 06:37:02

相关推荐

linux下mysql主从复制搭建


目标:搭建两台MySQL服务器,一台作为主服务器,一台作为从服务器,实现主从复制

环境:

主数据库: 192.168.1.1

从数据库:192.168.1.2

mysql安装可参考:/merely/p/9714681.html

配置步骤:

1、保证两个数据库中的库和数据是一致的;

2、在主数据中创建一个同步账号(可不创建使用现有的),如果仅仅为了主从复制创建账号,只需要授予REPLICATION SLAVE权限。

1)、创建一个账号,账号:master 密码: 123456

CREATE USER 'master'@'%' IDENTIFIED BY '123456';GRANT REPLICATION SLAVE ON *.* TO 'master'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION;

3、配置主数据库

1)要主数据库,你必须要启用二进制日志(binary logging),并且创建一个唯一的Server ID,这步骤可能要重启MySQL。

2)主服务器发送变更记录到从服务器依赖的是二进制日志,如果没启用二进制日志,复制操作不能实现(主库复制到从库)。

3)复制组中的每台服务器都要配置唯一的Server ID,取值范围是1到(232)−1,你自己决定取值。

4)配置二进制日志和Server ID,你需要关闭MySQL和编辑f或者my.ini文件,在 [mysqld] 节点下添加配置。

5)下面是启用二进制日志,日志文件名以“mysql-bin”作为前缀,Server ID配置为1,如下:

[mysqld]log-bin=mysql-binserver-id=1#网络上还有如下配置#binlog-do-db=mstest //要同步的mstest数据库,要同步多个数据库,就多加几个replicate-db-db=数据库名 #binlog-ignore-db=mysql //要忽略的数据库innodb_flush_log_at_trx_commit=1sync_binlog=1

4、重启mysql

5、查看主服务器状态:

cd /usr/local/mysql/bin./mysql -uroot -pmysql> show master status;

注意:记录好File和Position,后面要用

6、配置从数据库:

1)从服务器,同理,要分配一个唯一的Server ID,需要关闭MySQL,修改好后再重启,如下:

[mysqld]server-id=2#可以指定要复制的库replicate-do-db=test-xxx #在master端不指定binlog-do-db,在slave端用replication-do-db来过滤replicate-ignore-db=mysql #忽略的库#网上还有下面配置#relay-log=mysqld-relay-bin

2)配置连接主服务器的信息:

进入sqlplus:

cd /usr/local/mysql/bin./mysql -uroot -p

mysql> stop slave;mysql> CHANGE MASTER TO-> MASTER_HOST='192.168.1.1',-> MASTER_USER='master',-> MASTER_PASSWORD='123456',-> MASTER_PORT=3309,-> MASTER_LOG_FILE='mysql-bin.000001',-> MASTER_LOG_POS=154;mysql> start slave;

3)查看状态

mysql> show slave status \G;

Slave_IO_State: Waiting for master to send eventMaster_Host: 192.168.1.1Master_User: masterMaster_Port: 3309Connect_Retry: 60Master_Log_File: mysql-bin.000001Read_Master_Log_Pos: 2950Relay_Log_File: localhost-relay-bin.000007Relay_Log_Pos: 320Relay_Master_Log_File: mysql-bin.000001Slave_IO_Running: YesSlave_SQL_Running: YesReplicate_Do_DB: test-xxxReplicate_Ignore_DB: mysql...Seconds_Behind_Master: 0 #表示已同步...

4)若Slave_SQL_Running: no请重复执行以下内容,直至yes:

stop slave;set GLOBAL SQL_SLAVE_SKIP_COUNTER=1;start slave;

参考的资料:

1、/envon123/article/details/76615059

2、/xiaoxinla/article/details/7679578

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。