AliSQL主从复制
admin
2023-01-24 20:22:03
0次

MySQL内建的复制功能是构建大型,高性能应用程序的基础。将MySQL的数据分布到多个系统上去,这种分布的机制,是通过将mysql的某一台主机的数据复制到其它主机(slave)上,并重新执行一遍来实现。

复制过程中一个服务器充当主服务器,而一个或多个其它服务器充当从服务器。主服务器将更新写入二进制日志文件,并维护文件的一个索引以跟踪日志循坏,这些日志可以记录发送到从服务器的更新。当一个从服务器

连接主服务器时,它通知主服务器从服务器在日志中读取的最后一次成功更新的位置。从服务器接收从那时起发生的任何更新,然后封锁并等待主服务器通知的更新。

需注意的是:

在进行mysql复制时,所有对复制中的表的更新必须在主服务器上进行。否则必须要小心,以避免用户对主服器上的表进行更新与对从服务器上的表所进行更新之间的冲突。

源码安装AliSQL-AliSQL-5.6.32-9
可以在我的网盘下载包
链接:https://pan.baidu.com/s/1FDmGV2zVLI9NxfdpjVqK4g
提取码:tpuy
复制这段内容后打开百度网盘,操作更方便哦:

主从间的数据库不是实时同步,就算网络连接正常,也存在瞬间主从数据不一致的情况。
如果需要多主库的话,可以用环形配置,这样任意一个节点的修改都可以同步到所有节点所以也需要ntp(时间同步)

源码安装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.107 从库机器ip:192.168.124.108
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

1、master主库添加从库账号
进入到bin目录启动mysql 进入到交互环境

cd /data/server/mysql/bin
./mysql -u root -p

新建用于主从同步的用户chaoge,允许登录的从库是'192.168.124.108'

create user 'chaoge'@'192.168.124.108' identified by 'redhat';

给从库账号授权,说明给chaoge从库复制的权限,在192.168.124.108机器上复制

grant replication slave on *.* to 'chaoge'@'192.168.124.108';

检查主库创建的复制账号

select user,host from mysql.user;

检查授权账号的权限

show grants for chaoge@'192.168.124.108';

检查主库的状态

show master status;

2、slave从库配置

vim /data/server/mysql/my.cnf

AliSQL主从复制

重启mysql数据库

cd /data/server/mysql/support-files
./mysql.server start

进入到mysql bin目录进入到交互环境

cd /data/server/mysql/bin
./mysql -u root -p

AliSQL主从复制

检查Slava从数据库的各项参数

AliSQL主从复制

配置复制的参数,Slave从库连接Master主库的配置

mysql > change master to master_host='192.168.124.108',
master_user='chaoge',
master_password='redhat',
master_log_file='mysql-bin.000001',
master_log_pos=120;

启动从库的同步开关,测试主从复制的情况

AliSQL主从复制

查看复制状态 看到
Slave_IO_Running: Yes
Slave_SQL_Running: Yes
那么就成功了

AliSQL主从复制

相关内容

热门资讯

空调连续工作多久需要停机休息 空调连续工作的时间取决于多个因素,包括空调的型号、功率、使用环境和维护情况等。一般来说,空调可以连续...
空调哪个符号是除湿的 空调除湿功能通常用一个水滴形状的符号表示。不同品牌和型号的空调遥控器可能会有所差异,但一般来说,除湿...
格力空调多长时间加一次氟利昂 1、一般情况下,空调对氟利昂的使用量是非常小的,所以在空调使用了四年左右的时候再考虑加也没问题。2、...
空调用多长时间需要加氟一次 一般情况下是五年。当出现以下这几种情况时,空调才需要加氟。1、空调的室内机和室外机各有两个接口,当接...
格调生活·C标思享荟:卡萨帝在... 9月12日的郑州龙湖金融岛,夜风轻拂,灯光璀璨。“C标时刻共传奇——卡萨帝思享荟暨20周年品牌盛典郑...
品牌价值破千亿、高端份额持续领... 9月12日,“C标时刻共传奇——卡萨帝思享荟暨20周年品牌盛典郑州站”在郑州龙湖金融岛举办。2026...
空调主板坏了修800还是换新的 空调主板坏了是修还是换新,需要考虑多个因素,以下是一些建议:1. 维修成本:如果维修费用较低,比如 ...
空调开多久需要休息多长时间 问题:空调开多久需要休息多长时间回答:1、在使用空调的过程中,一般空调开7~8个小时左右需要休息2~...
中央空调多长时间清洗一次 1、一般空调开机前清洗一次即可,空调开机中间时段再清洗一次,空调关机时清洗一次,这样比较合理。2、空...
中央空调氟利昂多久加一次 看空调制热和制冷程度,很多人的观点认为氟利昂必须一年放一次,其实这个观点是错误的,理解上面有点偏差,...