首页 / MYSQL / mysql主从同步配置
mysql主从同步配置
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了mysql主从同步配置,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含3175字,纯文字阅读大概需要5分钟。
内容图文
![mysql主从同步配置](/upload/InfoBanner/zyjiaocheng/871/b11f9972a1f749f0b53f1acd459464cd.jpg)
配置mysql主从同步
准备两台测试的虚拟机,安装mysql环境(https://www.cnblogs.com/pinghengxing/p/9402825.html),并开启mysql服务
主master : 192.168.8.10
从slave : 192.168.8.11
1、配置主库:
1)、授权给从数据库服务器
mysql>GRANT REPLICATION SLAVE ON *.* to 'rep1'@'192.168.8.11' identified by 'test123456'; mysql>FLUSH PRIVILEGES;
2)、修改主库配置文件,开启binlog,并设置server-id,每次修改配置文件后都要重启mysql服务才会生效
vim /etc/my.cnf
在该配置文件[mysqld]下面添加下面内容:
[mysqld] log-bin=/var/lib/mysql/binlog server-id=1 binlog-do-db = cmdb datadir=/var/lib/mysql socket=/var/lib/mysql/mysql.sock ......
server-id:master端的ID号;
log-bin:同步的日志路径及文件名,一定注意这个目录要是mysql有权限写入的(我这里是偷懒了,直接放在了下面那个datadir下面);
binlog-do-db:要同步的数据库名
还可以显示 设置不同步的数据库:
binlog-ignore-db = mysql 不同步mysql库和test库
binlog-ignore-db = test
修改配置文件后,重启服务:service mysqld restart
如果启动失败,通过cat /var/log/mysqld.log | tail -30 查看mysql启动失败的日志,从日志内容寻找解决方案。
3)、查看主服务器当前二进制日志名和偏移量,这个操作的目的是为了在从数据库启动后,从这个点开始进行数据的恢复
mysql> show master status; +---------------+----------+--------------+------------------+ | File | Position | Binlog_Do_DB | Binlog_Ignore_DB | +---------------+----------+--------------+------------------+ | binlog.000001 | 1304 | cmdb | | +---------------+----------+--------------+------------------+ 1 row in set (0.00 sec)
主服务器已配置好。
2、配置从库
1)、理所当然也是从配置文件着手,在/etc/my.cnf 添加下面配置:
[mysqld] server-id=2 master-host=192.168.8.10 master-user=rep1 master-password=test123456 master-port=3306 replicate-do-db=cmdb ......
重启时报错:mysqld: unknown variable ‘master-host=
说明mysql不认识这些变量,网上搜罗了一番,原因是mysql5.5+版本主从复制不支持这些变量,需要在从库上用命令来设置:
mysql> CHANGE MASTER TO MASTER_HOST='192.168.8.10', MASTER_PORT=3306, MASTER_USER='rep1', MASTER_PASSWORD='test123456', MASTER_LOG_FILE='binlog.000001', MASTER_LOG_POS=1304; #后面两个参数的值与主库保持一致
2)、启动slave进程
mysql> slave start; Query OK, 0 rows affected (0.04 sec)
3)、查看slave的状态,如果下面两项值为YES,则表示配置正确:
Slave_IO_Running: Yes
Slave_SQL_Running: Yes
从库正在等待主库更新数据。。。Waitin for master to send event...
三、同步主库已有数据到从库
主库操作:
1、停止主库的数据更新操作
mysql>flush tables with read lock;
2、新开终端,生成主数据库的备份(导出数据库)
[root@zhoujietest ~]# mysqldump -uroot -ptest123 cmdb > cmdb.sql
3、将备份文件传到从库
[root@zhoujietest ~]# scp cmdb.sql root@192.168.8.11:/root/
4、主库解锁
mysql>unlock tables;
从库操作:
1、停止从库slave
mysql>slave stop;
2、新建数据库cmdb
mysql> create database cmdb default charset utf8;
3、导入数据
[root@ops-dev ~]# mysql -uroot -ptest123 cmdb<cmdb.sql
4、查看从库已有该数据库和数据
mysql> show databases; +--------------------+ | Database | +--------------------+ | information_schema | | cmdb | | mysql | | performance_schema | | test | +--------------------+
此时主从库的数据完全一致,如果对主库进行增删改操作,从库会自动同步进行操作。
?内容总结
以上是互联网集市为您收集整理的mysql主从同步配置全部内容,希望文章能够帮你解决mysql主从同步配置所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。