高效实现 Linux MySQL 数据同步的工具推荐
从事西部信息服务器托管,服务器租用,云主机,虚拟主机,域名注册,CDN,网络代维等服务。
在服务器运行的 web 应用程序中,通常会使用 MySQL 数据库来存储和管理数据。为了保证数据在不同服务器之间的一致性,必须采用一种高效的工具实现 Linux MySQL 数据同步。
为了帮助大家实现这个目标,本文将向大家介绍一些更佳的 Linux MySQL 数据同步工具。
1. Maatkit
Maatkit 是一款免费的 MySQL 开源工具集,它包含多达 30 种管理工具。其中,mk-table-sync 工具可以用来同步 MySQL 数据库的数据。
与其他工具不同,mk-table-sync 通过比较一组表,然后生成一系列修改语句,这些语句包括更新、插入和删除操作,并且可以正确地处理不同表之间的主键和自动递增列等约束。
2. mysqldump
mysqldump 是一款常用的备份和数据库同步工具,它可以帮助你快速地将 MySQL 数据库备份到另一台服务器中。
为了使用mysqldump来同步你的MySQL数据库,你需要使用命令行终端,然后输入如下命令:
$ mysqldump -u username -p database_name > database_name.sql
其中,username 是你的 MySQL 用户名,database_name 是你想同步的数据库名称。
3. Percona XtraBackup
Percona XtraBackup 是一款新兴的备份和恢复工具,它允许你在不停止服务器的情况下创建数据备份,并且支持使用流式备份,这意味着你可以在不减少生产部署时间的情况下同步你的MySQL数据库。
此外,Percona XtraBackup 还支持完全增量备份,这意味着它只需要从上一次备份之后更新过的数据进行备份,从而大大提高了同步速度。
4. MySQL Replication
MySQL Replication 是 MySQL 内置的数据同步工具,它允许你将一个 MySQL 实例的更改同步到另一个 MySQL 实例中。这意味着你可以使用多台服务器来管理你的数据环境,从而提高了数据的可用性和可靠性。
为了使用 MySQL Replication 实现 MySQL 数据库同步,你需要在主服务器上启用二进制日志,然后在从服务器上启用从服务器。在主服务器上进行修改后,MySQL Replication 将相应地记录修改,并将它们发送到所有已连接的从服务器上。
5. Flyway
Flyway 是一款开源的数据库迁移和版本控制工具,它可以帮助你在不同环境中重复地创建和管理你的数据库。
使用 Flyway,你可以在任何地方创建和修改数据库,在不同的环境中进行版本控制,并在生产环境中轻松地同步你的 MySQL 数据库。此外,Flyway 还支持多个数据库类型,可以轻松地在不同的 MySQL、PostgreSQL、Oracle 等数据库中实现数据同步。
结论
在我们的工作中,MySQL 数据库的同步是非常重要的。在本文中,我们向大家推荐了一些更佳的 Linux MySQL 数据同步工具,包括 Maatkit、mysqldump、Percona XtraBackup、MySQL Replication 和 Flyway 等,这些工具可以帮助你快速地实现 MySQL 数据库的同步,从而提高生产力并减少工作压力。
成都网站建设公司-创新互联,建站经验丰富以策略为先导10多年以来专注数字化网站建设,提供企业网站建设,高端网站设计,响应式网站制作,设计师量身打造品牌风格,热线:028-86922220dear, 我可能碰到了跟你一样的问题。你可以参考下
首先我的环境是mysql5.5
然后我的主机上设置了binlog记录数据库为db1和db2.
然后备机上设置了同步数据库db1,并且忽略数据库db2.
但是此时我使用客户端连接主机,并执行的sql插入到db1和db2。
但是发现db1和db2的数据都同步到了备机上。
找了好久的原因发现我在连接后,设置了use db1这个命令,然后插入到db2的sql使用的是insert into db2.test () values ();的sql,梁袜
修改插入到db2的sql时闹丛使用use db2;发现设置的不同液渣樱步该库才成功
replicate-ignore-db=mysql 为什么无效
MySQL 提供了数据库的同步功能,这对我们实现数据库的冗灾、备份、恢复、负载均衡等都是有极大帮助的。本文描述了常见的同步设置方法。
一、准备服务器
由于MySQL不同版本之间的(二进制日志)binlog格轮简式可能会不一样,因此更好的搭配组合是Master的MySQL版本和Slave的版本相同或者更低,Master的版本肯定不能高于Slave版本。
本文中,我们假设主服务器(以下简称Master)和从服务器(以下简称Slave)的版本都是5.0.15,操作系统是Linux Ubuntu 5.0.x。
假设同步Master的主机名为:rep1,Slave主机名为:rep2,2个MySQL的basedir目录都是/usr/local/mysql,datadir都是:/usr/local/mysql/data。
二、设置同步服务器
1、设置同步Master
每个同步服务器都必须设定一个唯一的编号,否则同步就不能正常运行了。接下来开始修改 my.cnf,增加以下几行:
server-id = 1
log-bin
set-variable=binlog-ignore-db=mysql
然后在Master上增加一个账号专门用于同步,如下:
mysql>GRANT REPLICATION SLAVE ON *.* TO rep@rep2 IDENTIFIED BY ‘rep’;
如果想要在Slave上有权限执行腊衡裤 “LOAD TABLE FROM MASTER” 或 “LOAD DATA FROM MASTER” 语句的话,必须授予全局的 FILE 和 SELECT 权限:
mysql>GRANT FILE,SELECT,REPLICATION SLAVE ON *.* TO rep@rep2 IDENTIFIED BY ‘rep’;
第三行表示不记拦纯录数据库mysql的更新日志,这就避免了Master上的权限设置等被同步到Slave上,如果对这方面没有限制,就可以不设置这个参数。
接下来备份Master上的数据,首先执行如下SQL语句:
mysql>FLUSH TABLES WITH READ LOCK;
不要退出这个终端,否则这个锁就不生效了;接着导出数据,可以直接打包压缩数据文件,也可以使用mysqldump工具来做,推荐前者的方法,这样更为快捷简便。
root$cd /usr/local/mysql
root$tar zcf data.tar.gz ./data (在这里也可能是 “var” 等其它实际存放数据文件的目录,根据实情而定)
然后将这些数据拷贝到Slave服务器上,解开,设置好正确的权限及属主等;之后,执行 “UNLOCK TABLES” 语句来释放锁。
对于Linux的学习,可以分为四个阶段,Linux初级入门阶段→Linux中级进阶→Linux高级进阶→Linux资深方稿帆逗向细化阶段
之一阶段:初级阶段
初级阶段需要把linux学习路线搞清楚,任何学习都是循序渐进的,所以学linux也是需要有一定的路线。
1. Linux基础知识、基本命令;
2. Linux用户及权限基础;
3. Linux系统进程管理进阶;
4. linux高效文本、文件处理命令;
5. shell脚本入门
第二阶段:中级进阶
中级进阶需要在充分了解linux原理和基础知识之后,对上层的应用和服务进行深入学习,其中说到服务肯定涉及到网络的相关知识,是需要花时间学习的。
1. TCP/IP网络基础;
2. Linux企业常用服务;
3. Linux企业级安全原理和防范技巧;
4. 加密/解密原理及数据安全、系统服务访问控制及服务安全基础;
5. iptables安全策略构建;
6. shell脚本进阶;
7. MySQL应用原理及管理入门
第三阶段:Linux高级进阶
1. http服务代理缓存加速;
2. 企业级负载集群;
3. 企业级高可用集群;
4. 运维监控zabbix详解轿拍;
5. 运维自动化学习;
第四阶段:Linux资深方向细化
1. 大数据方向;
2. 云计算方向;
3. 运维开发;
4. 自动化运维;
5. 运维架构师
以上是Linux的一个学习方向和路线,对于Linux学习是一个需要坚持的过程,也许通过自学或者培训,3至6个月都可以把基本知识学会,但是重在实践,深入的思考和不断的摸索,你键卖会发现Linux更多的美!
按照这个路线图学习就好了
Linux云计算运维到底要学哪些东西?
1.Linux基础
1.Linux企业级安吵郑装(kickstart,cobbler批量安装)
Centos7
互联网企业
麒麟Linux
传统企业国企事业单位央企,少量互联网公司
ubuntu20.04
程序员主导互联网公司
2.企业级优化
3.常用命令
01.目录命令
cd/pwd/ls/cp/mv/rm -fr/mkdir
02.文件命令
touch/cat/echo/less/more/head/tail/sed/awk/grep/egrep/find/which/where
03.用户命令
useradd,usermod,userdel,passwd,chpasswd,chage,su,sudo,visudo
04.权限命令
chown/chmod/chattr/lsattr
05.基本命令
reboot,halt,shutdown,init,uname,hostname
06.网络命令
ifconfig/ip/arp/ifup/ifdown/netstat/ss/lsof/nc/nmap/tcpdump
07.监测资源
top/uptime/iostat/iftop/htop/sar/vmstat
08.磁盘管理
fdisk/parted/mkfs/mount/umount
09.Linux三剑客
grep/egrep/sed/awk
4.常用知识
1.文件、目录及属性
2.用户管理
3.权限管理
4.网络管理
5.正则表达式
6.定时任务
7.磁盘管理
8.安装系统
5.基础网络服务
NFS网络文件系统、Ceph分布式文件系统
rsync异地同步
sersync异地实时同步
nginx web(Apache)
php-fpm/tomcat/python/go动态服务
mysql/redis/mongodb/es搜索
nginx/lvs/haproxy
hearbeat/keepalived
安全:jumpserver/iptables/firewalld/openvpn
批量管理:ssh/ansible/saltstack
6.高级网络服务
01.代码上线CICD
svn/git/gitlab
jenkins
maven/ant编译工具
jira
02.分布式日志收集
ELFK分布升稿颂式日志收集集群
03.监控
ZABBIX
普罗米修斯
04.云计算
KVM/OPENSTACK(过时了,又难又不好学)
05.容器技术
docker+k8s(必会)
微服务
7.DBA课敬镇程专业中级水平(15K)
mysql
redis
monbodb
es
8.DEVOPS自动化
bash shell
python基础
go基础
01.代码上线CICD
svn/git/gitlab
jenkins
maven/ant编译工具
jira
9.kafka消息队列/ceph分布式存储/zookeper
10.安全、python、go一部分内容
11.详细就业指导
年龄大
年龄小
学历低
没经验
mysql中实现master-slave同步:
之一步:分别在两台机子上各装一个mysql (本人测试机系统为unbutu,mysql5.5),如只有一台机器,需使mysql的端口不同(3306,3307)。
第二步:找到mysql 的my.cnf文件。
$cd /etc/mysql 进山灶入该目录。
$ vim my.cnf 如是只读,且不允许修改。需用$ sudo vim my.cnf
第三步:修改my.cnf 中的配置项:
1 需做如下操作:
将bind-address=127.0.0.1 改为 bind-address=0.0.0.0
将#server-id=1
#log_bin=/var/log/mysql/mysql-bin.log
的注释(#)去掉。
添加:character-set-server=utf-8 #保证编码一致。
填加完成后,保存并退出即可。
第四步:
用
root权限
登录并创建slave数据库逗纳扮服务器用户:
$mysql -uroot -p
mysql>grant replication slave,replication client on *.* to liang@’192.168.10.21′ indntified by ‘liang’;
mysql>grant replicatin slave on *.* to liang@’192.168.10.21′ indntified by ‘liang’;
第五步:重启mysql服务。
$ sudo /etc/init.d/mysql restart #如不能正常启动茄碧,请检查my.cnf配置项以及mysql 的错误日志。
错误日志位置:/var/log/mysql/error.log
到此已将master配置完毕。
slave配置。
第六步:修改slave的my.cnf
配置文件
。
如下:
bind-address=0.0.0.0
server-id = 2
master-host= 192.168.10.24
master-user= liang
master-password = liang
master-port= 3306
log_bin = /var/log/mysql/mysql-bin.log
log-slave-updates
skip-slave-start
character-set-server=utf8
关于linux mysql 同步工具的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。
成都创新互联科技有限公司,经过多年的不懈努力,公司现已经成为一家专业从事IT产品开发和营销公司。广泛应用于计算机网络、设计、SEO优化、关键词排名等多种行业!
分享文章:高效实现linuxmysql数据同步的工具推荐(linuxmysql同步工具)
标题网址:http://www.mswzjz.cn/qtweb/news47/491697.html
攀枝花网站建设、攀枝花网站运维推广公司-贝锐智能,是专注品牌与效果的网络营销公司;服务项目有等
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 贝锐智能