mysql主从复制读写分离

             mysql主从复制读写分离

Centos01:主服务器
Centos02:从服务器
Centos03::从服务器
一.配置主从复制
1.配置ntp服务器
安装ntp
[root@centos ~]# yum -y install ntp
在这里插入图片描述

修改ntp配置文件
[root@centos ~]# vim /etc/ntp.conf
在这里插入图片描述

18 restrict 192.168.100.0 mask 255.255.255.0 nomodify notrap
19 server 127.127.1.0
20 fudge 127.127.1.0 stratum 8
在这里插入图片描述

启动服务设置开机自动启动
[root@centos ~]# systemctl start ntpd
[root@centos ~]# systemctl enable ntpd
在这里插入图片描述

其他服务器同步时间
[root@centos ~]# ntpdate 192.168.100.10
在这里插入图片描述

2.安装mysql(01,02,05)
安装依赖
[root@centos ~]# yum -y install ncurses-devel.x86_64 cmake.x86_64
在这里插入图片描述

创建管理mysql组,将创建的mysql用户加入到组
[root@centos ~]# groupadd mysql
[root@centos ~]# useradd -M -s /sbin/nologin -g mysql mysql
在这里插入图片描述

切换Linux光盘,解压文件
[root@centos ~]# tar zxvf /mnt/mysql-5.5.22.tar.gz -C /usr/src/
在这里插入图片描述

将文件拷贝到20.0和50.0
[root@centos ~]# scp /mnt/mysql-5.5.22.tar.gz root@192.168.100.20:/usr/src/
在这里插入图片描述

配置mysql
[root@centos ~]# cd /usr/src/mysql-5.5.22/
[root@centos mysql-5.5.22]# cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DDEFAULT_CHARSET_CHARSET=utf8 -DDEFAU
LT_COLLATION=utf8_general_ci -DWITH_EXTRA_CHARSETS=all -DSYSCONFDIR=/etc
在这里插入图片描述
在这里插入图片描述

02,05:
[root@centos ~]# tar zxvf /usr/src/mysql-5.5.22.tar.gz -C /usr/src/

[root@centos05 ~]# cd /usr/src/mysql-5.5.22/
cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci
-DWITH_EXTRA_CHARSETS=all -DSYSCONFDIR=/etc
在这里插入图片描述
在这里插入图片描述

编译安装
[root@centos mysql-5.5.22]# make && make install
在这里插入图片描述

生成mysql主配置文件
[root@centos mysql-5.5.22]# cp support-files/my-medium.cnf /etc/my.cnf
在这里插入图片描述

生成mysql服务控制文件
[root@centos mysql-5.5.22]# cp support-files/mysql.server /etc/init.d/mysqld
[root@centos mysql-5.5.22]# chmod +x /etc/init.d/mysqld
在这里插入图片描述

[root@centos ~]# chkconfig --add mysqld
[root@centos ~]# chkconfig --level 35 mysqld on
在这里插入图片描述
在这里插入图片描述

优化命令
[root@centos mysql-5.5.22]# vim /etc/profile
在这里插入图片描述

PATH=$PATH:/usr/local/mysql/bin
在这里插入图片描述

[root@centos mysql-5.5.22]# source /etc/profile
在这里插入图片描述

初始化服务:
[root@centos ~]# /usr/local/mysql/scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql --datadir=/us
r/local/mysql/data
在这里插入图片描述

启动服务
[root@centos ~]# systemctl start mysqld
在这里插入图片描述

查看端口
[root@centos ~]# netstat -anptu | grep 3306
在这里插入图片描述

为root用户设置密码
[root@centos ~]# mysqladmin -uroot password ‘pwd@123’
在这里插入图片描述

登录
[root@centos ~]# mysql -uroot -ppwd@123
在这里插入图片描述

3.修改主mysql配置文件
修改配置文件
[root@centos ~]# vim /etc/my.cnf
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

重新启动MySQL服务加载配置文件
[root@centos ~]# systemctl restart mysqld
在这里插入图片描述

3.修改从mysql主配置文件
02:
修改从服务器主配置文件
[root@centos ~]# vim /etc/my.cnf
在这里插入图片描述
在这里插入图片描述

重启MySQL服务加载配置文件
[root@centos ~]# systemctl restart mysqld
在这里插入图片描述

05:
[root@centos05 ~]# scp root@192.168.100.20:/etc/my.cnf /etc/
在这里插入图片描述

[root@centos ~]# vim /etc/my.cnf
在这里插入图片描述
在这里插入图片描述

重启MySQL服务加载配置文件
[root@centos05 ~]# systemctl restart mysqld
在这里插入图片描述

4.配置主从复制
创建主从复制账户
[root@centos ~]# mysql -uroot -ppwd@123
mysql> grant replication slave on . to ‘slave’@‘192.168.100.%’ identified by ‘pwd@123’;
在这里插入图片描述

mysql> select user,host from mysql.user;
在这里插入图片描述

mysql> select user,host from mysql.user where user=‘slave’;
在这里插入图片描述

查看主MySQL状态
mysql> show master status;
在这里插入图片描述

配置从MySQL数据库复制账户
20:
[root@centos ~]# mysql -uroot -ppwd@123
在这里插入图片描述

mysql> change master to master_host=‘192.168.100.10’,master_user=‘slave’,master_password=‘pwd@123’,master_log_fi
le=‘mysql-bin.000005’,master_log_pos=263;
在这里插入图片描述

