mysql同步复制

1 安装mysql
yum install gcc* gcc-c++* autoconf* automake* zlib* libxml* ncurses-devel* libgcrypt* libtool* openssl* -y
groupadd mysql
useradd mysql -g mysql
mkdir /usr/local/mysql
mkdir /usr/local/mysql/data
chown -R mysql.mysql /usr/local/mysql/data/

cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DSYSCONFDIR=/usr/local/mysql/etc \
-DMYSQL_DATADIR=/usr/local/mysql/data \
-DMYSQL_TCP_PORT=3306 \
-DMYSQL_UNIX_ADDR=/tmp/mysqld.sock \
-DMYSQL_USER=mysql \
-DEXTRA_CHARSETS=all \
-DWITH_READLINE=1 \
-DWITH_SSL=system \
-DWITH_EMBEDDED_SERVER=1 \
-DENABLED_LOCAL_INFILE=1 \
-DWITH_INNOBASE_STORAGE_ENGINE=1
make && make install

./mysql_install_db --user=mysql --basedir=/usr/local/mysql/ --datadir=/usr/local/mysql/data/ &
cp ../support-files/mysql.server /etc/init.d/mysql
chmod +x /etc/init.d/mysql
mv /etc/my.cnf /etc/my.cnf_bak
cp ../support-files/my-default.cnf  /etc/my.cnf

将以下加入my.cnf:
log-bin=mysql-bin
server-id=1
innodb_flush_log_at_trx_commit=1
sync_binlog=1
#binlog-do-db=mysql
#binlog_ignore_db=mysql
不加以上注释两行,标识复制全部数据库

重启mysql

创建slave用户:
create user ‘slave‘@10.0.0.3 identified by ‘slave‘;
grant replication slave on *.* to [email protected] identified by ‘salve‘;
flush tables with read lock; 执行以下命令锁定数据库以防止写入数据
不要关闭现在窗口,新开一个窗口:
mysqldump -uroot -p --all-databases>all.sql
mysql -uroot -p
show master status; 记住
mysql> show master status;
+------------------+----------+--------------+------------------+-------------------+
| File             | Position | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set |
+------------------+----------+--------------+------------------+-------------------+
| mysql-bin.000001 |      494 | mysql        |                  |                   |
+------------------+----------+--------------+------------------+-------------------+
1 row in set (0.00 sec)

然后在锁定数据库表窗口解锁:
unlock tables;

从数据库:

mysql -uroot -p <all.sql
mysql> change master to
    -> master_host=‘10.0.0.2‘,
    -> master_user=‘salve‘,
    -> master_password=‘salve‘,
    -> master_port=3306,
    -> master_log_file=‘mysql-bin.000001‘,
    -> master_log_pos=494,
    -> master_connect_retry=10;
新建mysql数据库测试同步

时间: 2024-10-10 03:58:10

mysql同步复制的相关文章

详解MySQL双活同步复制四种解决方案

目录 基于MySQL原生复制主主同步方案 基于Galera replication方案 基于Group Replication方案 基于canal方案 对于数据实时同步,其核心是需要基于日志来实现,是可以实现准实时的数据同步,基于日志实现不会要求数据库本身在设计和实现中带来任何额外的约束. 基于MySQL原生复制主主同步方案  这是常见的方案,一般来说,中小型规模的时候,采用这种架构是最省事的. 两个节点可以采用简单的双主模式,并且使用专线连接,在master_A节点发生故障后,应用连接快速切换

MySQL 主从复制、主主复制、半同步复制

MySQL 复制 =============================================================================== 概述: =============================================================================== MySQL Replication:   1.主从复制的目的和架构 ★Master/Slave(主/从) Master: write/read Slave

简述mysql半同步复制—semisync

