Atlas mysql5.7安装配置

软件环境:centos7.3,glib-2.49,lua5.1,Atlas2.2.1,mysql5.7

依赖包安装
****************************************************************************************

lua安装
-------------------------------------------
yum install -y libtermcap-devel ncurses-devel libevent-devel readline-devel
tar -zxvf lua-5.1.5.tar.gz
chown -R root.root *
cd lua-5.1.5/

修改当前目录下的“Makefile”中的 INSTALL_TOP= /usr/local为 INSTALL_TOP= /usr/local/lua
主要是为了避免与系统自带的lua库发生冲突的可能
vim Makefile
INSTALL_TOP= /usr/local/lua
make linux install

glib-2.49安装
----------------------------------------
rpm -q ncurses readline readline-devel lua libffi libffi-devel libiconv xz glib2 cmake popt libnl libevent libevent-devel openssl-devel libtermcap-devel ncurses-devel
yum install -y libffi-devel libtermcap-devel
http://www.rpmfind.net/linux/rpm2html/search.php?query=libevent-devel
rpm -ivh libevent-devel-2.0.21-4.el7.x86_64.rpm

libiconv依赖包
tar xvzf libiconv-1.14.tar.gz
chown -R root.root *
cd libiconv-1.14
cd srclib
sed -i -e ‘/gets is a security/d‘ ./stdio.in.h
cd ..
注意不要建立独立目录,一定要安装在/usr/local目录下,不然安装glib时会报/usr/bin/ld: cannot find -liconv
./configure --prefix=/usr/local gl_cv_header_working_stdint_h=yes
make
make install

pkg安装
tar -zxvf pkg-config-0.29.2.tar.gz
chown -R root.root *
cd pkg-config-0.29.2/
./configure --enable-iconv=no --with-libiconv=gnu --with-internal-glib
make
make install

ln -s /usr/local/lib/libiconv.so.2 /usr/lib/libiconv.so.2
ln -s /usr/local/lib/libiconv.so.2 /usr/lib64/libiconv.so.2
pkg-config --version
0.29.2

pcre安装
tar -zxvf pcre-8.39.tar.gz
chown -R root.root *
cd pcre-8.39/
./configure --enable-utf8 --enable-unicode-properties
make
make install
ln -s /usr/local/lib/libpcre.so.1 /lib
ln -s /usr/local/lib/libpcreposix.so.0 /lib

glib安装
rpm -q libffi-devel
xz -d glib-2.49.7.tar.xz
chown -R root.root *
tar -xvf glib-2.49.7.tar

mkdir /usr/local/glib-2.49.7
cd glib-2.49.7/
./configure --prefix=/usr/local/glib-2.49.7 --with-libiconv=gnu LIBFFI_CFLAGS="-I/usr/local/include" LIBFFI_LIBS="-L/usr/local/lib -lffi"
make
make install

配置PKG-CONFIG
# find /usr/ -name pkgconfig
/usr/lib64/pkgconfig
/usr/share/pkgconfig
/usr/local/lib/pkgconfig
/usr/local/lib64/pkgconfig
/usr/local/mysql/lib/pkgconfig
/usr/local/glib-2.49.7/lib/pkgconfig

# cd /usr/local/glib-2.49.7/lib/pkgconfig
# ls
gio-2.0.pc gio-unix-2.0.pc glib-2.0.pc gmodule-2.0.pc gmodule-export-2.0.pc gmodule-no-export-2.0.pc gobject-2.0.pc gthread-2.0.pc

vim .bash_profile
export PKG_CONFIG_PATH=/usr/local/glib-2.49.7/lib/pkgconfig:/usr/lib64/pkgconfig:/usr/local/lib64/pkgconfig:/usr/local/mysql/lib/pkgconfig:$PKG_CONFIG_PATH
. ./.bash_profile

测试glib pkg
vim hello.c
#include <stdio.h>
#include <glib.h>
int main(int argc, char** argv){
GList* list=NULL;
list=g_list_append(list,"Hello world!");
list=g_list_append(list,"made by pcat");
list=g_list_append(list,"http://www.cnblogs.com/perfei/");
printf("The first item is %s\n",g_list_first(list)->data);
return 0;
}

编译如下:
gcc hello.c -o hello $(pkg-config --cflags --libs glib-2.0)

# ls -ltr | grep hello
-rw-r--r-- 1 root root 305 11月 20 16:47 hello.c
-rwxr-xr-x 1 root root 8648 11月 20 17:05 hello

# ./hello
The first item is Hello world!

Atlas数据库中间件安装配置
****************************************************************************************

