MySQL中介軟體之ProxySQL的安裝
1.下載proxySQL,我用的是rpm安裝
2.安裝ProxySQL
[[email protected] home]# rpm -ivh proxysql-1.4.7-1.1.el6.x86_64.rpm warning: proxysql-1.4.7-1.1.el6.x86_64.rpm: Header V4 DSA/SHA1 Signature, key ID cd2efd2a: NOKEY Preparing... ########################################### [100%] 1:proxysql ########################################### [100%]
可能遇到的問題:
[[email protected] home]# rpm -ivh proxysql-1.4.7-1.1.el6.x86_64.rpm
warning: proxysql-1.4.7-1.1.el6.x86_64.rpm: Header V4 DSA/SHA1 Signature, key ID cd2efd2a: NOKEY
error: Failed dependencies:
libcrypto.so.10(OPENSSL_1.0.1)(64bit) is needed by proxysql-1.4.7-1.1.el6.x86_64
libcrypto.so.10(libcrypto.so.10)(64bit) is needed by proxysql-1.4.7-1.1.el6.x86_64
libssl.so.10(libssl.so.10)(64bit) is needed by proxysql-1.4.7-1.1.el6.x86_64
通過 yum安裝libssl還是報錯,最後yum install update更新了所有的核心包後居然可以安裝正常了。
3.啟動proxysql:
[[email protected] home]# proxysql --help High Performance Advanced Proxy for MySQL USAGE: proxysql [OPTIONS] OPTIONS: -c, --config ARG Configuraton file -D, --datadir ARG Datadir -e, --exit-on-error Do not restart ProxySQL if crashes -f, --foreground Run in foreground -h, -help, --help, --usage Display usage instructions. -M, --no-monitor Do not start Monitor Module -n, --no-start Starts only the admin service -r, --reuseport Use SO_REUSEPORT -S, --admin-socket ARG Administration Unix Socket -V, --version Print version --idle-threads Create auxiliary threads to handle idle connections --initial Rename/empty database file --reload Merge config file into database file --sqlite3-server Enable SQLite3 Server
[[email protected] home]# ps -ef | grep proxysql
root 18815 1 0 23:16 ? 00:00:00 proxysql
root 18816 18815 0 23:16 ? 00:00:00 proxysql
root 18840 2865 0 23:17 pts/0 00:00:00 grep proxysql
[[email protected] /]# service proxysql status
ProxySQL is running (18815).
proxysql安裝好後就直接是啟動的狀態
那他的配置檔案在哪裡?
[[email protected] /]# find -name 'proxy*'
./usr/bin/proxysql-status
./usr/bin/proxysql
./usr/bin/proxy
./usr/bin/proxysql_galera_checker
./usr/bin/proxysql_node_monitor
./usr/bin/proxysql-admin
./usr/share/doc/m2crypto-0.20.2/demo/x509/proxy_init.py
./usr/share/doc/m2crypto-0.20.2/demo/x509/proxy_info.py
./usr/share/doc/m2crypto-0.20.2/demo/x509/proxylib.py
./usr/share/doc/m2crypto-0.20.2/demo/x509/proxy_destroy.py
./usr/share/doc/proxysql-1.4.7
./usr/share/man/man8/proxymap.8.gz
./usr/libexec/sssd/proxy_child
./usr/libexec/postfix/proxymap
./usr/lib/python2.6/site-packages/nose/proxy.py
./usr/lib/python2.6/site-packages/nose/proxy.pyo
./usr/lib/python2.6/site-packages/nose/proxy.pyc
./usr/lib/python2.6/site-packages/scservices/dbus/proxy
./proc/sys/net/ipv4/neigh/default/proxy_qlen
./proc/sys/net/ipv4/neigh/default/proxy_delay
./proc/sys/net/ipv4/neigh/lo/proxy_qlen
./proc/sys/net/ipv4/neigh/lo/proxy_delay
./proc/sys/net/ipv4/neigh/eth3/proxy_qlen
./proc/sys/net/ipv4/neigh/eth3/proxy_delay
./proc/sys/net/ipv4/conf/all/proxy_arp
./proc/sys/net/ipv4/conf/all/proxy_arp_pvlan
./proc/sys/net/ipv4/conf/default/proxy_arp
./proc/sys/net/ipv4/conf/default/proxy_arp_pvlan
./proc/sys/net/ipv4/conf/lo/proxy_arp
./proc/sys/net/ipv4/conf/lo/proxy_arp_pvlan
./proc/sys/net/ipv4/conf/eth3/proxy_arp
./proc/sys/net/ipv4/conf/eth3/proxy_arp_pvlan
./proc/sys/net/ipv6/neigh/default/proxy_qlen
./proc/sys/net/ipv6/neigh/default/proxy_delay
./proc/sys/net/ipv6/neigh/eth3/proxy_qlen
./proc/sys/net/ipv6/neigh/eth3/proxy_delay
./proc/sys/net/ipv6/neigh/lo/proxy_qlen
./proc/sys/net/ipv6/neigh/lo/proxy_delay
./proc/sys/net/ipv6/conf/all/proxy_ndp
./proc/sys/net/ipv6/conf/default/proxy_ndp
./proc/sys/net/ipv6/conf/eth3/proxy_ndp
./proc/sys/net/ipv6/conf/lo/proxy_ndp
./var/run/proxysql
./var/spool/postfix/private/proxywrite
./var/spool/postfix/private/proxymap
./var/lib/proxysql
./var/lib/proxysql/proxysql.pid
./var/lib/proxysql/proxysql_stats.db
./var/lib/proxysql/proxysql.log
./var/lib/proxysql/proxysql.db
./etc/proxysql.cnf
./etc/proxysql-admin.cnf
./etc/logrotate.d/proxysql-logrotate
./etc/rc.d/init.d/proxysql
./home/proxysql-1.4.7-1.1.el6.x86_64.rpm
可以看到比較重要的檔案,比如檔案放在/etc/*.cnf,安裝好的資料檔案,以及log,pid都放在/var/lib/proxysql下面。
4.登陸proxysql,通過埠6032可以直接登入到proxysql來配置引數
[[email protected] home]# mysql -uadmin -padmin -h 127.0.0.1 -P6032
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.5.30 (ProxySQL Admin Module)
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> show databases;
+-----+---------------+-------------------------------------+
| seq | name | file |
+-----+---------------+-------------------------------------+
| 0 | main | |
| 2 | disk | /var/lib/proxysql/proxysql.db |
| 3 | stats | |
| 4 | monitor | |
| 5 | stats_history | /var/lib/proxysql/proxysql_stats.db |
+-----+---------------+-------------------------------------+
5 rows in set (0.00 sec)
mysql> show tables;
+--------------------------------------------+
| tables |
+--------------------------------------------+
| global_variables |
| mysql_collations |
| mysql_group_replication_hostgroups |
| mysql_query_rules |
| mysql_query_rules_fast_routing |
| mysql_replication_hostgroups |
| mysql_servers |
| mysql_users |
| proxysql_servers |
| runtime_checksums_values |
| runtime_global_variables |
| runtime_mysql_group_replication_hostgroups |
| runtime_mysql_query_rules |
| runtime_mysql_query_rules_fast_routing |
| runtime_mysql_replication_hostgroups |
| runtime_mysql_servers |
| runtime_mysql_users |
| runtime_proxysql_servers |
| runtime_scheduler |
| scheduler |
+--------------------------------------------+
20 rows in set (0.00 sec)
等等,我有點暈,這然道真的不是登入到mysql資料庫嗎?
真的很像,這樣上手這個軟體就更加沒有難度了。
5.小試牛刀,用proxysql登入資料庫試一下
5.1在資料庫端建立Proxysql登入的使用者:
以下sql是目標資料庫中執行的
mysql> CREATE USER 'proxysql'@'%' IDENTIFIED BY 'proxysql';
Query OK, 0 rows affected (0.41 sec)
mysql> grant usage on *.* to 'proxysql'@'%';
Query OK, 0 rows affected (0.03 sec)
mysql> create user 'sbuser'@'%' IDENTIFIED BY 'sbpass';
Query OK, 0 rows affected (0.00 sec)
mysql> GRANT ALL ON * . * TO 'sbuser'@'%';
Query OK, 0 rows affected (0.00 sec)
mysql> FLUSH PRIVILEGES;
Query OK, 0 rows affected (0.07 sec)
5.2 在proxysql端進行配置,將目標資料庫以及使用者名稱密碼告訴proxysql
mysql> INSERT INTO MySQL_servers(hostgroup_id, hostname, port) VALUES (0,'172.17.61.131',3306);
Query OK, 1 row affected (0.00 sec)
mysql> INSERT INTO MySQL_users(username,password,default_hostgroup) VALUES ('sbuser','sbpass',0);
Query OK, 1 row affected (0.00 sec)
mysql> UPDATE global_variables SET variable_value='proxysql' where variable_name='mysql-monitor_username';
Query OK, 1 row affected (0.00 sec)
mysql> UPDATE global_variables SET variable_value='proxysql' where variable_name='mysql-monitor_password';
Query OK, 1 row affected (0.00 sec)
5.3要配置生效,需要將這些資訊傳到runtime層和disk層。
mysql> LOAD MYSQL SERVERS TO RUNTIME;
Query OK, 0 rows affected (0.00 sec)
mysql> LOAD MYSQL USERS TO RUNTIME;
Query OK, 0 rows affected (0.00 sec)
mysql> SAVE MYSQL SERVERS TO DISK;
Query OK, 0 rows affected (0.03 sec)
mysql> SAVE MYSQL USERS TO DISK;
Query OK, 0 rows affected (0.01 sec)
目前瞭解proxysql有三層架構,runtime層(也是就執行層),memory層(update命令影響到的層),disk層(配置檔案層)。三層的配置可以不同也可以相同,最終系統只識別runtime層的配置。所以要想配置生效,必須將memory層以及disk層的配置導到入runtime層。
5.4 通過埠6033可以登入到已配置好的資料庫
[[email protected] /]# mysql -usbuser -psbpass -h 127.0.0.1 -P 6033 -e "select @@hostname"
mysql: [Warning] Using a password on the command line interface can be insecure.
+------------+
| @@hostname |
+------------+
| qht131 |
+------------+
[[email protected] /]# mysql -usbuser -psbpass -h 127.0.0.1 -P 6033
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 10
Server version: 5.5.30 (ProxySQL)
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> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| l5m |
| mysql |
| performance_schema |
| sys |
+--------------------+
5 rows in set (0.24 sec)
mysql> use l5m
Database changed
mysql> show tables;
+---------------+
| Tables_in_l5m |
+---------------+
| test_mgr |
+---------------+
1 row in set (0.00 sec)
mysql> select * from test_mgr;
+----+
| c1 |
+----+
| 1 |
| 2 |
| 3 |
| 4 |
| 5 |
| 6 |
| 7 |
| 8 |
+----+
8 rows in set (0.04 sec)
可以的,通過proxysql登入到mysql資料庫了!
參考:http://www.fordba.com/mysql_proxysql.html
相關推薦
MySQL中介軟體之ProxySQL的安裝
1.下載proxySQL,我用的是rpm安裝2.安裝ProxySQL[[email protected] home]# rpm -ivh proxysql-1.4.7-1.1.el6.x86_64.rpm warning: proxysql-1.4.7-1.1.el
MySQL中介軟體Atlas快速安裝
Atlas是由 Qihoo 360公司Web平臺部基礎架構團隊開發維護的一個基於MySQL協議的資料中間層專案。它在MySQL官方推出的MySQL-Proxy 0.8.2版本的基礎上,修改了大量bug,添加了很多功能特性。目前該專案在360公司內部得到了廣泛應用
MySQL中介軟體proxysql實現讀寫分離
環境說明: IP 角色 應用 平臺 192.168.161.96 讀寫分離解析主機 proxysql rhel7.4 19
mysql中介軟體dbproxy安裝
dbproxy安裝需要注意以下幾點: 1,需要glib-2.42 有可能需要自行下載安裝,本人使用2.42.1 2,編譯的時候如果報錯 需要設定 export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig dbproxy只支援mysql(percona
mysql中介軟體proxysql
proxysql有兩個配置檔案: 1,proxysql.cnf 配置說明: datadir="/data/proxysql" admin_variables= { admin_credentials=“admin:admin” mysql_ifaces=“127.0.0.1:6032” }
MySQL 中介軟體 Mycat 安裝與使用
環境 Windows (mycat) Linux 虛擬機器(主庫) Linux 虛擬機器(從褲)下載Windows 使用1. 解壓Windows包2. 配置
MySQL中間件之ProxySQL(3):多層配置系統
greate The 如果 galera use img mat 模塊 def 1.ProxySQL中的庫 使用ProxySQL的Admin管理接口連上ProxySQL,可查看ProxySQL擁有的庫。 mysql -uadmin -padmin -h127.0.0.1
MySQL中間件之ProxySQL(5):線程、線程池、連接池
時間發送 連接池 roo 接口 緩存 變量 時間 過程 manager 1.ProxySQL的線程 ProxySQL由多個模塊組成,是一個多線程的daemon類程序。每個模塊都有一個或多個線程去執行任務。 例如,以下是剛啟動ProxySQL時的進程情況,一個main進程,
MySQL中間件之ProxySQL(9):ProxySQL的查詢緩存功能
res 掃描 結果集 統計 ges test ima sql blog 返回ProxySQL系列文章:http://www.cnblogs.com/f-ck-need-u/p/7586194.html ProxySQL支持查詢緩存的功能,可以將後端返回的結果集緩存在自己
MySQL中間件之ProxySQL(15):ProxySQL代理MySQL組復制
這樣的 body -a 問題 -i 友好 必須 命名 mct 返回ProxySQL系列文章:http://www.cnblogs.com/f-ck-need-u/p/7586194.html 1.ProxySQL+組復制前言 在以前的ProxySQL版本中,要支持My
MySQL中間件之ProxySQL(8):SQL語句的重寫規則極速賽車ProxySQL(8):
prot mvvm xxx 復制 初始化 -a data屬性 不能 所有 聯系方式:QQ:2747044651 網址http://zhengtuwl.com的根元素“#mvvm-app”內只有一個文本節點#text,#text的內容為{{name}}。我們就以下面這個模板詳
.NetCore 中介軟體之AddAuthentication服務說明及實現原理簡述
如果你使用過.NetCore開發過程序,你會很清楚,在其中我們經常會用到一些如下的程式碼 services.AddAuthentication(options => { options.DefaultAuthentic
python中介軟體 之進階
中介軟體簡介 中介軟體是一個用來處理django的響應與請求的框架級別的鉤子.它是一個輕量,低級別的外掛系統, 用於在全域性範圍內改變django的輸入和輸出,每個中介軟體元件都負責做一些特定的功能.
Redux中介軟體之redux-thunk使用詳解
Redux的核心概念其實很簡單:將需要修改的state都存入到store裡,發起一個action用來描述發生了什麼,用reducers描述action如何改變state tree 。建立store的時候需要傳入reducer,真正能改變store中資料的是store.dispatch API。
ActiveMQ -- 中介軟體之運用(一)
ActiveMQ -- 中介軟體 一、ActiveMQ講解 1
訊息中介軟體之ActiveMQ初步認識及第一個程式
MQ-Sender: import java.util.concurrent.TimeUnit; import javax.jms.Connection; import javax.jms.Destination; import javax.jms.MessageProducer; impo
MySQL中介軟體
mysql-proxy、atlas、amoeba、TDDL(Taobao Distributed Data Layer)、cobar 一、kingshard 效能相當不錯 二、Mycat 不支援prepare語句時硬傷 三、Atlas 四
初識訊息中介軟體之ActiveMQ(一)
訊息中件之—————-ActiveMQ(一) 中介軟體:IDC對中介軟體的定義表明,中介軟體是一類軟體,而非一種軟體;中介軟體不僅僅實現互連,還要實現應用之間的互操作;中介軟體是基於分散式處理的軟體,最突出的特點是其網路通訊功能。是實現多平臺,多應用相互協作的一類重要的軟體。 訊
訊息中介軟體之 RocketMQ
參考文件: http://jm.taobao.org/2017/01/12/rocketmq-quick-start-in-10-minutes/ http://rocketmq.apache.org/docs/quick-start/ https://www.jianshu.com/p/824066d70d
深度學習編譯中介軟體之NNVM(五)TVM論文閱讀
參考文件 摘要:現今,像Tensorflow,MXNet,Caffe和Pytorch這樣的可擴充套件框架共同驅動了深度學習的流行度和實用性。但是,這些框架只為一些伺服器端GPU提供優化,並將工作負載部署到其他平臺,如移動手機,嵌入式裝置和其他特定的加