mysql主从配置

mysql容器如何设置主从备份

与世无争的帅哥 提交于 2019-12-28 15:57:56
1.安装docker mysql 容器(如何安装请移步Docker安装mysql文档) 2.进入数据库容器 docker exec -it mysql /bin/bash 3.进入mysql mysql -hlocalhost -uroot -p 4.在主库上创建一个复制账户 GRANT REPLICATION SLAVE ON . TO ‘slave’@’%’ IDENTIFIED BY ‘slave2019’; flush privileges; 5.退回到宿主机修改主库的配置文件 vim /usr/local/mysql/conf/my.cnf 在 [mysqld] 节点最后加上 log-bin=mysql-bin server-id=1 6.修改从库的配置文件 vim /usr/local/mysql/conf/my.cnf 在 [mysqld] 节点最后加上 log-bin=mysql-bin server-id=2 7.开始备份, 在主库执行以下命令, 让主库所有表置于只读不能写的状态, 这样达到主从库数据一致性(如果是新库可以省略此步骤) FLUSH TABLES WITH READ LOCK; 8.将主库的数据库备份在从库还原(如果是新库可以省略此步骤) 用navicat for mysql 很方便操作 9.从库还原后, 释放主库的读锁, 这样主库恢复写权限

mysql一主两从

大兔子大兔子 提交于 2019-12-28 12:18:39
一、环境介绍 centos7,mysql5.6 master: 10.0.0.42 slave: 10.0.0.43,10.0.0.44 二、配置 vim /etc/my.cnf master: 10.0.0.42 slave: 10.0.0.43 slave: 10.0.0.44 注:此处允许所有ip地址可以远程登录此mysql,出于安全考虑,可以配置防火墙规则进行mysql远程登录的ip的限制。 在master上授权一个远程登录用户并刷新权限,查看master状态 slave机上分别执行 change master to master_host = '10.0.0.42' , master_user = 'tom' , master_password = '123' , master_log_file = 'mysql-log.000003' , master_log_pos = 442 ; 然后开启两台从机 查看slave的状态 当从库的 IO线程和SQL线程的状态都是yes时,说明主从模式配置成功 可以创建一个数据库测试是否可以同步成功 来源: CSDN 作者: 一纸情书ベ 链接: https://blog.csdn.net/weixin_45762569/article/details/103741099

GTID!MySQL复制中的核武器

穿精又带淫゛_ 提交于 2019-12-28 00:59:38
各位老铁们,本周老张的《MySQL王者晋级之路》一书终于出版了,现在可以预购啦! 预购链接地址: 老张的数据库微店 前前后后经历了一年的准备时间,可谓十年磨一剑,把自己从业所有的精华和心血都灌输到其书中。其书中包含了MySQL方方面面的知识点,是之前我的一篇博客“从青铜到王者,快速提升你MySQL数据库段位的全面深入剖析”。用一句学生对我说得话,老师喜欢您的王者荣耀情怀,但更喜欢您的技术情操。讲真,不要错过!特别感谢在我从事技术道路上,帮助过我的前辈及兄弟们,这条路上的所有的辛酸,只有你们最懂我!也要感谢对我博客一直支持的兄弟们! 今儿的这篇博文,可以让大家快速了解GTID特性,并能灵活地运用到生产环境中,希望对大家有帮助。 GTID原理介绍 GTID又叫全局事务ID(Global Transaction ID),是一个已提交事务的编号,并且是一个全局唯一的编号。MySQL5.6版本之后在主从复制类型上新增了GTID复制。 GTID是由server_uuid和事务id组成的,即GTID = server_uuid:transaction_id。 server_uuid是在数据库启动过程中自动生成的,每台机器的server-uuid不一样。uuid存放在数据目录的auto.cnf文件下。而transaction_id就是事务提交时由系统顺序分配的一个不会重复的序列号。

MYSQL主从复制配置

不羁岁月 提交于 2019-12-27 17:56:18
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 首先我在自己的linux虚拟机上安装了一个数据库,这样加上我windows上的数数据库就可以模拟主从备份了。 安装过程没什么好说的,日后再补充。 值得注意的一点是,安装好之后到 /usr/share/mysql 目录下去copy个my.cnf 这个时候有很多个选择的,例如 my-large.cnf my-medium.cnf my-small.cnf 从名字就可以看出,一个是规模大的,一个中等的,一个小的,里面的配置有所不同 这样不用到处去找mysql的配置优化 一、主库配置 比较简单 server-id数据库服务的标志,注意在所有集群中不要重复就行了 log-bin开启二进制日志,数据从主库copy到从库就是靠这个日志来执行的。 [mysqld] server-id=101 log-bin=mysql-bin 修改配置文件时候,重启mysql服务 二、从表配置 log-bin开启二进制日志,可以不开启。注意从库,同时也可以作为其他库的主库这样可以实现多数据库集群。之前看到一篇比较好的文章的,等我找回来再看看。 server-id 集群中唯一 relay-log salve线程是在relay-log里面读取二进制log执行 log-slave-updates 允许通过log更新数据库1就是true read

mysql 主从单库单表同步 binlog-do-db replicate-do-db

限于喜欢 提交于 2019-12-27 17:38:59
方案一:两边做主从。 SELECT SUM(DATA_LENGTH)+SUM(INDEX_LENGTH) FROM information_schema.tables WHERE TABLE_SCHEMA='(数据库名大小为K除去1048576为M)';查看库容量 SELECT TABLE_NAME,DATA_LENGTH+INDEX_LENGTH,TABLE_ROWS FROM information_schema.tables WHERE TABLE_SCHEMA='' AND TABLE_NAME=''; lqc_msg = 16651450340 =15,880M 导出来13G 16708081764 SHOW TABLE STATUS; 查看自增IP 导出数据库: mysqldump -uroot -p'' --single-transaction --events --triggers --routines --flush-logs --master-data=2 --databases | gzip > /mnt/l.sql.gz 复制数据 rsync -a /mnt/lqc_msg.sql.gz root@:/data/ 导入数据库: mysqldump -uroot -p data < /data/lqc.sql & SELECT SUM(DATA_LENGTH)

