MySQL服务器实验搭建(主从服务器,主主服务器,读写分离服务器)

一.介绍

继上一篇mysql基本原理之后,我们开始进入mysql的实操环节,主要是简单搭建mysql的集群,原理上一篇都讲吐了,这一篇咱们直接开始搭建。

二、主从服务器:

(一).主从服务器介绍

1.mysql主从服务器介绍:

MySQL主从又叫做Replication、AB复制。

简单讲就是A和B两台机器做主从后,在A上写数据,另外一台B也会跟着写数据,两者数据实时同步。
MySQL主从是基于binlog的,主上须开启binlog才能进行主从。

2.主从过程:

主将更改操作记录到binlog中
从将主的binlog事件(SQL语句)同步到本机并记录在relaylog中
从根据relaylog里面的SQL语句按顺序执行
说明:

该过程有三个线程 :主上有一个log dump线程,用来和从的i/o线程传递binlog;
从上有两个线程,其中i/o线程用来同步主的binlog并生成relaylog,另外一个SQL线程用来把relaylog里面的SQL语句落地。

(二).主从服务器实验搭建

11是主服务器,12是从服务器

1.安装MySQL:
yum -y install mysql mysql-server
2.主服务器修改主配置文件:
vim /etc/my.cnf
log-bin=mysql-bin
server-id=11

3.从服务器修改主配置文件:
vim /etc/my.cnf
log-bin=mysql-bin
server-id=12

4.启动MySQL:
service mysqld start
5.主服务器MySQL登录:
mysqladmin -uroot password 123
mysql -uroot -p
6.创建mysql普通用户并赋予权限:
grant all on . to ‘cong’@’%’ identified by ‘123’;
7.查看当前二进制日志:
show master status;
8.从服务器MySQL登录:
mysqladmin -uroot password 123
mysql -uroot -p
9.同步主服务器的ip,user,passwd二进制文件,大小的信息
change master to master_host=‘192.168.21.11’,master_user=‘cong’,master_password=‘123’,master_log_file=‘mysql-bin.000003’,master_log_pos=369;
对应主服务器表格
10.查看当前数据库同步状态:
show slave status\G;
11.开启同步:
start slave;

12.主服务器创建库和表:
create database hongfu;
use hongfu;
create table biao (id int, name char(20));
insert into biao values (1, “小王”);
13.从服务器查看是否已同步:
use hongfu;
select * from biao;

三、主主从-服务器备份:

11备份服务器 12 13主服务器
1.安装mysql:
yum -y install mysql mysql-server
2.打开备份服务器主配置文件:
vim /etc/my.cnf
添加:

[mysqld_multi]
mysqld=/usr/bin/mysqld_safe
mysqladmin=/usr/bin/mysqladmin
log=/tmp/multi.log

[mysqld12]
port=3306
pid-file=/var/lib/mysqla/mysqld.pid
datadir=/var/lib/mysqla
socket=/var/lib/mysqla/mysql.sock
server-id=11
user=mysql

[mysqld13]
port=3307
pid-file=/var/lib/mysqlb/mysqld.pid
datadir=/var/lib/mysqlb
socket=/var/lib/mysqlb/mysql.sock
server-id=11
user=mysql

3.创建备份的目录:
mkdir /var/lib/mysqla
mkdir /var/lib/mysqlb
4.赋予权限:
chown mysql:mysql /var/lib/mysqla
chown mysql:mysql /var/lib/mysqlb
5.初始化MySQL:
mysql_install_db --datadir=/var/lib/mysqla --user=mysql
mysql_install_db --datadir=/var/lib/mysqlb --user=mysql
6.启动MySQL:
mysqld_multi --defaults-file=/etc/my.cnf start 12
mysqld_multi --defaults-file=/etc/my.cnf start 13
7.连接数据库时指定套接字:
mysqladmin -uroot password 123 -S /var/lib/mysqla/mysql.sock
mysqladmin -uroot password 456 -S /var/lib/mysqlb/mysql.sock
8.可以登录:
mysql -uroot -p123 -S /var/lib/mysqla/mysql.sock
mysql -uroot -p456 -S /var/lib/mysqlb/mysql.sock
9.换12主服务器:
安装mysql:
yum -y install mysql mysql-server
10.主服务器修改主配置文件:
vim /etc/my.cnf
log-bin=mysql-bin
server-id=12

11.启动MySQL:
service mysqld start
12.登录MySQL:
mysqladmin -uroot password 123
mysql -uroot -p
13.创建mysql普通用户并赋予权限:
grant all on . to ‘cong’@’%’ identified by ‘123’;
14.查看二进制日志:
show master status;

15.换13主服务器:
安装mysql:
yum -y install mysql mysql-server
10.主服务器修改主配置文件:
vim /etc/my.cnf

log-bin=mysql-bin
server-id=13

