標籤:/usr 運行 問題: slave .com pass tin isp syslog
Amoeba
- 以MySQL為底層資料存放區,並對應用提供MySQL協議介面的proxy
- 集中想用應用的請求,根據使用者事先設定的規則,將SQL請求發送到特定的資料庫上執行
- 基於此可以實現負載平衡、讀寫分離、高可用性等需求
- 強調的是amoeba配置的方便,基於XML的設定檔,用SQLJEP文法書寫規則
- 相當於一個SQL請求的路由器
- 需結合mysql的replication等機制實現副本同步等功能
- 對底層資料庫連接管理和路由實現才用了可插拔機制
MySQL-Proxy
基於程式讀寫分離
MySQL-Proxy讀寫分離
yum install mysql-server mysql mysql-devel -y
[mysqld] datadir=/var/lib/mysql socket=/var/lib/mysql/mysql.sock user=mysql # Disabling symbolic-links is recommended to prevent assorted security risks symbolic-links=0 log-bin=mysql-bin server-id = 1auto_increment_offset=1 auto_increment_increment=2[mysqld_safe] log-error=/var/log/mysqld.log pid-file=/var/run/mysqld/mysqld.pid replicate-do-db =all
master my.cnf
[mysqld] datadir=/var/lib/mysql/socket=/var/lib/mysql/mysql.sock user=mysql # Disabling symbolic-links is recommended to prevent assorted security risks symbolic-links=0 log-bin=mysql-bin server-id = 2 auto_increment_offset=2 auto_increment_increment=2[mysqld_safe] log-error=/var/log/mysqld.log pid-file=/var/run/mysqld/mysqld.pid master-connect-retry=60 replicate-do-db =all
slave my.cnf
wget wget https://downloads.mariadb.com/archives/mysql-proxy/mysql-proxy-0.8.3-linux-glibc2.3-x86-64bit.tar.gz useradd -r mysql-proxytar zxvf mysql-proxy-0.8.3-linux-glibc2.3-x86-64bit.tar.gz -C /usr/localmv /usr/local/mysql-proxy-0.8.3-linux-glibc2.3-x86-64bit /usr/local/mysql-proxy
export PATH=$PATH:/usr/local/mysql-proxy/bin/echo "PATH=$PATH:/usr/local/mysql-proxy/bin"
Mysql-proxy的相關參數如下:--help-all :擷取全部協助資訊;--proxy-address=host:port :代理服務監聽的地址和連接埠;--admin-address=host:port :管理模組監聽的地址和連接埠;--proxy-backend-addresses=host:port :後端mysql伺服器的地址和連接埠;--proxy-read-only-backend-addresses=host:port :後端唯讀mysql伺服器的地址和連接埠;--proxy-lua-script=file_name :完成mysql代理功能的Lua指令碼;--daemon :以守護進程模式啟動mysql-proxy;--keepalive :在mysql-proxy崩潰時嘗試重啟之;--log-file=/path/to/log_file_name :記錄檔名稱;--log-level=level :記錄層級;--log-use-syslog :基於syslog記錄日誌;--plugins=plugin:在mysql-proxy啟動時載入的外掛程式;--user=user_name :運行mysql-proxy進程的使用者;--defaults-file=/path/to/conf_file_name : 預設使用的設定檔路徑;其配置段使用[mysql-proxy]標識;--proxy-skip-profiling : 禁用profile;--pid-file=/path/to/pid_file_name :進程檔案名稱;
mysql-proxy --daemon --log-level=debug --user=mysql-proxy --keepalive --log-file=/var/log/mysql-proxy.log --plugins="proxy" --proxy-backend-addresses="192.168.1.14:3306" --proxy-read-only-backend-addresses="192.168.1.15:3306" --proxy-lua-script="/usr/local/mysql-proxy/share/doc/mysql-proxy/rw-splitting.lua" --plugins=admin --admin-username="admin" --admin-password="admin" --admin-lua-script="/usr/local/mysql-proxy/lib/mysql-proxy/lua/admin.lua"
netstat -ntpl |grep mysql-proxymysql -h192.168.1.14 -uadmin -p -P4041select * from backends;
問題:
VIP怎麼產生的?
mysql抄書6:MySQL讀寫分離