NOVOTS KMS 词汇表 Glossary    联系我们 Contact Us
查询 Search  
   
按类别浏览 Browse by Category
NOVOTS KMS .: 数据库 .: mysql-atlas

mysql-atlas

1.  安装mysql-proxy[Atlas]

Mysql-proxy1详细操作

//上传mysql-proxy[atlas]软件包

[root@mysql-proxy1 ~]# ls

anaconda-ks.cfg           install.log         公共的视频文档音乐

Atlas-2.2.el6.x86_64.rpm  install.log.syslog  模板图片下载桌面

[root@mysql-proxy1 ~]#

//安装mysql-proxy[atlas]

[root@mysql-proxy1 ~]# rpm -ivh Atlas-2.2.el6.x86_64.rpm

Preparing...                ########################################### [100%]

   1:Atlas                  ########################################### [100%]

[root@mysql-proxy1 ~]#

Mysql-proxy2详细操作

//上传mysql-proxy[atlas]软件包

[root@mysql-proxy2 ~]# ls

anaconda-ks.cfg           install.log         公共的视频文档音乐

Atlas-2.2.el6.x86_64.rpm  install.log.syslog  模板图片下载桌面

[root@mysql-proxy2 ~]#

//安装mysql-proxy[atlas]

[root@mysql-proxy2 ~]# rpm -ivh Atlas-2.2.el6.x86_64.rpm

Preparing...                ########################################### [100%]

   1:Atlas                  ########################################### [100%]

[root@mysql-proxy2 ~]#

 

2.  为测试读写分离配置mysql-proxy[Atlas]

已授权用户信息

授权用户

授权密码

授权数据库

授权IP地址

授权权限

webclient

pwd@123

example

172.30.1.0/24

all

Mysql-proxy[atlas]管理用户信息

用户名

密码

atlas

pwd@123

Mysql-proxy1详细操作

//生成数据库访问加密密码

[root@mysql-proxy1 conf]# cd /usr/local/mysql-proxy/bin/

[root@mysql-proxy1 bin]# ./encrypt pwd@123

dS9luLhq89M=

[root@mysql-proxy1 bin]#

//配置atlas

[root@mysql-proxy1 ~]# cd /usr/local/mysql-proxy/conf/

[root@mysql-proxy1 conf]# vim test.cnf

[mysql-proxy]

##号的为非必需的配置项目

#管理接口的用户名

admin-username = atlas

#管理接口的密码

admin-password = pwd@123

#Atlas后端连接的MySQL主库的IP和端口,可设置多项,用逗号分隔

proxy-backend-addresses = 172.30.1.13:3306

#Atlas后端连接的MySQL从库的IP和端口,@后面的数字代表权重,用来作负载均衡,若省略则默认为1,可设置多项,用逗号分隔

proxy-read-only-backend-addresses = 172.30.1.14:3306@1

#用户名与其对应的加密过的MySQL密码,密码使用PREFIX/bin目录下的加密程序encrypt加密,下行的user1user2为示例,将其替换为你的MySQL的用户名和加密密码!

pwds = webclient:dS9luLhq89M=, user2:GS+tr4TPgqc=

#设置Atlas的运行方式,设为true时为守护进程方式,设为false时为前台方式,一般开发调试时设为false,线上运行时设为true,true后面不能有空格。

daemon = true

#设置Atlas的运行方式,设为trueAtlas会启动两个进程,一个为monitor,一个为workermonitorworker意外退出后会自动将其重启,设为false时只有worker,没有monitor,一般开发

调试时设为false,线上运行时设为true,true后面不能有空格。

keepalive = true

#工作线程数,对Atlas的性能有很大影响,可根据情况适当设置

event-threads = 8

#日志级别,分为messagewarningcriticalerrordebug五个级别

log-level = message

#日志存放的路径

log-path = /usr/local/mysql-proxy/log

#SQL日志的开关,可设置为OFFONREALTIMEOFF代表不记录SQL日志,ON代表记录SQL日志,REALTIME代表记录SQL日志且实时写入磁盘,默认为OFF

#sql-log-slow = 10

#实例名称,用于同一台机器上多个Atlas实例间的区分

#instance = test

#Atlas监听的工作接口IP和端口

proxy-address = 0.0.0.0:3306

#Atlas监听的管理接口IP和端口

admin-address = 0.0.0.0:2345

#分表设置,此例中person为库名,mt为表名,id为分表字段,3为子表数量,可设置多项,以逗号分隔,若不分表则不需要设置该项

#tables = person.mt.id.3

#默认字符集,设置该项后客户端不再需要执行SET NAMES语句

#charset = utf8

#允许连接Atlas的客户端的IP,可以是精确IP,也可以是IP段,以逗号分隔,若不设置该项则允许所有IP连接,否则只允许列表中的IP连接

