mysql实现主从同步(复制)
源码安装AliSQL-AliSQL-5.6.32-9 可以在我的网盘下载包 链接:https://pan.baidu.com/s/1FDmGV2zVLI9NxfdpjVqK4g 提取码:tpuy
复制这段内容后打开百度网盘手机App,操作更方便哦
-
主从间的数据库不是实时同步,就算网络连接正常,也存在瞬间主从数据不一致的情况。
-
如果主从的网络断开,则从库会在网络恢复正常后,批量进行同步。
-
如果对从库进行修改数据,那么如果此时从库正在在执行主库的bin-log时,则会出现错误而停止同步,这个是很危险的操作。所以一般情况下,我们要非常小心的修改从库上的数据。
-
一个衍生的配置是双主、互为主从配置,只要双方的修改不冲突,则可以工作良好。
- 如果需要多主库的话,可以用环形配置,这样任意一个节点的修改都可以同步到所有节点
所以也需要ntp(时间同步)服务参考文档
https://blog.51cto.com/14354119/2427880
源码安装AliSQL 接下来我们源码安装AliSQL 下载依赖包 解压 wget http://repo.openfusion.net/centos7-x86_64//perl-Data-Dumper-2.154-1.of.el7.x86_64.rpm rpm -ivh perl-Data-Dumper-2.154-1.of.el7.x86_64.rpm yum -y install cmake bison git ncurses-devel gcc gcc-c++ 解压AliSQL unzip AliSQL-AliSQL-5.6.32-9.zip 创建一个mysql的组 groupadd mysql useradd -g mysql mysql
创建mysql目录还有data目录 mkdir -p /data/server/mysql/data cd /usr/local/src/AliSQL-AliSQL-5.6.32-9
编译指定路径为data server 目录下的mysql
cmake -DCMAKE_INSTALL_PREFIX=/data/server/mysql -DMYSQL_UNIX_ADDR=/data/server/mysql/mysql.sock -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_ARCHIVE_STORAGE_ENGINE=1 -DWITH_BLACKHOLE_STORAGE_ENGINE=1 -DMYSQL_DATADIR=/data/server/mysql/data -DMYSQL_TCP_PORT=3306 -DMYSQL_USER=mysql -DENABLE_DOWNLOADS=1
make && make install 注意修改mysql目录的属主和属组 chown -R mysql:mysql /data/server/mysql/data/ chown -R mysql:mysql /data/server/mysql/ cd /data/server/mysql
初始化数据库 scripts/mysql_install_db --defaults-file=./my.cnf --user=mysql 修改生成的文件属主和属组 chown -R mysql:mysql my.cnf 然后开启mysql服务 cd /data/server/mysql/support-files ./mysql.server start
开启之后进入交互环境 cd /data/server/mysql/bin ./mysql -u root -p
这里我们准备两台机器全部安装AliSQL-AliSQL-5.6.32-9安装到/data/server下
主库机器ip:192.168.124.89 从库机器ip:192.168.124.109
master主库配置 vim /data/server/ #修改内容 #解释:server-id服务的唯一标识(主从之间都必须不同);log-bin启动二进制日志名称为mysql-bin 【mysqld】 server-id=1 log-bin=mysql-bin 保存退出 cd /data/server/mysql/support-files ./mysql.server start master主库添加从库账号 进入到bin目录启动mysql 进入到交互环境 cd /data/server/mysql/bin ./mysql -u root -p
新建用于主从同步的用户chaoge,允许登录的从库是'192.168.124.109'
给从库账号授权,说明给chaoge从库复制的权限,在192.168.124.109机器上复制
检查主库创建的复制账号
检查授权账号的权限
再查看主库状态
slave从库配置 vim /data/server/mysql/my.cnf
重启mysql数据库 cd /data/server/mysql/support-files ./mysql.server start 进入到mysql bin目录进入到交互环境 cd /data/server/mysql/bin ./mysql -u root -p
检查Slava从数据库的各项参数
配置复制的参数,Slave从库连接Master主库的配置
启动从库的同步开关,测试主从复制的情况
查看复制状态 看到 Slave_IO_Running: Yes Slave_SQL_Running: Yes
那么就成功了
现在我们测试一下
我们在主库创建一个zzq的数据库
看一下所有数据库有没有zzq数据库
然后看从机有没有zzq数据库
发现有zzq数据库那我们主从复制就搭建成功了
- 如何实现 MySQL 的读写分离?MySQL 主从复制原理是啥?如何解决 MySQL 主从同步的延时问题?
- MySQL多主多从架构实现及主从复制问题处理 推荐
- mysql/mariadb 主从复制实现数据库同步
- 北京Linux入门培训机构:MySQL复制的实现
- centos 7下部署lvs+keepalived实现mysql的主主复制高可用(还有两台附属web服务器)
- mysql主从复制之mysql-proxy实现读写分离
- MySQL主要复制+ LVS + Keepalived实现MySQL高可用性
- Mysql的主从复制的读写分离之Amoeba实现 推荐
- Mysql的主从复制的读写分离之Amoeba实现
- mysql读写分离(主从复制)实现
- 各版本 MySQL 并行复制的实现及优缺点
- MySQL之——MS主从复制(读写分离)实现
- Amoeba实现Mysql主从复制读写分离
- mysql-mmm------实现mysql互为主从复制HA功能
- centos7.6 搭建MYSQL5.7.24 + MYCAT + MYCAT-WEB实现主从复制读写分离
- MySQL主从复制及使用AMOEBA实现读…
- 记一次基于Centos安装MYSQL;实现主从复制
- MySQL学习(三):主从复制Replication实现高可用的架构模式
- 使用MMM实现MySQL双主复制高可用
- mysql dba系统学习(18)mysql主从复制的实现 mysql dba系统学习(19)配置mysql+lvs+keeplived实现Mysql读操作的负载均衡