启动从数据库复制进程
mysql> start slave;
在这里插入图片描述

查看从MySQL复制状态
mysql> show slave status\G;
在这里插入图片描述

50:
[root@centos05 ~]# mysql -uroot -ppwd@123
在这里插入图片描述

mysql> change master to master_host=‘192.168.100.10’,master_user=‘slave’,master_password=‘pwd@123’,master_log_fi
le=‘mysql-bin.000005’,master_log_pos=263;
在这里插入图片描述

mysql> start slave;
在这里插入图片描述

mysql> show slave status\G;
在这里插入图片描述

验证:主服务器
mysql> show databases;
在这里插入图片描述

mysql> create database benet;
在这里插入图片描述

mysql> show databases;
在这里插入图片描述

20,50,查看
在这里插入图片描述
在这里插入图片描述

Centos01:主服务器
Centos02:读服务器
Centos05:读服务器
Centos07:amoeba
Centos08:客户端
二.配置读写分离
编写hosts文件
[root@centos05 ~]# vim /etc/hosts
在这里插入图片描述
在这里插入图片描述

拷贝给其他服务器
[root@centos05 ~]# scp /etc/hosts root@192.168.100.20:/etc/
在这里插入图片描述

1.安装jdk和amoeba(07,Linux盘)
解压jdk
[root@centos07 ~]# cp /mnt/jdk-6u14-linux-x64.bin ./
在这里插入图片描述

[root@centos07 ~]# ./jdk-6u14-linux-x64.bin
在这里插入图片描述

移动jdk位置
[root@centos07 ~]# mv jdk1.6.0_14/ /usr/local/java
在这里插入图片描述

创建amoba配置文件
[root@centos07 ~]# mkdir /usr/local/amoeba
在这里插入图片描述

[root@centos07 ~]# tar zxvf /mnt/amoeba-mysql-binary-2.2.0.tar.gz -C /usr/local/amoeba/
在这里插入图片描述

配置环境变量
[root@centos07 ~]# vim /etc/profile.d/java.sh
在这里插入图片描述

export JAVA_HOME=/usr/local/java
export CLASSPATH= C L A S S P A T H : CLASSPATH: CLASSPATH:JAVA_HOME/lib: J A V A H O M E / j r e / l i b e x p o r t P A T H = JAVA_HOME/jre/lib export PATH= JAVAHOME/jre/libexportPATH=JAVA_HOME/lib/: J A V A H O M E / j r e / b i n : JAVA_HOME/jre/bin: JAVAHOME/jre/bin:PATH: H O M E / b i n / e x p o r t A M O E B A = / u s r / l o c a l / a m o e b a e x p o r t P A T H = HOME/bin/ export AMOEBA=/usr/local/amoeba export PATH= HOME/bin/exportAMOEBA=/usr/local/amoebaexportPATH=PATH:AMOEBA/bin
在这里插入图片描述

[root@centos07 ~]# source /etc/profile.d/java.sh
在这里插入图片描述

查看jdk版本
[root@centos07 ~]# java -version
在这里插入图片描述

2.配置读写分离(01)
创建amoeba访问MySQL是数据库读写分离账户
[root@centos ~]# mysql -uroot -ppwd@123
在这里插入图片描述

mysql> grant all on . to ‘write’@‘192.168.100.%’ identified by ‘pwd@123’;
在这里插入图片描述

查看从服务器(02,05)
mysql> select user,host from mysql.user;
在这里插入图片描述

修改amoeba配置文件设置登录amoeba账户(07)
[root@centos07 ~]# cp /usr/local/amoeba/conf/amoeba.xml /usr/local/amoeba/conf/amoeba.xml.bak
在这里插入图片描述

[root@centos07 ~]# vim /usr/local/amoeba/conf/amoeba.xml
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
修改配置文件添加读写节点
[root@centos07 ~]# cp /usr/local/amoeba/conf/dbServers.xml /usr/local/amoeba/conf/dbServers.xml.bak
在这里插入图片描述

[root@centos07 ~]# vim /usr/local/amoeba/conf/dbServers.xml
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
启动amoeba
[root@centos07 ~]# /usr/local/amoeba/bin/amoeba start&
在这里插入图片描述

[root@centos07 ~]# netstat -anptu | grep 8066
在这里插入图片描述

3.配置MySQL客户端(08)
安装MySQL客户端
[root@centos08 ~]# yum -y install mariadb
在这里插入图片描述

登录amoeba
[root@centos08 ~]# mysql -h 192.168.100.70 -P8066 -uamoeba -ppwd@123
在这里插入图片描述

MySQL [(none)]> create database xsh;
在这里插入图片描述
在这里插入图片描述

100.20查看:
在这里插入图片描述

读写分离:
MySQL [(none)]> create table xsh.student (姓名 char(5),性别 char(3),电话号码 char(11));
在这里插入图片描述

MySQL [(none)]> insert into xsh.student values (‘bob’,‘男’,‘12345678901’);
在这里插入图片描述

MySQL [(none)]> select * from xsh.student;
在这里插入图片描述

从服务器服务停止
mysql> stop slave;
在这里插入图片描述

验证:
在这里插入图片描述

主服务器查看
在这里插入图片描述

从服务器服务启动,客户端可查看
mysql> start slave;
在这里插入图片描述

MySQL [(none)]> select * from xsh.student;
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值