服务器-mysql5.6读写分离中遇到的问题
mysql服务器
再做读写分离时,这样做是没问题的
[root@proxy mysql-proxy]# mysql-proxy --daemon --plugins=proxy --log-level=debug --log-file=/var/log/mysql-proxy.log --proxy-read-only-backend-addresses=192.168.85.145:3306 --proxy-backend-addresses=192.168.85.144:3306 --proxy-lua-script=/usr/local/mysql-proxy/share/doc/mysql-proxy/rw-splitting.lua --plugins=admin --admin-username=admini --admin-password=admini --admin-lua-script=/usr/local/mysql-proxy/share/doc/mysql-proxy/admin.lua
无论是4041端口还是4040端口都能登录上去也添加了后端服务器,日志显示:
[root@proxy mysql-proxy]# tail /var/log/mysql-proxy.log
2015-12-31 10:50:41: (critical) plugin proxy 0.8.5 started
2015-12-31 10:50:41: (critical) plugin admin 0.8.5 started
2015-12-31 10:50:41: (debug) max open file-descriptors = 1024
2015-12-31 10:50:41: (message) proxy listening on port :4040
2015-12-31 10:50:41: (message) added read/write backend: 192.168.85.144:3306
2015-12-31 10:50:41: (message) added read-only backend: 192.168.85.145:3306
2015-12-31 10:50:41: (message) admin-server listening on port :4041
但是这样写不是很麻烦嘛,就想着编写一个配置文件 ,通过读取配置文件中的设置启动mysql-proxy,但是4040端口却无论如何也无法启动
第一次配置文件内容:
[root@proxy ~]# cat /etc/mysql-proxy.conf
[mysql-proxy]
pid-file = /var/run/mysql-proxy.pid
log-file = /var/log/mysql-proxy.log
log-level = debug
plugins = admin
plugins = proxy
#
#Proxy Configuration
user = proxy
proxy-address = 192.168.85.128:4040
proxy-backend-addresses = 192.168.85.144:3306
proxy-read-only-backend-addresses = 192.168.85.145:3306
proxy-lua-script = /usr/local/mysql-proxy/share/doc/mysql-proxy/rw-splitting.lua
#
Admin Configuration
admin-username = admini
admin-password = admini
admin-lua-script=/usr/local/mysql-proxy/share/doc/mysql-proxy/admin.lua
然后mysql-proxy --daemon --defaults-file=/etc/mysql-proxy.conf
此时的日志:
2016-01-01 16:28:09: (critical) plugin proxy 0.8.5 started
2016-01-01 16:28:09: (debug) max open file-descriptors = 1024
2016-01-01 16:28:09: (message) proxy listening on port 192.168.85.128:4040
2016-01-01 16:28:09: (message) added read/write backend: 192.168.85.144:3306
2016-01-01 16:28:09: (message) added read-only backend: 192.168.85.145:3306
2016-01-01 16:28:09: (debug) now running as user: proxy (496/493)
后端服务器也都加了,4040端口启动了,也能正常登录上去,但是4041端口没有开启;
然后,我改了一下配置文件(其实就是proxy和admin插件的位置换了一下)
第二次配置文件内容:
[mysql-proxy]
pid-file = /var/run/mysql-proxy.pid
log-file = /var/log/mysql-proxy.log
log-level = debug
plugins = proxy
plugins = admin
#
#Proxy Configuration
user = proxy
proxy-address = 192.168.85.128:4040
proxy-backend-addresses = 192.168.85.144:3306
proxy-read-only-backend-addresses = 192.168.85.145:3306
proxy-lua-script = /usr/local/mysql-proxy/share/doc/mysql-proxy/rw-splitting.lua
#proxy-skip-profiling = true
#
Admin Configuration
#admin-address = 0.0.0.0:4041
admin-username = admini
admin-password = admini
admin-lua-script=/usr/local/mysql-proxy/share/doc/mysql-proxy/admin.lua
再次启动后的日志:
2016-01-01 16:33:35: (critical) plugin admin 0.8.5 started
2016-01-01 16:33:35: (debug) max open file-descriptors = 1024
2016-01-01 16:33:35: (message) admin-server listening on port :4041
2016-01-01 16:33:35: (debug) now running as user: proxy (496/493)
这下子,不仅4040端口未打开,连服务器都未加入,只有4041端口在开着;
以后无论我怎么改配置文件,只要plugins=admin选项在plugins=proxy后都是出现第二种情况也就是只有4041端口打开,只有第一次的配置文件才是4040端口打开,而且怎么都无法做到4040和4041端口同时开启;
怎样才能打开4040和4041端口以及加入后端服务器?还是说配置文件我写错了?

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