mysql主从同步

こ雲淡風輕ζ 提交于 2019-12-27 14:16:11
准备俩台虚拟机(版本需要一致,桥接模式关闭防火墙,互相能ping通) 主机:192.168.1.38 从机:192.168.1.48 主机、从机安装ntp [root@localhost ~]#yum -y install ntp ntpdate 主机端配置 [root@localhost ~]#vim /etc/my.cnf 进入mysql交互环境 [root@localhost ~]# mysql -uroot -p mysql> grant replication slave on *.*to’myslave’@'192.168.1.48’identified by ‘123.com’; mysql> flush privileges; #刷新授权表 查看主库状态 mysql> show master status; 从机配置 [root@localhost ~]# vim /etc/my.cnf 重启数据库并进入mysql数据库交互模式 [root@localhost ~]# /etc/init.d/mysqld restart [root@localhost ~]# mysql -uroot -p 配置从slave从库到master主库的参数 mysql> change master to master_host=‘192.168.1.48’,master_user=

mysql主从同步

此生再无相见时 提交于 2019-12-27 13:50:21
打开两台可以相互ping通得虚拟机 分别安装mysql master主机的IP地址为:192.168.1.138 slave主机的IP地址为:192.168.1.203 安装环境 [root@localhost ~]# yum -y install ntp ntpdate 主机配置 [root@localhost ~]# vim /etc/my.cnf 进入mysql交互环境 [root@localhost ~]# mysql -uroot -p mysql> grant replication slave on *.*to’myslave’@'192.168.1.203’identified by ‘123.com’; mysql> flush privileges; #刷新授权表 查看主库状态。 mysql> show master status; 从机slaver配置 修改配置文件,保存并退出。 [root@localhost ~]# vim /etc/my.cnf 重启数据库。 [root@localhost ~]# /etc/init.d/mysqld restart 进入mysql交互环境。 [root@localhost ~]# mysql -uroot -p mysql> change master to master_host=‘192.168.1.138’,

mysql主从同步搭建

别来无恙 提交于 2019-12-27 02:07:59
安装mysql yum安装依赖环境 yum -y install gcc gcc-c++ lrzsz ncurses-devel cmake 使用rz命令将mysql-5.5.22.tar.gz分别上传到主从两台虚拟机中 [root@localhost src]# rz 创建运行用户 [root@localhost /usr/local/src]#groupadd mysql [root@localhost /usr/local/src]#useradd -s /sbin/nologin -M -g mysql mysql 配置并编译安装 [root@localhost src]# cd mysql-5.5.22/ [root@localhost mysql-5.5.22]# cmake -DCMAKE_INSTALL_PREFIX=/data/server/mysql -DSYSCONFDIR=/etc/ -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DWITH_EXTRA_CHARSETS=all [root@localhost mysql-5.5.22]# make -j4 && make install 设置数据库目录的权限并建立配置文件 [root@localhost /usr/local/src

MMM高可用群集

狂风中的少年 提交于 2019-12-26 14:45:50
MMM概述 MMM(Master-Master replication manager for MySQL)是一套支持双主故障切换和双主日常管理的脚本程序。MMM使用Perl语言开发,主要用来监控和管理MySQL Master-Master(双主)复制,可以说是mysql主主复制管理器。虽然叫做双主复制,但是业务上同一时刻只允许对一个主进行写入,另一台备选主上提供部分读服务,以加速在主主切换时刻备选主的预热,可以说MMM这套脚本程序一方面实现了故障切换的功能,另一方面其内部附加的工具脚本也可以实现多个slave的read负载均衡。关于mysql主主复制配置的监控、故障转移和管理的一套可伸缩的脚本套件(在任何时候只有一个节点可以被写入),这个套件也能对居于标准的主从配置的任意数量的从服务器进行读负载均衡,所以你可以用它来在一组居于复制的服务器启动虚拟ip,除此之外,它还有实现数据备份、节点之间重新同步功能的脚本。 MMM提供了自动和手动两种方式移除一组服务器中复制延迟较高的服务器的虚拟ip,同时它还可以备份数据,实现两节点之间的数据同步等。由于MMM无法完全的保证数据一致性,所以MMM适用于对数据的一致性要求不是很高,但是又想最大程度的保证业务可用性的场景。MySQL本身没有提供replication failover的解决方案,通过MMM方案能实现服务器的故障转移

mysql 主从

非 Y 不嫁゛ 提交于 2019-12-26 14:00:00
1.两台服务器 192.168.1.217 192.168.1.218 配置mysql数据库 yum -y install cmake bison git ncurses-devel gcc gcc-c++ cmake -DCMAKE_INSTALL_PREFIX=/data/server/mysql -DMYSQL_DATADIR=/data/server/mysql/data -DSYSCONFDIR=/etc -DWITH_MYISAM_STORAGE_ENGINE=1 -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_MEMORY_STORAGE_ENGINE=1 -DWITH_READLINE=1 -DMYSQL_UNIX_ADDR=/data/server/mysql/mysql.sock -DMYSQL_TCP_PORT=3306 -DENABLED_LOCAL_INFILE=1 -DWITH_PARTITION_STORAGE_ENGINE=1 -DEXTRA_CHARSETS=all -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci make make install 2.配置mysql groupadd mysql useradd -M -g mysql -s