配置Mysql主从
配置master数据库文件
-
数据库配置文件
vim /etc/my.cnf #编辑数据库配置文件 server-id=1 #设置主服务器id,必须唯一 #一定要确保主mysql的server-id 小于从mysql的server-id binlog-ignore-db=mysql,test#其他忽略的数据库名 binlog-do-db=lmonkey#需要备份的数据库名,比如lmonkey log-bin=master-bin #指定一个日志路径,用于主从 log-bin-index=master-bin.index #指定mysql-bin.index文件的路径,用于主从 ###重启Mysql###
-
添加从数据库连接账户并配置权限
#为了以后可扩展性,可以配置用户名为类似slaver_1,2,3... #IP内网互通,配置内网 mysql -uroot -p mysql> CREATE USER 'slaver_1'@'192.168.1.2' IDENTIFIED BY 'password'; #IP内网互通,配置内网IP mysql> GRANT REPLICATION SLAVE ON lmonkey.* TO 'slaver_1'@'192.168.1.2'; #从账户分配权限 mysql> flush privileges; #刷新权限
-
查看主数据库状态,!!!记录MYSQL-BIN POSITION
mysql> SHOW MASTER STATUS; +-------------------+----------+--------------+------------------+-------------------+ | File | Position | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set | +-------------------+----------+--------------+------------------+-------------------+ | master-bin.000001 | 154 | lmonkey | mysql,test | | +-------------------+----------+--------------+------------------+-------------------+ 1 row in set (0.00 sec)
配置从数据库配置文件
-
配置从服务器id,保证唯一
vim /etc/my.cnf [mysqld] server-id=2 #设置从服务器id,必须唯一, 一定要大于主mysql的server-id relay-log-index=slave-relay-bin.index #定义relay-log-index的文件名 relay-log=slave-relay-bin#定义relay-log的文件名(默认保存在数据目录下) ###重启Mysql###
-
配置从数据库映射信息
mysql> CHANGE MASTER TO MASTER_HOST='192.168.1.1', MASTER_USER='slaver_1',MASTER_PASSWORD=password', MASTER_LOG_FILE='mysql-bin.000001 ', MASTER_LOG_POS=154; #MASTER_HOST 主服务器IP,MASTER_USER 从服务器USER,MASTER_PASSWORD 刚才配置的密码, # MASTER_LOG_FILE、 MASTER_LOG_POS,查看主数据库状态时让记录的信息
-
开启同步
mysql> start slave;
-
查看从数据库状态
mysql>show slave status\G #不带分号
主服务器创建数据库查看是否实现主从复制
-
创建数据库test
mysql> create database test default charset utf8 collate utf8_general_ci;
-
查看从数据库状态,是否实现主从复制
mysql> show databases;
备注
如果没有配置成功
- 关闭从服务(stop slave;)
- 重复配置从数据库的第二步,但是记得此时还要查看主服务器的信息
- 重新开启主从
© 著作权归作者所有
举报
发表评论
0/200