client-ips = 127.0.0.1, 172.30.1

#Atlas前面挂接的LVS的物理网卡的IP(注意不是虚IP),若有LVS且设置了client-ips则此项必须设置,否则可以不设置

#lvs-ips = 192.168.1.1

:wq

[root@mysql-proxy1 conf]#

 

Mysql-proxy2详细操作

//生成数据库访问加密密码

[root@mysql-proxy2 conf]# cd /usr/local/mysql-proxy/bin/

[root@mysql-proxy2 bin]# ./encrypt pwd@123

dS9luLhq89M=

[root@mysql-proxy2 bin]#

//配置atlas

[root@mysql-proxy2 ~]# cd /usr/local/mysql-proxy/conf/

[root@mysql-proxy2 conf]# vim test.cnf

[mysql-proxy]

##号的为非必需的配置项目

#管理接口的用户名

admin-username = atlas

#管理接口的密码

admin-password = pwd@123

#Atlas后端连接的MySQL主库的IP和端口,可设置多项,用逗号分隔

proxy-backend-addresses = 172.30.1.13:3306

#Atlas后端连接的MySQL从库的IP和端口,@后面的数字代表权重,用来作负载均衡,若省略则默认为1,可设置多项,用逗号分隔

proxy-read-only-backend-addresses = 172.30.1.14:3306@1

#用户名与其对应的加密过的MySQL密码,密码使用PREFIX/bin目录下的加密程序encrypt加密,下行的user1user2为示例,将其替换为你的MySQL的用户名和加密密码!

pwds = webclient:dS9luLhq89M=, user2:GS+tr4TPgqc=

#设置Atlas的运行方式,设为true时为守护进程方式,设为false时为前台方式,一般开发调试时设为false,线上运行时设为true,true后面不能有空格。

daemon = true

#设置Atlas的运行方式,设为trueAtlas会启动两个进程,一个为monitor,一个为workermonitorworker意外退出后会自动将其重启,设为false时只有worker,没有monitor,一般开发

调试时设为false,线上运行时设为true,true后面不能有空格。

keepalive = true

#工作线程数,对Atlas的性能有很大影响,可根据情况适当设置

event-threads = 8

#日志级别,分为messagewarningcriticalerrordebug五个级别

log-level = message

#日志存放的路径

log-path = /usr/local/mysql-proxy/log

#SQL日志的开关,可设置为OFFONREALTIMEOFF代表不记录SQL日志,ON代表记录SQL日志,REALTIME代表记录SQL日志且实时写入磁盘,默认为OFF

#sql-log-slow = 10

#实例名称,用于同一台机器上多个Atlas实例间的区分

#instance = test

#Atlas监听的工作接口IP和端口

proxy-address = 0.0.0.0:3306

#Atlas监听的管理接口IP和端口

admin-address = 0.0.0.0:2345

#分表设置,此例中person为库名,mt为表名,id为分表字段,3为子表数量,可设置多项,以逗号分隔,若不分表则不需要设置该项

#tables = person.mt.id.3

#默认字符集,设置该项后客户端不再需要执行SET NAMES语句

#charset = utf8

#允许连接Atlas的客户端的IP,可以是精确IP,也可以是IP段,以逗号分隔,若不设置该项则允许所有IP连接,否则只允许列表中的IP连接

client-ips = 127.0.0.1, 172.30.1

#Atlas前面挂接的LVS的物理网卡的IP(注意不是虚IP),若有LVS且设置了client-ips则此项必须设置,否则可以不设置

#lvs-ips = 192.168.1.1

[root@mysql-proxy2 conf]#

3.  测试mysql-proxy[Atlas]是否实现读写分离

 

测试数据库信息:

写入数据库

172.30.1.13

读取数据库

172.30.1.14

mysql-proxy1详细操作

//启动mysql-proxy[Atlas]

[root@mysql-proxy1 ~]# cd /usr/local/mysql-proxy/bin/

[root@mysql-proxy1 bin]# ./mysql-proxyd test start

OK: MySQL-Proxy of test is started

[root@mysql-proxy1 bin]#

//写入数据库操作

mysql> show databases;

+--------------------+

| Database           |

+--------------------+

| information_schema |

| mysql              |

| performance_schema |

| test               |

+--------------------+

4 rows in set (0.00 sec)

 

mysql>

mysql> create database example;

Query OK, 1 row affected (0.00 sec)

mysql> use example

Database changed

mysql> create table test1(name varchar(10));

Query OK, 0 rows affected (0.06 sec)

mysql> insert into test1 values("xieru1");

Query OK, 1 row affected (0.01 sec)

//写入数据库操作

mysql> show databases;

+--------------------+

| Database           |

+--------------------+

| information_schema |

| mysql              |

| performance_schema |

| test               |

+--------------------+

