mysql主从同步读写分离
发表于:2026-11-03 作者:千家信息网编辑
千家信息网最后更新 2026年11月03日,https://pan.baidu.com/s/1tm_FQ4C8heQqzx01URr85A //软件连接百度网盘三台mysql数据库:主数据库服务器:192.168.80.100
千家信息网最后更新 2026年11月03日mysql主从同步读写分离在客户端上使用命令在test创建一个表:
https://pan.baidu.com/s/1tm_FQ4C8heQqzx01URr85A //软件连接百度网盘
三台mysql数据库:主数据库服务器:192.168.80.100 从数据库服务器1:192.168.80.101 从数据库服务器2:192.168.80.102一台amoeba调度器:192.168.80.103一台mariadb客户端: 192.168.80.104注:五台虚拟机第一步都写以下两行
systemctl stop firewalld //关闭防火墙setenforce 0 //关闭监控配置MySQL主从环境准备
配置NTP服务器-----时间同步[root@NGINX ~]# yum install -y ntp //安装时间同步程序[root@NGINX ~]# service ntpd start#注:如果跑错就 service ntpd stop[root@NGINX ~]# ntpdate -u cn.pool.ntp.org //同步网络时间
[root@NGINX ~]# vi /etc/ntp.conf //配置时间同步在合适位置新增以下三行:restrict 192.168.80.0 mask 255.255.255.0 nomodifyserver 127.127.1.0fudge 127.127.1.0 stratum 8在从服务器上:[root@localhost ~]# yum install -y ntp[root@localhost ~]# ntpdate 192.168.80.100
[root@localhost ~]# echo '*/30 * * * * /usr/sbin/ntpdate 192.168.80.100' >> /var/spool/cron/root //设置计划任务,每隔30分钟同步一次[root@localhost ~]# crontab -l然后配置mysql服务器主从复制在主mysql服务器上:192.168.80.100[root@NGINX ~]# vi /etc/my.cnf在socket下面插入:server-id=11log_bin=master_binlog_slave_updates=true[root@NGINX ~]# service mysqld restart 如果没有设置root密码使用下面一行代码mysqladmin -u root -p password "abc123" [root@NGINX ~]# mysql -u root -p //进入数据库mysql> GRANT REPLICATION SLAVE ON *.* TO 'myslave'@'192.168.80.%' IDENTIFIED BY '123456';//为所有从服务器授权所有数据库mysql> FLUSH PRIVILEGES; //刷新权限mysql> show master status \G在从服务器1上设置:192.168.80.101
[root@localhost ~]# vi /etc/my.cnf修改并新增以下内容:server-id = 22relay_log=relay-log-binrelay_log_index=slave-relay-bin.index[root@localhost ~]# systemctl restart mysqld 如果没有设置root密码使用下面一行代码mysqladmin -u root -p password "abc123" [root@localhost ~]# mysql -u root -pmysql> change master to master_host='192.168.80.100',master_user='myslave',master_password='123456',master_log_file='master_bin.000007',master_log_pos=154;mysql> start slave;mysql> show slave status \G在从服务器2上设置:
[root@test ~]# vi /etc/my.cnf修改并新增以下内容:server-id = 33relay_log=relay-log-binrelay_log_index=slave-relay-bin.index[root@test ~]# service mysqld restart 如果没有设置root密码使用下面一行代码mysqladmin -u root -p password "abc123" [root@test ~]# mysql -u root -pmysql> change master to master_host='192.168.80.100',master_user='myslave',master_password='123456',master_log_file='master_bin.000007',master_log_pos=154;mysql> start slave;mysql> show slave status \G测试,在主服务器上创建一个空库,看一下从服务器上有木有
在主服务上mysql> create database ab;在从服务器1上:mysql> show databases;在服务器2上:mysql> show databases;在前端服务器上:192.168.80.103
[root@amoeba ~]# yum install -y ntpdate [root@amoeba ~]# ntpdate 192.168.80.100[root@amoeba ~]# echo '*/30 * * * * /usr/sbin/ntpdate 192.168.80.100' >> /var/spool/cron/root[root@amoeba ~]# crontab -l[root@amoeba ~]# tar xf jdk-8u144-linux-x64.tar.gz -C /opt/[root@amoeba ~]# cd /opt/[root@amoeba opt]# cp -rv jdk1.8.0_144/ /usr/local/java[root@amoeba opt]# vi /etc/profileexport JAVA_HOME=/usr/local/javaexport JRE_HOME=/usr/local/java/jreexport PATH=$PATH:/usr/local/java/binexport CLASSPATH=./:/usr/local/java/lib:/usr/local/java/jre/lib[root@amoeba opt]# source /etc/profile[root@amoeba opt]# java -version现在搭建好了Java环境了
yum -y install zip unzip[root@amoeba ~]# unzip amoeba-mysql-3.0.5-RC-distribution.zip -d /opt/[root@amoeba ~]# cd /opt/[root@amoeba opt]# mv amoeba-mysql-3.0.5-RC/ /usr/local/amoeba[root@amoeba opt]# chmod -R 755 /usr/local/amoeba/[root@amoeba opt]# vi /usr/local/amoeba/jvm.properties新增:JVM_OPTIONS="-server -Xms1024m -Xmx1024m -Xss256k"[root@amoeba opt]# vi /etc/init.d/amoeba //编辑系统服务脚本#!/bin/bash#chkconfig: 35 62 62#export JAVA_HOME=/usr/local/javaexport PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATHNAME=AmoebaAMOEBA_BIN=/usr/local/amoeba/bin/launcherSHUTDOWN_BIN=/usr/local/amoeba/bin/shutdownPIDFILE=/usr/local/amoeba/Amoeba-MySQL.pidSCRIPTNAME=/etc/init.d/amoebacase "$1" instart)echo -n "Starting $NAME... "$AMOEBA_BINecho " done";;stop)echo -n "Stoping $NAME... "$SHUTDOWN_BINecho " done";;restart)$SHUTDOWN_BINsleep 1$AMOEBA_BIN;;*)echo "Usage: $SCRIPTNAME {start|stop|restart}"exit 1;;esac[root@amoeba opt]# chmod +x /etc/init.d/amoeba //给予执行权限[root@amoeba opt]# chkconfig --add amoeba //添加到系统管理中[root@amoeba opt]# service amoeba start //开启amoeba服务
显示这个就等于到这步没有问题
--------配置读写分离-------------
----在三台mysql数据库中为amoeba授权-------
mysql> GRANT ALL ON *.* TO test@'192.168.80.%' IDENTIFIED BY '123123';mysql> FLUSH PRIVILEGES;--------在amoeba前端服务器上----[root@amoeba amoeba]# cd /usr/local/amoeba[root@amoeba amoeba]# vi conf/amoeba.xml-----设置客户端连接amoeba前端服务器时使用的用户名和密码----28行 amoeba 123456 ----同时把默认的server1改成master,把默认的servers改成 slaves-----83行 slaves master slaves cd conf/[root@amoeba conf]# vi dbServers.xml 26行 test 123123 //指定数据库的登录用户名和密码修改以下内容192.168.80.100 192.168.80.101 192.168.80.102/property> slave1,slave2 [root@amoeba amoeba]# service amoeba restart[root@amoeba amoeba]# netstat -anpt | grep java在客户端服务器上:192.168.80.104
[root@MYSQL ~]# yum install -y mysql
[root@MYSQL ~]# mysql -u amoeba -p123456 -h 192.168.80.103 -P8066
在客户端上使用命令在test创建一个表:
MySQL [(none)]> use test;
MySQL [test]> create table zhang (id int(10),name varchar(10),address varchar(20));
MySQL [test]> show tables;
80.100
80.104
服务
服务器
数据
数据库
同步
密码
配置
客户
客户端
时间
一行
代码
内容
前端
主从
权限
环境
用户
用户名
系统
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
喔噻互联网科技有限公司
互联网佳科技有限公司
北京互联网科技有限公司
青岛互联网科技公司
睿民互联网科技
上海万想互联网科技
佰商互联网科技有限公司
多迪互联网科技有限公司
新华互联网科技校企合作
华中科技有哪些互联网大佬
济南和联互联网科技有限公司
湖南诚度互联网科技有限公司
湖北码尼互联网科技有限公司电话
互联网时代的科技公司
互联网金融科技元年
黑科技 体验场景 互联网大会
绵阳真晨互联网科技有限公司
青岛易易互联网科技
互联网企业和网络科技有限公司
株洲百竞科技的互联网营销顾问
中国互联网科技工作委员会毛军
百单互联网科技有限公司
兼蜜互联网科技
猫创互联网科技
亿人帮互联网科技
中国的互联网科技企业的崛起
深圳市优智互联网科技有限公司
洛阳共同富裕互联网科技有限公司
长沙渺峰互联网科技有限公司
马化腾互联网科技教学