SQL是Structured Query Language(结构化查询语言)的缩写。SQL是专为数据库而建立的操作命令集,是一种功能齐全的数据库语言。在使用它时,只需要发出“做什么”的命令,“怎么做”是不用使用者考虑的。SQL功能强大、简单易学、使用方便,已经成为了数据库操作的基础,并且现在几乎所有的数据库均支持SQL。 MySQL主从复制环境可以说是一切高可用的基础。它的原理也比较简单,下面我们先来了解下主从复制的原理: 虽然图上一共有7步,可以简化一下帮助记忆和理解:
Master上进行改、写操作; MySQL把修改数据写进binlog; Slave发起IO thread,把master上新的binlog拉取到本地中继日志中; 重放中继日志,让在master上面的修改、新增操作在Slave本机上重新运行一遍; Slave按照正常的操作也会把操作写进本地的binlog。
硬件环境本人有阿里云、腾讯云各一台屌丝机,因此用来试验,为保护隐私,把ip已经替换了,但不影响操作。 阿里云 | 192.168.1.100 | 3306 | MySQL5.7.14 | Master | 腾讯云 | 192.168.1.200 | 3306 | MySQL5.7.18 | Slave |
Master上设置开启binlog设置server-id在/etc/my.cnf中的mysqld选项下编辑,然后重启 [mysqld]
log-bin=mysql-bin
server-id=1003306 /etc/init.d/mysql restart 创建复制专用账号mysql> CREATE USER 'repl'@'%.mydomain.com' IDENTIFIED BY 'slave;
mysql> GRANT REPLICATION SLAVE ON *.* TO 'repl'@'192.168.1.200'; 导出数据同步到腾讯云上面使用mysqldump导出所有数据库数据,另外备份文件中会记录当前的binlog文件和position。 #防止DDL、写操作
mysql>FLUSH TABLES WITH READ LOCK;
shell>mysqldump -uroot -p --single-transaction --master-data=2 -A>back.sql 也通过以下方式可以查看: root@localhost [mysql]>show master status;
+------------------+----------+--------------+------------------+-------------------+
|
关键词: 教你如何在阿里云与腾讯云简单搭建传统主从复制环境图文详细教程