安装
--------------------------------------------------------------------------------------------
tar -zxvf Atlas-2.2.1.tar.gz
chown -R root.root *
cd Atlas-2.2.1/
mkdir /usr/local/mysql-proxy
./configure --prefix=/usr/local/mysql-proxy \
--with-lua=/usr/local/lua \
--with-mysql=/usr/local/mysql \
GLIB_CFLAGS="-I/usr/local/glib-2.49.7/include/glib-2.0" \
GLIB_LIBS="-L/usr/local/glib-2.49.7/lib/ -lglib-2.0" \
GMODULE_CFLAGS="-I/usr/local/glib-2.49.7/include" \
GMODULE_LIBS="-L/usr/local/glib-2.49.7/lib -lgmodule-2.0" \
GTHREAD_CFLAGS="-I/usr/local/glib-2.49.7/include" \
GTHREAD_LIBS="-L/usr/local/glib-2.49.7/lib -lgthread-2.0" \
LUA_CFLAGS="-I/usr/local/lua/include" \
LUA_LIBS="-L/usr/local/lua/lib -llua-5.1" \
CFLAGS="-DHAVE_LUA_H -O2" \
LDFLAGS="-L/usr/local/lib -L/usr/local/lib64 -lm -ldl -lcrypto"

Atlas2.2.1 对应的是 mysql5.6 的版本,使用mysql5.7时需要进行以下调整
共四处需要替换,详见错误信息
vim src/network-mysqld-packet.c
:%s/CLIENT_SECURE_CONNECTION/CLIENT_RESERVED2/g
共一处需要替换,详见错误信息
vim ./plugins/admin/admin-plugin.c
:%s/CLIENT_SECURE_CONNECTION/CLIENT_RESERVED2/g

make
make如果报错处理,可进行以下处理
ln -s /usr/local/glib-2.49.7/lib/glib-2.0/include/glibconfig.h /usr/local/glib-2.49.7/include/glib-2.0

make install
----------------------------------------------------------------------
Libraries have been installed in:
/usr/local/mysql-proxy/lib/mysql-proxy/plugins