11.启动MySQL:
service mysqld start
12.登录MySQL:
mysqladmin -uroot password 123
mysql -uroot -p
13.创建mysql普通用户并赋予权限:
grant all on . to ‘cong’@’%’ identified by ‘123’;
14.查看二进制日志:
show master status;

15.在11登录
mysql -uroot -p123 -S /var/lib/mysqla/mysql.sock
16.同步主服务器13的ip,user,passwd二进制文件,大小的信息
change master to master_host=‘192.168.21.12’,master_user=‘cong’,master_password=‘123’,master_log_file=‘mysql-bin.000001’,master_log_pos=xxx;
17.查看当前数据库同步状态:
show slave status\G;
18.开启同步:
start slave;
show slave status\G;
再次查看:

19.将11开启新窗口:
mysql -uroot -p456 -S /var/lib/mysqlb/mysql.sock
20.同步主服务器14的ip,user,passwd二进制文件,大小的信息
change master to master_host=‘192.168.21.13’,master_user=‘cong’,master_password=‘123’,master_log_file=‘mysql-bin.000003’,master_log_pos=xxx;
21.查看当前数据库同步状态:
show slave status\G;
22.开启同步:
start slave;
再次查看是否同步

23.换12创建数据库和表:
create database hongfu1;
use hongfu1;
create table biao (id int, name char(20));
insert into biao values (1, “刘洋”);
select * from biao;

24.换13创建数据库和表:
create database hongfu2;
use hongfu2;
create table biao (id int, name char(20));
insert into biao values (1, “里斯”);
select * from biao;

25.查看11备份服务器已同步:

四、主主服务器:

原理:MySQL主主同步和主从同步的原理一样,只是双方都是主从角色。

1.安装MySQL:
yum -y install mysql mysql-server
2.11服务器修改主配置文件:
vim /etc/my.cnf

log-bin=mysql-bin
server-id=xx
replicate-do-db=test
binlog-ignore-db=mysql
binlog-ignore-db=information_schema
auto-increment-increment=2
auto-increment-offset=1

3.12服务器修改主配置文件:
vim /etc/my.cnf

symbolic-links=0
log-bin=mysql-bin
server-id=12

replicate-do-db=test (同步的库)
binlog-ignore-db=mysql (不同步的库)
binlog-ignore-db=information_schema
auto-increment-increment=2 (自增长为2)
auto-increment-offset=2 (起始值为0)

4.启动MySQL:
service mysqld start
5.11服务器MySQL登录:
mysqladmin -uroot password 123
mysql -uroot -p
6.创建mysql普通用户并赋予权限:
grant all on . to ‘cong’@’%’ identified by ‘123’;
7.查看当前二进制日志:
show master status;
在这里插入图片描述

8.12服务器MySQL登录:
mysqladmin -uroot password 123
mysql -uroot -p
9.创建mysql普通用户并赋予权限:
grant all on . to ‘cong’@’%’ identified by ‘123’;
10.查看当前二进制日志:
show master status;

11.换11同步12服务器的ip,user,passwd二进制文件,大小的信息
change master to master_host=‘192.168.21.12’,master_user=‘cong’,master_password=‘123’,master_log_file=‘mysql-bin.000003’,master_log_pos=379;
12.查看当前数据库同步状态:
show slave status\G;
13.开启同步:
start slave;
再次查看

14.在12创建表和信息:
use test;
create table biao (
-> id int unsigned not null auto_increment, 自增长不能为空的正整型
-> name char(40) not null default ‘无’, 默认为无
-> primary key (id)); id不能重复
insert into biao (name) values (“明明”);

删除表中字段:
delete from biao where id=1;

15.11已同步:

16.换12同步11服务器的ip,user,passwd二进制文件,大小的信息
change master to master_host=‘192.168.21.11’,master_user=‘cong’,master_password=‘123’,master_log_file=‘mysql-bin.000003’,master_log_pos=513;
17.查看当前数据库同步状态:
show slave status\G;
18.开启同步:
start slave;
再次查看:

在11上创建表和信息:
insert into biao (name) values (“ddas”);
select * from biao;
两台都已同步:

五、MySQL中间键-读写分离:(ameba中间键)

原理:MySQL的主从复制和MySQL的读写分离两者有着紧密联系,首先部署主从复制,只有主从复制完了,才能在此基础上进行数据的读写分离。
简单来说,读写分离就是只在主服务器上写,只在从服务器上读,基本的原理是让主数据库处理事务性操作,而从数据库处理非事务性操作,然后再采用主从复制来把master上的事务性操作同步到slave数据库中。

11中间键 12主服务器 13从服务器

1.12主服务器:
安装MySQL软件
yum -y install mysql mysql-server
2.主服务器修改主配置文件:
vim /etc/my.cnf
log-bin=mysql-bin
server-id=12
3.启动MySQL:
service mysqld start
4.主服务器MySQL登录:
mysqladmin -uroot password 123
mysql -uroot -p
5.创建mysql普通用户并赋予权限:
grant all on . to ‘cong’@’%’ identified by ‘123’;
6.查看当前二进制日志:
show master status;
在这里插入图片描述

