mysql读写 slave stop_【学员笔记】LINUX随堂笔记(十四):MySQL主从及读写分离

接上文

第15章 MySQL主从及读写分离

一. 简介

MySQL的主从复制和MySQL的读写分离两者有着紧密联系,首先要部署主从复制,有主从复制完成了,才能完成读写分离。只读写分离就是只在主服务器上写,只在从服务器上读,是让主数据库处理事务性查询,而从数据库处理select查询,数据库复制被用来把事务性查询导致的变更同步到集群中的从数据库。

二. mysql主从复制

2.1实验拓扑图

2.2主服务器配置

1.安装mysql

2.编辑配置文件vim /etc/my.cnf

server-id = 1

log-bin=master-bin

#log-slave-updates=true

1.1 数据库创建密码 登陆

#mysqladmin –u root password 123456

#mysql –u root –p

1.2 数据库添加允许从slave 登陆

mysql> GRANT REPLICATION SLAVE ON *.* TO 'myslave'@'

192.168.1.%' IDENTIFIED BY '123456';

mysql> FLUSH PRIVILEGES;

mysql> show master status; //查看端口和密码

# service mysqld restart

2.3从服务器

2.1 安装mysql

2.2 编辑配置文件 vim /etc/my.cnf

# vim /etc/my.cnf

server-id = 2

上面出现的2行注释掉

#relay-log=relay-log-bin

#relay-log-index=slave-relay-bin.index

# service mysqld restart

2.3 数据库给root用户添加密码

#mysqladmin –u root password 123456

#mysql –u root –p

2.4 添加主服务器的信息

mysql>change master to

master_host='192.168.1.5',master_user='myslave',master_password='123456',master_log_file='master-bin.000001',master_log_pos=1341; //文件和端口需要自己查看

mysql> start slave;

mysql> show slave status\G;

Slave_IO_Running: Yes

Slave_SQL_Running: Yes

三. mysql读写分离

3.1在代理服务器Amoeba上安装Java环境

/路径/

需要软件包:jdk-6u14-linux-x64.bin

# chmod +x /usr/local/jdk-6u14-linux-x64.bin

# cd /usr/local/

# ./jdk-6u14-linux-x64.bin

# mv jdk1.6.0_14/ /usr/local/jdk1.6

# vim /etc/profile //配置环境变量

export JAVA_HOME=/usr/local/jdk1.6

export CLASSPATH=$CLASSPATH:$JAVA_HOME/bin:$JAVA_HOME/jre/lib

export PATH=$JAVA_HOME/lib:$JAVA_HOME/jre/bin:$PATH:$HOME/bin

export AMOEBA_HOME=/usr/local/amoeba/

export PATH=$PATH:$AMOEBA_HOME/bin

# source /etc/profile

# java -version //查看jave版本 1.6.0

3.2安装并配置Amoeba软件

# mkdir /usr/local/amoeba

# tar zxf amoeba-mysql-binary-2.2.0.tar.gz -C /usr/local/amoeba/

# chmod -R 755 /usr/local/amoeba/ //给执行权限

# /usr/local/amoeba/bin/amoeba start

# /usr/local/amoeba/bin/amoeba start

log4j:WARN log4j config load completed from file:/usr/local/amoeba/conf/log4j.xml

2017-03-17 16:43:58,943 INFO context.MysqlRuntimeContext - Amoeba for Mysql current versoin=5.1.45-mysql-amoeba-proxy-2.2.0

log4j:WARN ip access config load completed from file:/usr/local/amoeba/conf/access_list.conf

2017-03-17 16:43:59,643 INFO net.ServerableConnectionManager - Amoeba for Mysql listening on /192.168.1.1:3306.

2017-03-17 16:43:59,681 INFO net.ServerableConnectionManager - Amoeba Monitor Server listening on /127.0.0.1:32475.

3.3配置文件 am账户 mysql账户

1.配置am账户文件

vim /usl/local/amoeba/bin/amoeba.xml

3306 //最好修改端口为3306,默认端口

root //登陆代理数据库的用户名

123456 //登陆代理数据库的密码

1500

master //默认服务器名称

master //读的服务器名称

slave //写权限的的服务器名称

true

2.配置mysql账户文件

vim /usl/local/amoeba/bin/dbServers.xml

3306 //默认登陆端口

test //登陆数据库的用户名

123456 //登陆数据库的密码

192.168.1.5 //master 服务器的ip

192.168.1.132 //slave服务器的ip

slave //服务器名称写入地址池中

3.4客户机测试

1.在每个SQL上开发全新给Amoeba访问

mysql> grant all on *.* to ’test’@'192.168.1.%' identified by '123.com';

2. 192.168.1.111客户机

登陆测试

# mysql -u test -p 123456 -h 192.168.1.1 -P 3306

123456

enter ok

3.在主服务器Master上创建表

mysql> use db_test;

mysql> create table zang (id int(10),name varchar(10),address varchar(20));

4.在从服务器停止 slave

mysql> stop slave;

5.在主服务创建数据

mysql> insert into zang values('1','zhang','this_is_master');

6.从服务器创建数据

mysql> use db_test;

mysql> insert into zang values('2','zhang','this_is_slave1');

7.在Client查询

mysql> use db_test;

mysql> select * from zang;

mysql> insert into zang values('3','zhang','this_is_amoeba')

----------------------------------------end-------------------------------------------

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值