If you ever happen to want to link against installed libraries
in a given directory, LIBDIR, you must either use libtool, and
specify the full pathname of the library, or use the `-LLIBDIR‘
flag during linking and do at least one of the following:
- add LIBDIR to the `LD_LIBRARY_PATH‘ environment variableduring execution
- add LIBDIR to the `LD_RUN_PATH‘ environment variableduring linking
- use the `-Wl,-rpath -Wl,LIBDIR‘ linker flag
- have your system administrator add LIBDIR to `/etc/ld.so.conf‘

See any operating system documentation about shared libraries for
more information, such as the ld(1) and ld.so(8) manual pages.
----------------------------------------------------------------------

cd /usr/local
mv mysql-proxy atlas-2.2.1 && ln -s atlas-2.2.1 mysql-proxy

配置文件
--------------------------------------------------------------------------------------------
/usr/local/mysql-proxy/bin/encrypt Admin_123
ywy55weCQG6TZ6zxvGQr9A==
/usr/local/mysql-proxy/bin/encrypt rootroot
MdUKAaW7vcwa8s/oWZlMvQ==

vim /usr/local/mysql-proxy/conf/atlas.cnf
[mysql-proxy]
admin-username = atlasadmin
admin-password = Admin_123

proxy-backend-addresses = 10.168.21.186:3306
proxy-read-only-backend-addresses = 10.168.21.186:[email protected],10.168.21.187:[email protected],10.168.21.188:[email protected]

pwds = admin:ywy55weCQG6TZ6zxvGQr9A==,root:MdUKAaW7vcwa8s/oWZlMvQ==

daemon = true
keepalive = true
event-threads = 16

log-level = message
log-path = /usr/local/mysql-proxy/log
sql-log = ON

proxy-address = 0.0.0.0:3309
admin-address = 0.0.0.0:3307

charset = utf8

启动
--------------------------------------------------------------------------------------------
/usr/local/mysql-proxy/bin/mysql-proxyd atlas start
OK: MySQL-Proxy of atlas is started

# ps -ef | grep atlas
root 26516 1 0 14:42 ? 00:00:00 /usr/local/mysql-proxy/bin/mysql-proxy --defaults-file=/usr/local/mysql-proxy/conf/atlas.cnf
root 26517 26516 0 14:42 ? 00:00:00 /usr/local/mysql-proxy/bin/mysql-proxy --defaults-file=/usr/local/mysql-proxy/conf/atlas.cnf

启动脚本
# vim /etc/init.d/atlas

#!/bin/sh
#
# mysql-proxy This script starts and stops the mysql-proxy daemon
#
# chkconfig: - 78 30
# processname: mysql-proxy
# description: mysql-proxy is a proxy daemon to mysql
# config: /usr/local/mysql-proxy/conf/mysql-proxy.cnf
# pidfile: /usr/local/mysql-proxy/log/mysql-proxy.pid
#
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin

DAEMON="/usr/local/mysql-proxy/bin/mysql-proxy"
CONFIGFILE="/usr/local/mysql-proxy/conf/atlas.cnf"
PIDFILE="/usr/local/mysql-proxy/log/mysql-proxy.pid"
LOCKFILE="/var/lock/subsys/mysql-proxy"
PROG=`basename $DAEMON`

RETVAL=0

start() {
echo -n $"Starting ${PROG}......"
[ -x $DAEMON ] || exit 5
[ -f $CONFIGFILE ] || exit 6
${DAEMON} --defaults-file=${CONFIGFILE} || echo -n "${PROG} already running"

RETVAL=$?
echo
[[ $RETVAL -eq 0 ]] && touch $LOCKFILE

return $RETVAL
}

stop() {
echo -n $"Stopping ${PROG}......"
if [[ `ps aux | grep bin/mysql-proxy | grep -v grep | wc -l` -gt 0 ]]; then
kill -TERM `ps -A -oppid,pid,cmd | grep bin/mysql-proxy | grep -v grep | awk ‘{print $2}‘`
fi

RETVAL=$?
echo
[[ $RETVAL -eq 0 ]] && rm -f $LOCKFILE $PIDFILE

return $RETVAL
}

restart() {
stop
sleep 1
start
}

case "$1" in
start)
start
;;

stop)
stop
;;

restart)
restart
;;

condrestart)
[[ -e $LOCKFILE ]] && restart
;;

*)
echo "Usage: $0 {start|stop|restart|condrestart}"
RETVAL=1
;;
esac

exit $RETVAL

chmod +x /etc/init.d/atlas
chmod 0660 /usr/local/mysql-proxy/conf/atlas.cnf
service atlas stop
service atlas start

# service atlas stop
Stopping mysql-proxy......
# service atlas start
Unit atlas.service could not be found.
Starting mysql-proxy......

# /etc/init.d/atlas stop
Stopping mysql-proxy......
# /etc/init.d/atlas start
Starting mysql-proxy......

# ps -ef | grep atlas
root 27560 1 0 14:49 ? 00:00:00 /usr/local/mysql-proxy/bin/mysql-proxy --defaults-file=/usr/local/mysql-proxy/conf/atlas.cnf
root 27561 27560 0 14:49 ? 00:00:00 /usr/local/mysql-proxy/bin/mysql-proxy --defaults-file=/usr/local/mysql-proxy/conf/atlas.cnf
root 27591 15666 0 14:49 pts/1 00:00:00 grep --color=auto atlas

连接
------------------------------------------------------------------

管理接口登录,即DBA数据库管理使用的接口
# mysql -h127.0.0.1 -P3307 -uatlasadmin -pAdmin_123
[[email protected] oms]$ mysql -h10.168.21.187 -P3307 -uatlasadmin -pAdmin_123
mysql: [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 1
Server version: 5.0.99-agent-admin

Copyright (c) 2000, 2016, 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 help;
+-------------------------------+---------------------------------------------------------+
| command | description |
+-------------------------------+---------------------------------------------------------+
| SELECT * FROM help | shows this help |
| SELECT * FROM backends | lists the backends and their state |
| SET OFFLINE $backend_id | offline backend server, $backend_id is backend_ndx‘s id |
| SET ONLINE $backend_id | online backend server, ... |
| ADD MASTER $backend | example: "add master 127.0.0.1:3306", ... |
| ADD SLAVE $backend | example: "add slave 127.0.0.1:3306", ... |
| REMOVE BACKEND $backend_id | example: "remove backend 1", ... |
| SELECT * FROM clients | lists the clients |
| ADD CLIENT $client | example: "add client 192.168.1.2", ... |
| REMOVE CLIENT $client | example: "remove client 192.168.1.2", ... |
| SELECT * FROM pwds | lists the pwds |
| ADD PWD $pwd | example: "add pwd user:raw_password", ... |
| ADD ENPWD $pwd | example: "add enpwd user:encrypted_password", ... |
| REMOVE PWD $pwd | example: "remove pwd user", ... |
| SAVE CONFIG | save the backends to config file |
| SELECT VERSION | display the version of Atlas |
+----------------------------+---------------------------------------------------------+
16 rows in set (0.00 sec)

工作接口,即应用访问的接口
# mysql -h10.168.21.187 -P3309 -uadmin -pAdmin_123

[[email protected] oms]$ mysql -h10.168.21.187 -P3309 -uadmin -pAdmin_123
mysql: [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 1
Server version: 5.0.81-log MySQL Community Server (GPL)

Copyright (c) 2000, 2016, 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> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| performance_schema |
| sys |
+--------------------+
4 rows in set (0.17 sec)

时间: 2024-11-08 01:09:07

Atlas mysql5.7安装配置的相关文章

centos 6.5 Atlas 中间件的安装配置

前言: Atlasy由奇虎出品,在mysqp-proxy上开发而已,自带lua脚本,th用于取代 mysql-proxy和amoebo ,后两者已经停止开发. atlas :192.168.168.130 master:192.168.168.128 slave: 192.168.168.129 配置master和slave 主从: 参考:http://752030200.blog.51cto.com/8936921/1853460 首先从官方下载rpm安装包.https://github.co

mysql5.7安装配置

sonar要求mysql5.6版本,所以安装一下最新的mysql5.7 解压后,首先配置my-default.ini,修改默认的配置选项 [client] default-character-set=utf8 [mysqld] basedir = ../basedir datadir = ../datadir port = 3306 sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES 后续操作都要在命令行下进行,并且要求已管理员进入命令行. m

MySQL5.5 安装配置方法教程

MySQL下载地址:http://dev.mysql.com/downloads/installer/ 1.首先进入的是安装引导界面 2.然后进入的是类型选择界面,这里有3个类型:Typical(典型).Complete(完全).Custom(自定义).这里建议 选择"自定义"(Custom)安装,这样可以自定义选择MySQL的安装目录,然后点"Next"下一步,出现自定义安装界面,为了数据安全起见,不建议将MySQL安装系统盘C目录. 3.准备安装 4.安装完成之

Centos6.8 Mysql5.6 安装配置教程(转)

准备Mysql文件: 方式一:wget url(mysql下载地址); 方式二:从官网下载mysql,上传至centos(小编使用的Nodepad++的NppFTP具体做法请百度);   检查之前安装版本与卸载: 1:检查之前版本: rpm -qa | grep -i mysql 2:卸载之前安装所有: yum -y remove mysql-libs*   安装与初始化: 1:安装: rpm -ivh MySQL-server-5.6.34-1.rhel5.x86_64.rpm rpm -iv

php7.1+apache2.4.x+mysql5.7安装配置(目前windows)

1. php下载 : https://windows.php.net/download 下载  php-7.1.31-Win32-VC14-x64 (线程安全版) ; 2. php安装: 把下载的php7.1直接解压就好了.其实并不需要安装. 比如 我把 下载过来的压缩文件解压 重命名为 php 文件夹.移动到 D:\Application\; 于是php的runtime跟路径就在 D:\Application\php :此文件夹下有 php.exe 可执行文件. 3. 配置环境变量: 把下载的

linux mysql5.5安装与配置

MySQL是一个关系型数据库管理系统,由瑞典MySQL AB公司开发,目前属于Oracle公司.MySQL分为社区版和商业版,由于其体积小.速度快.总体拥有成本低,尤其是开放源码这一特点,一般中小型网站的开发都选择MySQL作为网站数据库. CentOS 6 mysql5.5安装配置 1 安装所需软件 2 安装cmake 3 tar.gz形式安装mysql 4 配置与启动 5 rpm形式安装mysql 6 mysql配置参数详细说明 MySQL自5.5版本以后,就开始使用cmake编译工具了.

mysql5.5安装

MySQL是一个关系型数据库管理系统 ,由瑞典MySQL AB公司开发,目前属于Oracle 公司.MySQL分为社区版和商业版,由于其体积小.速度快.总体拥有成本低,尤其是开放源码 这一特点,一般中小型网站的开发都选择MySQL作为网站数据库 . CentOS 6 mysql5.5安装配置 1 安装所需软件 2 安装cmake 3 tar.gz形式安装mysql 4 配置与启动 5 rpm形式安装mysql 6 mysql配置参数详细说明 MySQL自5.5版本以后,就开始使用cmake 编译

sonar安装配置过程

1.下载sonarqube(下载社区版不需要许可证),sonarscanner,安装jdk,数据库,本次安装使用jdk1.7+mysql5.7(安装配置过程不详述,自行百度).2.数据库新建数据库sonar.3.解压sonarqube进入conf目录下,sonar.properties添加配置 #数据库地址 sonar.jdbc.url=jdbc:mysql://localhost:3306/sonar?useUnicode=true&characterEncoding=utf8&rewr

win7 64位下如何安装配置mysql-5.7.4-m14-winx64

win7 64位下如何安装配置mysql-5.7.4-m14-winx641. mysql-5.7.4-m14-winx64.zip下载 官方网站下载地址:http://dev.mysql.com/get/Downloads/MySQL-5.6/mysql-5.6.17-winx64.zip 2.解压到D:\mysql.(路径自己指定)3.在D:\mysql\mysql-5.7.4-m14-winx64下新建my.ini配置文件 内容如下: ####################配置文件开始#