mysql router 8.0.11_MySQL Router8
MySQL Router8是一款輕量級的中間件,主要用來實現高可用和擴展性的功能,在中間的訪問協議和MySQL一致,不需要做任何的修改,提供了使用fabric可用的方式,有需要的朋友可以來本站下載!
軟件特點
優點:
上手快,很容易配置
較為穩定,性能中沒有遇到什么問題
插件式的架構允許用戶進行額外功能的擴展
缺點:
僅支持簡單的負載均衡功能
高可用功能有待進一步測試
雖然支持Fabric元數據,但是不支持分庫分表(不得不說是一個遺憾)
白名單,SQL統計功能,防火墻功能缺失
需要gcc 4.8以上版本支持,老系統編譯比較麻煩些
MySQL Router安裝部署教程
----------------------- 復制創建及配置主要步驟 -----------------------------------------
1、Master 端啟用二進制日志,指定唯一的 server_id
2、Slave 端配置唯一的 server_id
3、Master 端創建復制專用帳號
4、記錄 Master 端日志信息并創建鏡像
5、配置 Slave 端的連接
1、系統平臺: CentOS 6.6 (64位)
2、軟件版本:mysql-5.7.16-linux-glibc2.5-x86_64.tar.gz
3、為了模擬現實環境情況做如下前提條件假設:
1)、在搭建Master和Salve1時為一個全新的環境,即主數據庫中無任何數據,Master和Slave1均為新環境部署
2)、在現有復制環境(Master+Slave1)中新增一個Slave2節點,現有復制環境中已有數據存在和修改過程執行
3)、Master節點的端口為3306,Slave1節點端口為3306,Slave2節點端口為3306
4)、為了部署方便,安裝包使用二進制程序進行部署
----------------------------------------- 部署實現過程 -----------------------------------------------
1、 用戶及相關目錄創建
--MySQLDB1 節點
[root@mysqldb1 ~]# groupadd mysql
[root@mysqldb1 ~]# useradd mysql -g mysql
[root@mysqldb1 ~]# mkdir /mysql
[root@mysqldb1 ~]# mkdir /mytmp
[root@mysqldb1 ~]# passwd mysql
--MySQLDB2 節點
[root@mysqldb2 ~]# groupadd mysql
[root@mysqldb2 ~]# useradd mysql -g mysql
[root@mysqldb2 ~]# mkdir /mysql
[root@mysqldb2 ~]# mkdir /mytmp
[root@mysqldb2 ~]# passwd mysql
--MySQLDB3 節點
[root@mysqldb3 ~]# groupadd mysql
[root@mysqldb3 ~]# useradd mysql -g mysql
[root@mysqldb3 ~]# mkdir /mysql
[root@mysqldb3 ~]# mkdir /mytmp
[root@mysqldb3 ~]# passwd mysql
2、 設置用戶操作系統資源的限制
--以避免在啟動mysql服務是會報:
2017-04-11 17:27:03 3175 [Warning] Buffered warning: Changed limits: max_open_files: 1024 (requested 5000)
2017-04-11 17:27:03 3175 [Warning] Buffered warning: Changed limits: table_open_cache: 431 (requested 2000)
之類的警告信息
[root@mysqla ~]# vi /etc/security/limits.conf
在文件的最后添加如下內容
mysql soft nproc 2047
mysql hard nproc 16384
mysql soft nofile 1024
mysql hard nofile 65535
3、 解壓上傳的二進制安裝包程序并復制到目標目錄下
--MySQLDB1 節點
[root@mysqldb1 mytmp]# tar -xzvf mysql-5.7.16-linux-glibc2.5-x86_64.tar.gz
[root@mysqldb1 mytmp]# mv mysql-5.7.16-linux-glibc2.5-x86_64 /mysql/3306
--MySQLDB2 節點
[root@mysqldb2 mytmp]# tar -xzvf mysql-5.7.16-linux-glibc2.5-x86_64.tar.gz
[root@mysqldb2 mytmp]# mv mysql-5.7.16-linux-glibc2.5-x86_64 /mysql/3306
--MySQLDB3 節點
[root@mysqldb3 mytmp]# tar -xzvf mysql-5.7.16-linux-glibc2.5-x86_64.tar.gz
[root@mysqldb3 mytmp]# mv mysql-5.7.16-linux-glibc2.5-x86_64 /mysql/3306
4、 便于方便管理創建單獨的日志文件存放目錄
--MySQLDB1 節點
[root@mysqldb1 3306]# mkdir logs
--MySQLDB2 節點
[root@mysqldb2 3306]# mkdir logs
--MySQLDB3 節點
[root@mysqldb3 3306]# mkdir logs
5、 目錄權限修改
--MySQLDB1 節點
[root@mysdb1 ~]# chown -R mysql:mysql /mysql
--MySQLDB2 節點
[root@mysqldb2 ~]# chown -R mysql:mysql /mysql
--MySQLDB3 節點
[root@mysqldb3 ~]# chown -R mysql:mysql /mysql
6、 數據庫初始化安裝
--MySQLDB1 節點
[root@mysqldb1 ~]# su - mysql
[mysql@mysqldb1 ~]$ cd /mysql/3306
[mysql@mysqldb1 3306]$ ./bin/mysqld --initialize --user=mysql --basedir=/mysql/3306 --datadir=/mysql/3306/data
--MySQLDB2 節點
[root@mysqldb2 ~]# su - mysql
[mysql@mysqldb2 ~]$ cd /mysql/3306
[mysql@mysqldb2 3306]$ ./bin/mysqld --initialize --user=mysql --basedir=/mysql/3306 --datadir=/mysql/3306/data
--MySQLDB3 節點
[root@mysqldb3 ~]# su - mysql
[mysql@mysqldb3 ~]$ cd /mysql/3306
[mysql@mysqldb3 3306]$ ./bin/mysqld --initialize --user=mysql --basedir=/mysql/3306 --datadir=/mysql/3306/data
注:1、 數據庫初始化的命令與5.6版本有所不同
2、 數據庫初始化完后,會自動為 root 用戶生成一個密碼,記住該密碼,
不過該密碼很快很過期,所以需要在配置文件添加 skip-grant-tables 來啟動數據庫實例
3、 安裝aio依賴包: yum install libaio*
7、 參數文件配置
--MySQLDB1 節點 /mysql/3306/my.cnf
[client]
default_character_set = utf8
port = 3306
socket = /tmp/mysql3306.sock
[mysqld]
basedir = /mysql/3306
datadir = /mysql/3306/data
user = mysql
port = 3306
server_id = 13306
character_set_server = utf8
socket = /tmp/mysql3306.sock
pid-file = /tmp/mysql3306.pid
log-bin = /mysql/3306/logs/bin_log
relay-log = /mysql/3306/logs/relay_log
log-error = /mysql/3306/logs/mysql_error.log
explicit_defaults_for_timestamp = true
expire_logs_days = 10
max_binlog_size = 100M
binlog-do-db = testdb #復制數據庫名稱
binlog-ignore-db = mysql
--MySQLDB2 節點 /mysql/3306/my.cnf
[client]
default_character_set = utf8
port = 3306
socket = /tmp/mysql3306.sock
[mysqld]
basedir = /mysql/3306
datadir = /mysql/3306/data
user = mysql
port = 3306
server_id = 23306
character_set_server = utf8
socket = /tmp/mysql3306.sock
pid-file = /tmp/mysql3306.pid
log-bin = /mysql/3306/logs/bin_log
relay-log = /mysql/3306/logs/relay_log
log-error = /mysql/3306/logs/mysql_error.log
explicit_defaults_for_timestamp = true
expire_logs_days = 10
max_binlog_size = 100M
--MySQLDB3 節點 /mysql/3306/my.cnf
[client]
default_character_set = utf8
port = 3306
socket = /tmp/mysql3306.sock
[mysqld]
basedir = /mysql/3306
datadir = /mysql/3306/data
user = mysql
port = 3306
server_id = 33306
character_set_server = utf8
socket = /tmp/mysql3306.sock
pid-file = /tmp/mysql3306.pid
log-bin = /mysql/3306/logs/bin_log
relay-log = /mysql/3306/logs/relay_log
log-error = /mysql/3306/logs/mysql_error.log
explicit_defaults_for_timestamp = true
expire_logs_days = 10
max_binlog_size = 100M
8、 清理配置參數文件
在Linux平臺下,mysql程序默認會按照以下順序掃描路徑尋找配置文件
/etc/my.cnf
/etc/mysql/my.cnf
SYSCONFDIR/my.cnf #通過CMake源代碼編譯時指定的SYSCONFDIR的參數指定的路徑
$MYSQL_HOME/my.cnf #MYSQL_HOME環境變量所在路徑,即mysql安裝路徑(basedir)
~/.my.cnf #~表示到當更前用戶根目錄下尋找
通過命令 find / -iname my.cnf 查詢配置文件的存在性,僅保留 MYSQL_HOME/my.cnf 配置文件。
總結
以上是生活随笔為你收集整理的mysql router 8.0.11_MySQL Router8的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: matlab 连接mysql数据库_【转
- 下一篇: mysql可以存储标点么_MySQL命名