软件环境: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:3306@1,10.168.21.187:3306@2,10.168.21.188:3306@2

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
[oracle@12cgc 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

[oracle@12cgc 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)

my02_Atlas mysql5.7安装配置的更多相关文章

  1. mysql5.7安装配置,常用命令,常见问题

    1.安装配置 参考:http://www.cnblogs.com/Fiona20170420/p/6738185.html 1. 下载 2. 解压缩 3. 添加path环境变量,路径指向mysql所在 ...

  2. mysql-5.7安装配置指导

    mysql 安装 yum 安装mysql 源码编译安装mysql 通过yum安装 下载yum仓库配置安装包 MySQL Yum Repository http://dev.mysql.com/down ...

  3. CentOS7下MySQL5.7安装配置方法图文教程(YUM)

    安装环境:CentOS7 64位,MySQL5.7 1.配置YUM源 在MySQL官网中下载YUM源rpm安装包:http://dev.mysql.com/downloads/repo/yum/ # ...

  4. 转:百度MySql5.7安装配置

    原文地址:http://jingyan.baidu.com/article/8cdccae946133f315513cd6a.html MySQL 5.7以上版本的配置和以前有所不同,在这里与大家分享 ...

  5. YUM CentOS 7 64位下mysql5.7安装配置

    配置YUM源 在MySQL官网中下载YUM源rpm安装包:http://dev.mysql.com/downloads/repo/yum/ #下载mysql源安装包 # wget http://dev ...

  6. Centos6.8 Mysql5.6 安装配置教程

    MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,目前属于 Oracle 旗下产品.MySQL 最流行的关系型数据库管理系统,在 WEB 应用方面MySQL是最好的 RDBMS ...

  7. Centos7:mysql5.6安装,配置及使用(RPM方式)

    1.首先安装好jdk环境,本机所用环境为jdk1.8 2.卸载MariaDB(Centos7自带)与Mysql 2.1卸载:MariaDB #rpm -qa | grep -i mariadb //查 ...

  8. mysql5.7安装配置

    sonar要求mysql5.6版本,所以安装一下最新的mysql5.7 相对路径配置一直存在问题,所以采用绝对路径配置,本次配置的基础路径是: D:\sonar\mysql-5.7.17-winx64 ...

  9. MySQL5.5 安装配置方法教程

    MySQL下载地址:http://dev.mysql.com/downloads/installer/ 1.首先进入的是安装引导界面 2.然后进入的是类型选择界面,这里有3个类型:Typical(典型 ...

随机推荐

  1. Java3D-对象基本变换

    一个球体与三个圆柱体形成一个组合体,在该组合体中,球体的透明度属性是由全透明到不透明之间变换,而且包括:旋转.平移等变换. package com.vfsd.test0621; import java ...

  2. getRectSubPix函数

    转自http://blog.csdn.net/qq_18343569/article/details/47953441 getRectSubPix函数 2015-08-24 16:47 1104人阅读 ...

  3. spark sql建表的异常

    在使用spark sql创建表的时候提示如下错误: missing EOF at 'from' near ')' 可以看下你的建表语句中是不是create external table ....   ...

  4. 自己封装一个MySignal函数,方便以后直接copy.

    传统的signal可能会有信号未决或者信号重入或多或少的问题,毕竟这个函数已经很多年了. 所以推荐使用sigaction函数,但是sigaction函数相对signal较为复杂,而且每次要写一大堆.因 ...

  5. JQuery UI Draggable插件使用说明文档

    JQuery UI Draggable插件用来使选中的元素可以通过鼠标拖动.Draggable的元素受css: ui-draggable影响, 拖动过程中的css: ui-draggable-drag ...

  6. Xamarin.Forms(一) 学习笔记

    Xamarin.Forms是Xamarin跨平台开发app的跨平台的一个Framework,要使用这套Framework,要从XAML说起. XAML是同通过xml的方式来描述控件和动作,可以通过编译 ...

  7. Spring.Net 未将对象引用设置到对象的实例

    “/”应用程序中的服务器错误. 未将对象引用设置到对象的实例. 说明: 执行当前 Web 请求期间,出现未经处理的异常.请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息. 异常详 ...

  8. Vistual Studio的导出模板功能

    应用场景,每个项目有自己固定的目录结构和引用文件, 无需每次创建一个项目,就手工一一将那些目录再new一遍.如图所示 菜单  文件=>导出模板 之后的操作基本上一路"下一步" ...

  9. c#桌面应用程序开发--登陆窗口

    一.显示登陆窗口 应用程序入口点为Main方法,因此在Main方法中创建登陆窗体. 1)创建登陆窗体(登陆窗体UI已提前创建好); 2)显示窗体,以模式对话框的形式显示,并赋值给result; 3)判 ...

  10. 怎么用Shell连接VirtualBox Linux虚拟机,在Mac电脑上

    问题描述 由于VirtualBox采用桥接的方式连接网络,所以不能在Mac上直接访问虚拟机. 解决思路和办法 由于不能直连,但VirtualBox支持端口转发功能,可以设定转发规则,绑定宿主机和虚拟机 ...