MySQL在Web應用中的主要作用是存儲和管理數據。 1.MySQL高效處理用戶信息、產品目錄和交易記錄等數據。 2.通過SQL查詢,開發者能從數據庫提取信息生成動態內容。 3.MySQL基於客戶端-服務器模型工作,確保查詢速度可接受。

MySQL与其他编程语言相比,主要用于存储和管理数据,而其他语言如Python、Java、C 则用于逻辑处理和应用开发。MySQL以其高性能、可扩展性和跨平台支持著称,适合数据管理需求,而其他语言在各自领域如数据分析、企业应用和系统编程中各有优势。

MySQL的基本操作包括創建數據庫、表格,及使用SQL進行數據的CRUD操作。 1.創建數據庫:CREATEDATABASEmy_first_db;2.創建表格:CREATETABLEbooks(idINTAUTO_INCREMENTPRIMARYKEY,titleVARCHAR(100)NOTNULL,authorVARCHAR(100)NOTNULL,published_yearINT);3.插入數據:INSERTINTObooks(title,author,published_year)VA

InnoDBBufferPool通過緩存數據和索引頁來減少磁盤I/O,提升數據庫性能。其工作原理包括:1.數據讀取:從BufferPool中讀取數據;2.數據寫入:修改數據後寫入BufferPool並定期刷新到磁盤;3.緩存管理:使用LRU算法管理緩存頁;4.預讀機制:提前加載相鄰數據頁。通過調整BufferPool大小和使用多個實例,可以優化數據庫性能。

MySQL通過表結構和SQL查詢高效管理結構化數據,並通過外鍵實現表間關係。 1.創建表時定義數據格式和類型。 2.使用外鍵建立表間關係。 3.通過索引和查詢優化提高性能。 4.定期備份和監控數據庫確保數據安全和性能優化。

MySQL值得學習,因為它是強大的開源數據庫管理系統,適用於數據存儲、管理和分析。 1)MySQL是關係型數據庫,使用SQL操作數據,適合結構化數據管理。 2)SQL語言是與MySQL交互的關鍵,支持CRUD操作。 3)MySQL的工作原理包括客戶端/服務器架構、存儲引擎和查詢優化器。 4)基本用法包括創建數據庫和表,高級用法涉及使用JOIN連接表。 5)常見錯誤包括語法錯誤和權限問題,調試技巧包括檢查語法和使用EXPLAIN命令。 6)性能優化涉及使用索引、優化SQL語句和定期維護數據庫。

MySQL適合初學者學習數據庫技能。 1.安裝MySQL服務器和客戶端工具。 2.理解基本SQL查詢,如SELECT。 3.掌握數據操作:創建表、插入、更新、刪除數據。 4.學習高級技巧:子查詢和窗口函數。 5.調試和優化:檢查語法、使用索引、避免SELECT*,並使用LIMIT。

在MySQL中,外鍵的作用是建立表與表之間的關係,確保數據的一致性和完整性。外鍵通過引用完整性檢查和級聯操作維護數據的有效性,使用時需注意性能優化和避免常見錯誤。
