CC00097.LinuxNetwork——|Linux&MySQL集群.V05|——|MySQL中间件|主从配置|

一、mysql中间件
### --- 中间件:

~~~     一种提供在不同技术、不同的软件之间共享资源的程序,更大化了利用了数据库的性能,
~~~     可以无限扩展(注:真实环境中并非如此)
### --- 数据库的中间件:

~~~     mysql proxy (官方版本) 性能低,需要 lua 脚本
~~~     atlas 性能低,响应时间长
~~~     amoeba 陈思儒研发的
二、先搭建一个主从关系的服务器
### --- 先搭建一个主从关系的服务器
### --- 部署规划

~~~		centos6.x server21:20.20.20.21 主服务器
~~~		centos6.x server21:20.20.20.21 从服务器
~~~		centos6.x server21:20.20.20.21 amoeba服务器
### --- 在主、从服务器上安装 mysql mysql-server
~~~		在主从服务器上安装mysql服务端和客户端;并开启二进制日志

[root@server21 ~]# yum install -y mysql mysql-server
[root@server21 ~]# vim /etc/my.cnf
log-bin=mysql-bin
server-id=21
[root@server21 ~]# chkconfig mysqld on
[root@server21 ~]# service mysqld start
[root@server22 ~]# yum install -y mysql mysql-server
[root@server22 ~]# vim /etc/my.cnf
log-bin=mysql-bin
server-id=22
[root@server22 ~]# chkconfig mysqld on
[root@server22 ~]# service mysqld start
### --- 在主服务器上授权,从服务器上保存授权信息,并开启从服务线程。
~~~		配置主服务器

[root@server21 ~]# mysql
mysql> grant replication slave on *.* to slave@'20.20.20.22' identified by '123456';
Query OK, 0 rows affected (0.00 sec)

mysql> show master status;
+------------------+----------+--------------+------------------+
| File             | Position | Binlog_Do_DB | Binlog_Ignore_DB |
+------------------+----------+--------------+------------------+
| mysql-bin.000003 |      257 |              |                  |
+------------------+----------+--------------+------------------+
1 row in set (0.00 sec)
### --- 关闭从服务器线程,为了做读写分离时,测试有明显的实验效果(实际生产环境中不能停掉。。)

[root@server22 ~]# mysql
mysql> change master to 
    -> master_user='slave',
    -> master_password='123456',
    -> master_host='20.20.20.21',
    -> master_log_file='mysql-bin.000003',
    -> master_log_pos=257;
Query OK, 0 rows affected (0.05 sec)
mysql> start slave;
Query OK, 0 rows affected (0.00 sec)
三、验证测试
### --- 测试
~~~		在主服务器上创建数据库和表

mysql> create database atyanqi;                             // 在主服务上创建数据库atyanqi
Query OK, 1 row affected (0.00 sec)
mysql> use atyanqi;
Database changed
mysql> create table yjs (id int,name char(20),age int);     // 在atyanqi数据库中插入表yjs
Query OK, 0 rows affected (0.02 sec)

mysql> insert into yjs values (1,'laow',28),(2,'laos',29);  // 在yjs表中写入数据
Query OK, 2 rows affected (0.00 sec)
Records: 2  Duplicates: 0  Warnings: 0
~~~		在主服务器上查看创建的表和数据

mysql> select * from yjs;
+------+------+------+
| id   | name | age  |
+------+------+------+
|    1 | laow |   28 |
|    2 | laos |   29 |
+------+------+------+
2 rows in set (0.00 sec)
~~~		在从服务器上查看创建的表和数据

mysql> select * from atyanqi.yjs;
+------+------+------+
| id   | name | age  |
+------+------+------+
|    1 | laow |   28 |
|    2 | laos |   29 |
+------+------+------+
2 rows in set (0.00 sec)
### --- 停止从进程

mysql> stop slave;
Query OK, 0 rows affected (0.00 sec)
mysql> insert into atyanqi.yjs values (3,'laox',18);      // 在从上面再加入一条数据
Query OK, 1 row affected (0.01 sec)
mysql> select * from atyanqi.yjs;                         // 在从上面查看是3条数据
+------+------+------+
| id   | name | age  |
+------+------+------+
|    1 | laow |   28 |
|    2 | laos |   29 |
|    3 | laox |   18 |
+------+------+------+
3 rows in set (0.01 sec)
mysql> select * from yjs;                                 // 主服务器上查看还是2条数据
+------+------+------+                                    // 在生产环境中是不会出现这种情况的。
| id   | name | age  |
+------+------+------+
|    1 | laow |   28 |
|    2 | laos |   29 |
+------+------+------+
2 rows in set (0.00 sec)
### --- 启动从服务器的服务

mysql> start slave;
Query OK, 0 rows affected (0.00 sec)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

yanqi_vip

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值