1.13从服务器:
安装MySQL软件
yum -y install mysql mysql-server
2.从服务器修改主配置文件:
vim /etc/my.cnf
log-bin=mysql-bin
server-id=13

3.启动MySQL:
service mysqld start
4.主服务器MySQL登录:
mysqladmin -uroot password 123
mysql -uroot -p
5.同步主服务器的ip,user,passwd二进制文件,大小的信息
change master to master_host=‘192.168.21.11’,master_user=‘cong’,master_password=‘123’,master_log_file=‘mysql-bin.000003’,master_log_pos=xxx;
6.查看当前数据库同步状态:
show slave status\G;
7.开启同步:
start slave;

8.12主服务器创建库和表:
create database hongfu;
use hongfu;
create table biao (id int, name char(20));
insert into biao values (1, “小李”);
grant all on . to ‘aaa’@’%’ identified by ‘123’;
9.13从服务器查看是否已同步:
use hongfu;
select * from biao;

10.将从服务器同步关掉,为保证实验效果: (实验环境不能关)
stop slave;
insert into biao values (2, “小文”);

grant all on . to ‘aaa’@’%’ identified by ‘123’;
11.在11服务器安装阿米巴镜像:
yum -y install mysql mysql-server
service mysqld resatrt
amoeba-n.iso
12.mkdir /mnt/ios
13.mount -o loop amoeba-n.iso /mnt/ios/
14.cp -a /mnt/ios/* .
15.tar -zxf jdk-7u40-linux-x64.gz
16.mv jdk1.7.0_40/ /usr/local/
17.ln -s /usr/local/jdk1.7.0_40/ /usr/local/jdk
18.vim /etc/profile 设置环境变量(在最后一行插入)

#jdk 环境变量

JAVA_HOME=/usr/local/jdk
export JAVA_HOME
PATH= J A V A H O M E / b i n : JAVA_HOME/bin: JAVAHOME/bin:PATH
export PATH
CLASSPATH=.: J A V A H O M E / l i b / t o o l s . j a r : JAVA_HOME/lib/tools.jar: JAVAHOME/lib/tools.jar:JAVA_HOME/lib/dt.jar:$CLASSPATH
export CLASSPATH

16.刷新
. /etc/profile
17.mkdir /usr/local/amoeba
18.unzip amoeba-mysql-1.3.1-BETA.zip -d /usr/local/amoeba/
19.cd /usr/local/amoeba/conf/
vim amoeba.xml

20.cd /usr/local/amoeba/bin/
vim amoeba:配置读写分离服务器
21.后台开启:
nohup bash -x /usr/local/amoeba/bin/amoeba &
22.查看端口:
netstat -antp | grep :9000
23.连接数据库:
mysql -uroot -p123 -P 9000 -h 192.168.21.11
use hongfu;
select * from biao;
insert into biao values (3, “小宁”);

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
智慧校园整体解决方案是响应国家教育信息化政策,结合教育改革和技术创新的产物。该方案以物联网、大数据、人工智能和移动互联技术为基础,旨在打造一个安全、高效、互动且环保的教育环境。方案强调从数字化校园向智慧校园的转变,通过自动数据采集、智能分析和按需服务,实现校园业务的智能化管理。 方案的总体设计原则包括应用至上、分层设计和互联互通,确保系统能够满足不同用户角色的需求,并实现数据和资源的整合与共享。框架设计涵盖了校园安全、管理、教学、环境等多个方面,构建了一个全面的校园应用生态系统。这包括智慧安全系统、校园身份识别、智能排课及选课系统、智慧学习系统、精品录播教室方案等,以支持个性化学习和教学评估。 建设内容突出了智慧安全和智慧管理的重要性。智慧安全管理通过分布式录播系统和紧急预案一键启动功能,增强校园安全预警和事件响应能力。智慧管理系统则利用物联网技术,实现人员和设备的智能管理,提高校园运营效率。 智慧教学部分,方案提供了智慧学习系统和精品录播教室方案,支持专业级学习硬件和智能化网络管理,促进个性化学习和教学资源的高效利用。同时,教学质量评估中心和资源应用平台的建设,旨在提升教学评估的科学性和教育资源的共享性。 智慧环境建设则侧重于基于物联网的设备管理,通过智慧教室管理系统实现教室环境的智能控制和能效管理,打造绿色、节能的校园环境。电子班牌和校园信息发布系统的建设,将作为智慧校园的核心和入口,提供教务、一卡通、图书馆等系统的集成信息。 总体而言,智慧校园整体解决方案通过集成先进技术,不仅提升了校园的信息化水平,而且优化了教学和管理流程,为学生、教师和家长提供了更加便捷、个性化的教育体验。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值