mysql主从同步读写分离
发表于:2025-12-03 作者:千家信息网编辑
千家信息网最后更新 2025年12月03日,https://pan.baidu.com/s/1tm_FQ4C8heQqzx01URr85A //软件连接百度网盘三台mysql数据库:主数据库服务器:192.168.80.100
千家信息网最后更新 2025年12月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安全错误
数据库的锁怎样保障安全
软件开发的管理
网络安全通讯录
珠海移动宽带服务器
盲人这么做软件开发
软件开发需要敲的代码多吗
用虚拟机备份一台服务器方法
网络安全手抄报100图简单
华为手机云服务器占用空间
疾病临床数据库
软件开发公司贴牌
苏州铭阳互联网科技有限公司
埃基尔松 服务器
开软件开发与销售软件有介定
软件开发合同要不要签订服务期限
梅县外卖软件开发大概多少钱
软件开发规程
app组态软件开发
淄川食品软件开发价格
网络安全领域_VPN通常
天龙八部游戏服务器进不去怎么办
四川电商软件开发服务费
网络安全风险隐患排查总结
软件开发过程与测试
ios开发开发什么软件开发
东莞旅游软件开发编程
魔兽世界新服务器怎么连接
饭圈网络安全漫画
绥化v派钱包软件开发
权限管理 数据库设计
深圳软件开发公司伺服驱动器