DBproxy-0.2.5-1安装与配置
依赖库安装
安装必要的源和包:
yum install -y http://www.percona.com/downloads/percona-release/redhat/0.1-4/percona-release-0.1-4.noarch.rpm
yum install -y jemalloc jemalloc-devel libevent libevent-devel openssl openssl-devel lua lua-devel glib2 glib2-devel bison flex libtool.x86_64 libtool-devel libffi libffi-devel gettext gettext-devel
yum install -y gtk-doc
yum install -y mysql-devel
安装 glib-2.42.0
- 下载
glib-2.42.0
wget http://saimei.ftp.acc.umu.se/pub/gnome/sources/glib/2.42/glib-2.42.0.tar.xz
- 解压
glib-2.42.0.tar.xz
tar -xvf glib-2.42.0.tar.xz
- 安装,默认安装到:
cd glib-2.42.0
autoreconf -ivf
./configure
编译安装DBproxy
- 进入
DBproxy
目录
cd DBProxy/
- 修改权限,由于文件从window下拷贝上来时,丢失了原有的权限信息
chmod 777 *
- 编译安装
sh autogen.sh
sh bootstrap.sh
make
make install
配置DBproxy
- 成功安装DBProxy之后,需要在安装目录下创建配置文件所在的文件夹,例如取名
conf
,默认安装路径:
/usr/local/mysql-proxy
mkdir /usr/local/mysql-proxy/conf
- 拷贝示例配置文件
cp script/source.cnf.samples /usr/local/mysql-proxy/conf/source.cnf
- 编辑
db1.cnf
配置文件,要注意的时,配置文件名称前缀要和其中的instance
值相同
vi /usr/local/mysql-proxy/conf/source.cnf
- 启动DBProxy
/usr/local/mysql-proxy/bin/mysql-proxy --defaults-file=/usr/local/mysql-proxy/conf/source.cnf
- 查看日志文件,如果在配置文件中未修改日志存放位置,则默认在
/opt/tmp/dbproxy_log/
cd /opt/tmp/dbproxy_log/
cat source.log
- 这里,如果日志文件如下,已经有启动信息
[root@localhost dbproxy_log]# cat source.log
2018-09-07 16:50:34.632512: (message)chassis-unix-daemon.c:131(chassis_unix_proc_keepalive)[angel] we try to keep PID=3144 alive
2018-09-07 16:50:34.632885: (message)mysql-proxy-cli.c:954(main_cmdline)dbproxy 0.2.5 started - instance: source
2018-09-07 16:50:34.633048: (warning)chassis-filter.c:195(load_sql_filter_from_file)[filter][load from file][failed][No such file or directory]
2018-09-07 16:50:34.633599: (message)proxy-plugin.c:3833(network_mysqld_proxy_plugin_apply_config)proxy listening on port 0.0.0.0:3308
2018-09-07 16:50:34.635837: (message)network-backend.c:615(network_backends_add)add read/write backend: 127.0.0.1:3306 success
2018-09-07 16:50:34.637926: (message)network-backend.c:606(network_backends_add)add read-only backend 127.0.0.1:3306 to default backends
2018-09-07 16:50:34.637934: (message)network-backend.c:615(network_backends_add)add read-only backend: 127.0.0.1:3306 success
2018-09-07 16:50:34.637956: (message)proxy-sql-log.c:484(load_sql_filenames)load_files_from_dir /opt/tmp/dbproxy_log//sql
2018-09-07 16:50:34.637976: (message)proxy-sql-log.c:505(load_sql_filenames)load_files_from_dir /opt/tmp/dbproxy_log//sql success
2018-09-07 16:50:34.638641: (message)proxy-percentile.c:336(check_percentile)check_percentile thread start
2018-09-07 16:50:34.638772: (message)proxy-sql-log.c:25(log_manager)log_manager thread start
2018-09-07 16:50:34.645322: (message)chassis-event-thread.c:382(chassis_event_threads_start)starting 16 threads
2018-09-07 16:50:35.638774: (message)proxy-plugin.c:3444(check_state)check_state thread start
2018-09-07 16:50:35.642434: (warning)proxy-plugin.c:3549(check_state)set backend (127.0.0.1:3306) state to UP
- 连接DBproxy(与连接mysql命令相同),其中,使用的账户名和密码默认为guest
mysql -uguest -pguest -P3309 -h127.0.0.1
- 进入DBproxy的控制台,则配置成功
[root@localhost dbproxy_log]# mysql -uguest -pguest -P3309 -h127.0.0.1
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, 2018, 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>