4 rows in set (0.00 sec)

 

mysql>

mysql> create database example;

Query OK, 1 row affected (0.00 sec)

mysql> use example

Database changed

mysql> create table test1(name varchar(10));

Query OK, 0 rows affected (0.06 sec)

mysql> insert into test1 values("caxun1");

Query OK, 1 row affected (0.01 sec)

//测试读写分离

[root@mysql-master1 ~]# mysql -h172.30.1.15 -uwebclient -ppwd@123

Warning: Using a password on the command line interface can be insecure.

Welcome to the MySQL monitor.  Commands end with ; or \g.

Your MySQL connection id is 16

Server version: 5.0.81-log MySQL Community Server (GPL)

 

Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved.

 

Oracle is a registered trademark of Oracle Corporation and/or its

affiliates. Other names may be trademarks of their respective

owners.

 

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

//查询测试

mysql> select * from example.test1;

+--------+

| name   |

+--------+

| caxun1 |

+--------+

1 row in set (0.00 sec)

 

mysql>

//写入测试

mysql> insert into example.test1 values("xieru2");

Query OK, 1 row affected (0.01 sec)

mysql> select * from example.test1;

+--------+

| name   |

+--------+

| caxun1 |

+--------+

1 row in set (0.01 sec)

//写服务器查看

mysql> select * from test1;

+--------+

| name   |

+--------+

| xieru1 |

| xieru2 |

+--------+

2 rows in set (0.00 sec)

//读服务器查看

mysql> select * from example.test1;

+--------+

| name   |

+--------+

| caxun1 |

+--------+

1 row in set (0.00 sec)

 

mysql>

 

mysql-proxy2详细操作

//启动mysql-proxy[Atlas]

[root@mysql-proxy2 ~]# cd /usr/local/mysql-proxy/bin/

[root@mysql-proxy2 bin]# ./mysql-proxyd test start

OK: MySQL-Proxy of test is started

[root@mysql-proxy2 bin]#

//写入数据库操作

mysql> select * from test1;

+--------+

| name   |

+--------+

| xieru1 |

| xieru2 |

+--------+

2 rows in set (0.00 sec)

 

mysql>

//读取数据库操作

mysql> select * from example.test1;

+--------+

| name   |

+--------+

| caxun1 |

+--------+

1 row in set (0.00 sec)

//测试读写分离

[root@mysql-master1 ~]# mysql -h172.30.1.16 -uwebclient -ppwd@123

Warning: Using a password on the command line interface can be insecure.

Welcome to the MySQL monitor.  Commands end with ; or \g.

Your MySQL connection id is 16

Server version: 5.0.81-log MySQL Community Server (GPL)

 

Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved.

 

Oracle is a registered trademark of Oracle Corporation and/or its

affiliates. Other names may be trademarks of their respective

owners.

 

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

//查询测试

mysql> select * from example.test1;

+--------+

| name   |

+--------+

| caxun1 |

+--------+

1 row in set (0.01 sec)

//写入测试

mysql> insert into example.test1 values("xieru3");

Query OK, 1 row affected (0.08 sec)

 

mysql>

mysql> select * from example.test1;

+--------+

| name   |

+--------+

| caxun1 |

+--------+

1 row in set (0.01 sec)

//写服务器查看

mysql> select * from test1;

+--------+

| name   |

+--------+

| xieru1 |

| xieru2 |

| xieru3 |

+--------+

3 rows in set (0.00 sec)

//读服务器查看

mysql> select * from example.test1;

+--------+

| name   |

+--------+

| caxun1 |

+--------+

1 row in set (0.00 sec)

4.  删除测试信息

//写入数据库操作

mysql> show databases;

+--------------------+

| Database           |

+--------------------+

| information_schema |

| mysql              |

| performance_schema |

| example             |

| test               |

+--------------------+

5 rows in set (0.00 sec)

 

mysql> drop database example;

Query OK, 1 row affected (0.03 sec)

//读取数据库操作

mysql> show databases;

+--------------------+

| Database           |

+--------------------+

| information_schema |

| mysql              |

| performance_schema |

| example             |

| test               |

+--------------------+

5 rows in set (0.00 sec)

 

mysql> drop database example;

Query OK, 1 row affected (0.03 sec)


这篇文章对你多有用?

相关文章

article CentOS系统安装MySQL教程

(No rating)  5-31-2015    Views: 845   
article Mysql 删除表名中有特殊字符的表
由于公司业务和应用的调整,之前在Mysql中的很多表...

(No rating)  7-21-2014    Views: 1011   
article MYSQL备份与恢复之数据一致性
 

(No rating)  9-21-2020    Views: 2   

用户评语

添加评语
当前还没有评语.


.: .: .: .: .:
[ 登陆 ]
北京护航科技有限公司 2006

Novots Technologies Limited