mysql的半同步复制-semisync是基于默认的异步复制和完全同步复制之间,它是在master在执行完客户端提交的事务后不是立刻返回给客户端,而是等待至少一个slave收到并写到relay log中才返回给客户端.相对于异步复制,semisync提高了数据的安全性,但是又比完全同步性能好,所以master和slave之间的时间一定要一致,以免造成semisync失败.mysql的半同步复制的插件是由Google免费提供的在mysql的$basedir/lib/plugin下有相应的动态库文件

mysql的主从、主主及半同步复制

mysql复制 Mysql内建的复制功能是构建大型,高性能应用程序的基础.将Mysql的数据分布到多个系统上去,这种分布的机制,是通过将Mysql的某一台主机的数据复制到其它主机(slaves)上,并重新执行一遍来实现的.复制过程中一个服务器充当主服务器,而一个或多个其它服务器充当从服务器.主服务器将更新写入二进制日志文件,并维护文件的一个索引以跟踪日志循环.这些日志可以记录发送到从服务器的更新.当一个从服务器连接主服务器时,它通知主服务器从服务器在日志中读取的最后一次成功更新的位置.从服务器接

mysql半同步复制及复制过滤

配置mysql半同步,前提是已经有master和slave环境. MySQL半同步配置 Master配置 安装semisync_master插件 mysql> INSTALL PLUGIN rpl_semi_sync_master SONAME 'semisync_master.so'; Query OK, 0 rows affected (0.02 sec) mysql>show plugins; +----------------------------+----------+------

MySQL学习笔记12半同步复制

1.1.1. 相关概念 默认情况下,MySQL使用异步复制,即master上的事务执行与slave上的复制操作不需要同步,master不需要等待slave上的复制线程将Binary Log接收完毕即可执行其它事务. 半同步复制时,master上的事务执行与slave上的复制操作需要在某个步骤上进行同步,master需要等待slave上的复制线程接收完毕Binary Log. 异步复制的工作效率比较高,但是在特定条件下,有可能造成master和slave的数据不一致.半同步复制可以降低数据不一致的

MySQL数据的主从复制、半同步复制和主主复制详解

一.MySQL复制概述 ⑴.MySQL数据的复制的基本介绍 目前MySQL数据库已经占去数据库市场上很大的份额,其一是由于MySQL数据的开源性和高性能,当然还有重要的一条就是免费~不过不知道还能免费多久,不容乐观的未来,但是我们还是要能熟练掌握MySQL数据的架构和安全备份等功能,毕竟现在它还算是开源界的老大吧! MySQL数据库支持同步复制.单向.异步复制,在复制的过程中一个服务器充当主服务,而一个或多个服务器充当从服务器.主服务器将更新写入二进制日志文件,并维护文件的一个索引以跟踪日志循环

mysql主从复制的异步复制与同步复制

异 步复制:MySQL本身支持单向的.异步的复制.异步复制意味着在把数据从一台机器拷贝到另一台机器时有一个延时 – 最重要的是这意味着当应用系统的事务提交已经确认时数据并不能在同一时刻拷贝/应用到从机.通常这个延时是由网络带宽.资源可用性和系统负载决定的.然 而,使用正确的组件并且调优,复制能做到接近瞬时完成. 同步复制:同步复制可以定义为数据在同一时刻被提交到一台或多台机器,通常这是通过众所周知的“两阶段提交”做到的.虽然这确实给你在多系统中保持一致性,但也由于增加了额外的消息交换而造成性能下

mysql半同步复制的实现

mysql半同步复制和异步复制的差别如上述架构图所示:在mysql异步复制的情况下,Mysql Master Server将自己的Binary Log通过复制线程传输出去以后,Mysql Master Sever就自动返回数据给客户端,而不管slave上是否接受到了这个二进制日志.在半同步复制的架构下,当master在将自己binlog发给slave上的时候,要确保slave已经接受到了这个二进制日志以后,才会返回数据给客户端.对比两种架构:异步复制对于用户来说,可以确保得到快速的响应结构,但是