好久沒安裝數據庫服務器了,記得上次 MySQL 安裝配置的時候,系統仍是 Cenots 6.5 ,如今 Centos 系統版本更新太快,都跟不上步伐了,恰好最近公司須要幾臺 Mariadb Server 恰好練練手。html
因爲每家公司的數據庫服務器 版本不一樣,但我依然推薦你們使用 Mariadb 數據庫,至少目前該社區及產品很是穩定,至於有什麼新功能,建議去其官方瞭解更多特性。mysql
$ cat /etc/redhat-release CentOS Linux release 7.4.1708 (Core) x64
下載MariaDB二進制安裝包:linux
https://downloads.mariadb.org 解壓並安裝 Mariadb-devel 靜態庫: $ yum install mariadb-devel numactl -y $ mkdir /renwole $ cd /renwole $ tar zxvf mariadb-10.2.8-linux-glibc_214-x86_64.tar.gz 移動目錄並建立軟鏈接: $ mv mariadb-10.2.8-linux-glibc_214-x86_64 /usr/local $ cd /usr/local $ ln -s mariadb-10.2.8-linux-glibc_214-x86_64 mysql 建立 MariaDB(MySQL)用戶和組 $ groupadd mysql $ useradd -g mysql mysql 賦予 MariaDB(MySQL)目錄權限: $ cd /usr/local/mysql $ chown -R root . $ chown -R mysql data
刪除自帶的 my.cnf 配置文件,並建立新的配置文件:sql
$ rm -rf /etc/my.cnf $ cp /usr/local/mysql/support-files/my-large.cnf /etc/my.cnf
注:/usr/local/mysql/support-files下有5個配置文件,請根據服務器的內存大小選擇配置文件(你也能夠自定義優化my.cnf配置文件,若是你以前有,只要是同版本就能夠正常使用,從而無須再次建立,MariaDB(MySQL)啓動的時候會自動到/etc下尋找my.cnf文件)。數據庫
文件分別是:express
my-small.ini (內存 < = 64M) my-medium.ini (內存 128M ) my-large.ini (內存 512M) my-huge.ini (內存 1G-2G) my-innodb-heavy-4G.ini (內存 4GB)
在my.cnf文件的 mysqld 字段加入數據庫路徑:vim
$ vim /etc/my.cnf datadir = /usr/local/mysql/data
注意:這個路徑就是初始化數據庫用的,未來你的數據庫都存在這個目錄,這個存儲路徑是能夠更改到其餘路徑的,以避免未來系統宕機帶來沒必要要的損失,因此請根據本身的需求更換相對的路徑,別忘記給權限就行。centos
$ cd /usr/local/mysql/scripts $ ./mysql_install_db --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data $ cd /usr/local/mysql/support-files $ cp mysql.server /etc/init.d/mysql $ chmod +x /etc/init.d/mysql $ systemctl enable mysql
添加系統變量,例如直接輸入:mysql -uroot -p 會提示無此命令:緩存
$ vim /etc/profile
在文件末端添加如下內容:安全
PATH=$PATH:/usr/local/mysql/bin export PATH
使變量當即生效並啓動Mysql數據庫:
$ source /etc/profile $ systemctl restart mysql $ ss -antp
初始化MariaDB(MySQL)安全帳戶
$ /usr/local/mysql/bin/mysql_secure_installation
注意:回車提示你輸入MariaDB(MySQL)密碼,新安裝的mysql密碼默認爲空,因此直接回車,而後輸入Y設置MySQL密碼,輸入兩次回車便可,接下來所有按Y便可(大體意思是刪除test數據庫、匿名帳號、最後Y配置生效。
啓用mariadb數據庫
$ systemctl start mariadb #啓動數據庫服務守護進程
$ systemctl enable mariadb #自動啓動服務
$systemctl status mariadb # 查看 MariaDB 服務當前狀態
佛曰:「先有庫,後有表,再有數據…..」
建立數據庫
CREATE DATABASE [IF NOT EXISTS] db_name [create_specification] ... create_specification: [DEFAULT] CHARACTER SET [=] charset_name | [DEFAULT] COLLATE [=] collation_name
例如:建立數據庫,並指定默認字符集爲UTF-8
SHOW CHARACTER SET;//查看支持的字符集 CREATE DATABASE mydb CHARACTER SET='utf8'; //建立數據庫mydb,並指定字符集爲utf-8
查看數據庫建立信息
MariaDB [(none)]> SHOW CREATE DATABASE mydb; +----------+---------------------------------------------------------------+ | Database | Create Database | +----------+---------------------------------------------------------------+ | mydb | CREATE DATABASE `mydb` /*!40100 DEFAULT CHARACTER SET utf8 */ | +----------+---------------------------------------------------------------+ 1 row in set (0.00 sec)
`
修改數據庫
ALTER {DATABASE | SCHEMA} [db_name] alter_specification ... ALTER {DATABASE | SCHEMA} db_name UPGRADE DATA DIRECTORY NAME //這條命令在升級數據庫時,使用此命令從新編碼數據庫文件 alter_specification: [DEFAULT] CHARACTER SET [=] charset_name | [DEFAULT] COLLATE [=] collation_nam 修改數據庫mydb的字符集爲utf-16: MariaDB [(none)]> ALTER DATABASE mydb CHARACTER SET = utf16; Query OK, 1 row affected (0.00 sec)
刪除數據庫
DROP {DATABASE | SCHEMA} [IF EXISTS] db_name 刪除數據庫很是的。。。快!因此呢,想好再回車。 MariaDB [(none)]> DROP DATABASE IF EXISTS mydb; Query OK, 0 rows affected (0.00 sec) 設定數據庫默認字符集 只須要在my.cnf中加入此指令便可,在[mysqld]下: character_set_server = utf8
建立表
CREATE [OR REPLACE] [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name (create_definition,...) [table_options ]... [partition_options]
比較基礎的就是表定義選項了,以下:
column_definition: data_type [NOT NULL | NULL] [DEFAULT default_value | (expression)] [AUTO_INCREMENT] [UNIQUE [KEY] | [PRIMARY] KEY] [INVISIBLE] [{WITH|WITHOUT} SYSTEM VERSIONING] [COMMENT 'string'] [COLUMN_FORMAT {FIXED|DYNAMIC|DEFAULT}] [reference_definition]
例如:建立User表,有4個字段,分別爲:ID、用戶名、密碼、登陸時間
MariaDB [mydb]> CREATE TABLE IF NOT EXISTS user( -> id INT AUTO_INCREMENT PRIMARY KEY, -> username VARCHAR(10) NOT NULL, -> password VARCHAR(32) NOT NULL, -> logintime TIMESTAMP NOT NULL);
查看錶
在Mysql中,可使用DESCRIBE table_name;來查看錶的定義,DESCRIBE能夠縮寫爲DESC,以下:
MariaDB [mydb]> DESC user; +-----------+-------------+------+-----+-------------------+-----------------------------+ | Field | Type | Null | Key | Default | Extra | +-----------+-------------+------+-----+-------------------+-----------------------------+ | id | int(11) | NO | PRI | NULL | auto_increment | | username | varchar(10) | NO | | NULL | | | password | varchar(32) | NO | | NULL | | | logintime | timestamp | NO | | CURRENT_TIMESTAMP | on update CURRENT_TIMESTAMP | +-----------+-------------+------+-----+-------------------+-----------------------------+ 4 rows in set (0.03 sec)
固然,咱們也可使用SHOW CREATE TABLE table_name;來查看定義表時所使用的命令
MariaDB [mydb]> SHOW CREATE TABLE user; +-------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | Table | Create Table | +-------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | user | CREATE TABLE `user` ( `id` int(11) NOT NULL AUTO_INCREMENT, `username` varchar(10) NOT NULL, `password` varchar(32) NOT NULL, `logintime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf16 | //這裏能夠看到這張表使用的存儲引擎和字符集 +-------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ 1 row in set (0.00 sec)
修改表
1.爲user表添加一個新的字段registtime來記錄用戶的註冊時間
MariaDB [mydb]> ALTER TABLE user ADD COLUMN registtime TIMESTAMP NOT NULL AFTER logintime;
因此,添加字段的格式能夠爲以下:
ALTER TABLE table_name ADD [COLUMN] col_name column_definition [FIRST | AFTER col_name ]
其中,FIRST與AFTER是指定新添加的字段在什麼位置,FIRST表明第一列,而AFTER指示在某一列以後
2.爲user表修改一個字段,把剛纔新加的registtime字段的數據類型修改成datatime類型
MariaDB [mydb]> ALTER TABLE user MODIFY COLUMN registtime DATETIME; 命令格式以下: ALTER TABLE table_name MODIFY [COLUMN] col_name column_definition [FIRST | AFTER col_name]
`
3.修改字段registtime爲createtime
MariaDB [mydb]> ALTER TABLE user CHANGE registtime createtime DATETIME NOT NULL; 命令格式以下,須要從新定義下新的字段: ALTER TABLE table_name CHANGE [COLUMN] old_col_name new_col_name column_definition [FIRST|AFTER col_name]
4.刪除這個createtime字段,全部行的這個字段的數據也會被刪除
MariaDB [mydb]> ALTER TABLE user DROP COLUMN createtime;
5.修改表名user爲users
MariaDB [mydb]> ALTER TABLE user RENAME TO users;
6.修改數據表的字符集
MariaDB [mydb]> ALTER TABLE users DEFAULT CHARACTER SET=utf8;
7.修改數據表的存儲引擎,有關存儲引擎這方面暫時瞭解的不深,因此這條命令….嗯,你懂得。
MariaDB [mydb]> ALTER TABLE users ENGINE=MyISAM;
會致使數據重建的…因此,謹慎修改
8.修改數據表的排序字段
MariaDB [mydb]> ALTER TABLE users ORDER BY logintime;
刪除一個數據表
與刪除數據庫同樣,謹慎按下回車鍵
MariaDB [mydb]> DROP TABLE IF EXISTS users;
數據類型->是一類具備相同屬性、相同性質的數據分類的抽象。
例如:
字符串,就是一個個的字符組成一串就叫字符串…在計算機中能夠劃分子串、能夠在字符串末尾添加新的字符,而這類操做就只能操做字符串數據,而不能操做整數。
數字型,咱們最常接觸的阿拉伯數字,能夠進行算數運算、邏輯運算等操做
MySQL支持多種類型,大體能夠分爲三類:數值、日期/時間和字符串(字符)類型。
數值類型
1.對於整數類型,能夠限制其長度,格式以下:
整數類型[(M)] [SIGNED | UNSIGNED | ZEROFILL]
M爲數字的位數,例如TINYINT(3),就只能存儲三位數,位數應不超過其所能表示的範圍
SIGNED:默認即爲有符號數
UNSIGNED:指定爲無符號數
ZEROFILL:當不知足M位時,其前用0填充,且爲變爲無符號數
2.對於浮點數,可限制其總體位數和小數點後位數
(FLOAT|DOUBLE)[(M,D)] [SIGNED | UNSIGNED | ZEROFILL]
M爲總的位數,D爲小數點後的位數
ZEROFILL對於浮點型,起做用等同於UNSIGNED
MariaDB [mydb]> DESC t1; +-------+--------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +-------+--------------+------+-----+---------+-------+ | c1 | float(5,2) | YES | | NULL | | | c2 | double(10,3) | YES | | NULL | | +-------+--------------+------+-----+---------+-------+ 2 rows in set (0.00 sec) MariaDB [mydb]> INSERT INTO t1 VALUES(23.5,12.34566777); Query OK, 1 row affected (0.01 sec) MariaDB [mydb]> SELECT * FROM t1; //這裏能夠看到,在其後補了0 +-------+--------+ | c1 | c2 | +-------+--------+ | 23.50 | 12.346 | +-------+--------+ 1 row in set (0.00 sec)
格式縮寫: 日期時間格式,除了標準的格式之外還支持鬆散的格式。
建立測試表,結構以下:
MariaDB [mydb]> desc datetable; +-------+-----------+------+-----+-------------------+-----------------------------+ | Field | Type | Null | Key | Default | Extra | +-------+-----------+------+-----+-------------------+-----------------------------+ | c1 | date | YES | | NULL | | | c2 | time | YES | | NULL | | | c3 | datetime | YES | | NULL | | | c4 | timestamp | NO | | CURRENT_TIMESTAMP | on update CURRENT_TIMESTAMP | +-------+-----------+------+-----+-------------------+-----------------------------+
對於DATE型:YY-MM-DD、YYMMDD、YYYY/MM/DD
MariaDB [mydb]> INSERT INTO datetable(c1) VALUES('2018-01-01'),('18-01-01'), -> ('180101'),('2018/01/01'),(180101); Query OK, 5 rows affected (0.01 sec) Records: 5 Duplicates: 0 Warnings: 0 MariaDB [mydb]> SELECT c1 FROM datetable; +------------+ | c1 | +------------+ | 2018-01-01 | | 2018-01-01 | | 2018-01-01 | | 2018-01-01 | | 2018-01-01 | +------------+ 5 rows in set (0.00 sec)
對於TIME型:'D HH:MM:SS'、'HH:MM:SS'、'HH:MM'、'D HH:MM'、'D HH', 'SS'、 'HHMMSS'
D表明天,即TIME+D*24
MariaDB [mydb]> INSERT INTO datetable(c2) VALUES -> ('12:20:20'),('1 12:20:20'), -> ('12:20'),('1 12'),('20'),('122020'), -> (122020); Query OK, 7 rows affected (0.03 sec) Records: 7 Duplicates: 0 Warnings: 0 MariaDB [mydb]> SELECT c2 FROM datetable; +----------+ | c2 | +----------+ | 12:20:20 | | 36:20:20 | | 12:20:00 | | 36:00:00 | | 00:00:20 | | 12:20:20 | | 12:20:20 | +----------+ 7 rows in set (0.00 sec)
對於DATETIME和TIMESTAMP這兩種格式,便是上面時間簡寫格式的縮寫,例如:
20180101122020 -> '2018-01-01 12:20:20'
對於TIMESTAMP這種格式,比較經常使用吧應該說,其存儲的是自'1970-01-01 00:00:00'到存儲時間的毫秒數,其默認值能夠爲CURRENT_TIMESTAMP或其同義詞:
CURRENT_TIMESTAMP(), NOW(), LOCALTIME, LOCALTIME(), LOCALTIMESTAMP,LOCALTIMESTAMP()
字符串類型
CHAR和VARCHAR類型相似,但它們保存和檢索的方式不一樣。它們的最大長度和是否尾部空格被保留等方面也不一樣。在存儲或檢索過程當中不進行大小寫轉換。
BINARY和VARBINARY類相似於CHAR和VARCHAR,不一樣的是它們包含二進制字符串而不要非二進制字符串。也就是說,它們包含字節字符串而不是字符字符串。這說明它們沒有字符集,而且排序和比較基於列值字節的數值值。
BLOB是一個二進制大對象,能夠容納可變數量的數據:
有4種BLOB類型:TINYBLOB、BLOB、MEDIUMBLOB和LONGBLOB。它們只是可容納值的最大長度不一樣。
有4種TEXT類型:TINYTEXT、TEXT、MEDIUMTEXT和LONGTEXT。這些對應4種BLOB類型,有相同的最大長度和存儲需求。
其餘類型
枚舉型:ENUM('value1','value2',…)
存儲字節:因其存儲的是元素編號,因此對於0-255個元素,只佔一個字節,而255-65535則佔兩個元素
INSERT語句格式:
INSERT [LOW_PRIORITY | DELAYED | HIGH_PRIORITY] [IGNORE] [INTO] tbl_name [PARTITION (partition_list)] [(col,...)] {VALUES | VALUE} ({expr | DEFAULT},...),(...),... [ ON DUPLICATE KEY UPDATE col=expr [, col=expr] ... ]
表結構以下:
MariaDB [mydb]> DESC user; +----------+-------------+------+-----+---------------------+----------------+ | Field | Type | Null | Key | Default | Extra | +----------+-------------+------+-----+---------------------+----------------+ | id | int(11) | NO | PRI | NULL | auto_increment | | username | varchar(10) | NO | | NULL | | | password | varchar(10) | NO | | NULL | | | regtime | timestamp | NO | | CURRENT_TIMESTAMP | | | logtime | timestamp | NO | | 0000-00-00 00:00:00 | | | logip | varchar(20) | YES | | NULL | | +----------+-------------+------+-----+---------------------+----------------+ 6 rows in set (0.01 sec)
MariaDB [mydb]> INSERT INTO user VALUES(1,'test','test',NOW(),NOW(),'127.0.0.1');
由於在不少時候有些值是默認的,因此咱們能夠指定爲哪些列插入數據,而其餘列則使用默認值,以下:
MariaDB [mydb]> INSERT INTO user(username,password) VALUES('test2','test2');
一樣的,插入特定列數據還能夠這樣寫:
MariaDB [mydb]> INSERT INTO user SET username='test3',password='test3';
這樣就僅僅插入了用戶名和密碼,其餘值則使用默認。
MariaDB [mydb]> SELECT * FROM user; +----+----------+----------+---------------------+---------------------+-----------+ | id | username | password | regtime | logtime | logip | +----+----------+----------+---------------------+---------------------+-----------+ | 1 | test | test | 2018-02-24 15:43:41 | 2018-02-24 15:43:41 | 127.0.0.1 | | 2 | test2 | test2 | 2018-02-24 15:45:16 | 0000-00-00 00:00:00 | NULL | | 3 | test3 | test3 | 2018-02-24 15:46:56 | 0000-00-00 00:00:00 | NULL | +----+----------+----------+---------------------+---------------------+-----------+ 3 rows in set (0.00 sec)
不少時候咱們會有使用一條INSERT語句向數據表插入多條記錄的需求,就能夠這樣寫:
MariaDB [mydb]> INSERT INTO user(username,password) VALUES('test4','test4'),('test5', -> 'test5');
莫名其妙的優先級?
當使用的存儲引擎(MyISAM, MEMORY, MERGE)使用表級鎖的時候,可使用
LOW_PRIORITY| HIGH_PRIORITY這兩個關鍵字: 當使用LOW_PRIORITY關鍵字時,當沒有客戶端再讀取該表時才寫入數據。 當使用HIGH_PRIORITY時,INSERT語句具備同SELECT語句同樣的優先級。(默認策略)
因此,當INSERT語句執行前有SELECT語句執行時,INSERT阻塞並等待SELECT讀取完畢,但此時,若是有SELECT再次進入調度,則SELECT被阻塞(按理讀鎖能夠直接讀)但此時由於INSERT語句跟SELECT語句有一樣的優先級,因此SELECT要等INSERT結束才能執行,因此INSERT能夠加LOW_PRIORITY來優化讀取速度。
這裏慢慢看吧,對鎖這個東西懂的不是不少。
UPDATE語句語法以下:
UPDATE [LOW_PRIORITY] [IGNORE] table_reference [PARTITION (partition_list)] SET col1={expr1|DEFAULT} [,col2={expr2|DEFAULT}] ... [WHERE where_condition] [ORDER BY ...] [LIMIT row_count]
更新全部
當不使用WHERE子句約束選擇條件的時候,則更新全部數據,例如,修改user表全部記錄的登錄時間爲如今:
MariaDB [mydb]> UPDATE user SET logtime=NOW(); Query OK, 5 rows affected (0.01 sec) Rows matched: 5 Changed: 5 Warnings: 0
更新最先註冊的三我的的登陸IP爲127.0.0.1
MariaDB [mydb]> UPDATE user SET logip='127.0.0.1' ORDER BY regtime LIMIT 3;
ORDER BY語句能夠用於SELECT UPDATE DELETE等,是指示該表輸出、刪除、更新時遵循該表哪一個字段排列。
例如以上,ORDER BY regtime就是根據註冊時間來正序排列更新,而且配合LIMIT語句只更新了前三行。
再使用DESC來指定倒敘排列,例如:ORDER BY regtime DESC
LIMIT語句:用於限制查詢結果的條數。
用法:
LIMIT[位置偏移量,]行數
第一行從0開始,因此如下:
SELECT * FROM user LIMIT 2,2; //從第3行開始,取兩行,即取第三、4條記錄。 使用WHERE語句選中特定行更新 MariaDB [mydb]> UPDATE user SET logip='192.168.1.2' WHERE username='test2';
由於WHERE子句也有不少東西,這裏就不過多貼內容了。
LOW_PRIORITY:這個跟INSERT的LOW_PRIORITY是同樣的。
REPLACE語句
MariaDB [mydb]> REPLACE INTO user VALUES(1,'test111','test111',NOW(),NOW(),'192.168.1.1');
以上這條語句是MariaDB的擴展SQL,至關於刪除重複(主鍵或惟一索引)的記錄再添加新的記錄。
好像有點雞肋?….
DELETE語語法: DELETE [LOW_PRIORITY] [QUICK] [IGNORE] FROM tbl_name [PARTITION (partition_list)] [WHERE where_condition] [ORDER BY ...] [LIMIT row_count] [RETURNING select_expr [, select_expr ...]]
刪除全部數據
不使用WHERE語句來約束條件時,則刪除全部數據,以下:
MariaDB [mydb]> DELETE FROM user;
使用WHERE語句約束選中行
MariaDB [mydb]> DELETE FROM user WHERE username='test1';
連接 :
mariadb編譯安裝腳本 : http://blog.51cto.com/xiaogongju/1947616
mariadb之查詢及存儲引擎 : http://blog.51cto.com/11551196/1872976
mariadb——多種方式部署及多實例部署 :http://blog.51cto.com/11010461/2125170
Mariadb半同步複製,主從複製與雙主複製 薦 : http://blog.51cto.com/11010461/2128561
maraidb高可用——MHA : http://blog.51cto.com/11010461/2130309
mariadb複製——加密複製 : http://blog.51cto.com/11010461/2130127
經常使用的幾種mariadb備份還原手段——上篇 : http://blog.51cto.com/11010461/2129985
經常使用的幾種mariadb備份還原手段——下篇 : http://blog.51cto.com/11010461/2130009
mariadb之查詢及存儲引擎 : http://blog.51cto.com/11551196/1872976
Mysql(Mariadb)總結1 - 基礎知識 : https://www.jianshu.com/p/4dac089b958a
MySQL(Mariadb)總結2 - SQL知識點彙總 : https://www.jianshu.com/p/eed675ebf73f
MySQL(Mariadb)總結3 - 用戶和權限管理,查詢緩存 : https://www.jianshu.com/p/429822c142b0
MySQL(Mariadb)總結4 - MySQL 索引和explain : https://www.jianshu.com/p/6f3be883a12d
MySQL(Mariadb)總結5 - MySQL(MariaDB)存儲引擎 : https://www.jianshu.com/p/251e950c61d6
MySQL(Mariadb)總結6 - 事務 : https://www.jianshu.com/p/257c8a7e62f9
MySQL(Mariadb)總結7 - 日誌文件 : https://www.jianshu.com/p/3ac61ee26ad6
MySQL(Mariadb)總結8 - 備份與恢復 : https://www.jianshu.com/p/90f3ec8853e6
MySQL(Mariadb)總結9 - 主從複製及其實現 : https://www.jianshu.com/p/7b2e318dacd9
MySQL(Mariadb)總結 - 目錄 : https://www.jianshu.com/p/493658572519
MYSQL雙主--主-主複製 (MariaDB10.0.26) : http://blog.51cto.com/jdonghong/1887569
MYSQL主從複製與讀寫分離(MariaDB) 薦 : http://blog.51cto.com/jdonghong/1887164
MYSQL備份數據庫和還原數據庫操做 : http://blog.51cto.com/jdonghong/1887144
限制MYSQL從服務器爲只讀狀態(centos 6.6) : http://blog.51cto.com/jdonghong/1886994
MySQL/MariaDB基於MMM實現讀寫分離及高可用 : http://blog.51cto.com/scholar/1664551
MySQL/MariaDB數據庫基於SSL實現主從複製 薦 : http://blog.51cto.com/scholar/1664009
CentOS 7安裝MariaDB 10詳解以及相關配置 :https://www.linuxidc.com/Linux/2018-03/151403.htm
CentOS 7 源碼編譯MariaDB : https://www.cnblogs.com/bigdevilking/p/9452686.html
FTP基於PAM和MySQL/MariaDB實現虛擬用戶訪問控制 薦 : http://blog.51cto.com/scholar/1636190
企業私有云之mariadb集羣高可用 薦 :http://blog.51cto.com/dl528888/1865285
Mariadb半同步複製,主從複製與雙主複製薦 : http://blog.51cto.com/11010461/2128561
MariaDB10.3 系統版本表 有效防止數據丟失薦 : http://blog.51cto.com/hcymysql/2121248
企業私有云之mariadb集羣高可用 薦 : http://blog.51cto.com/dl528888/1865285
企業私有云之rabbitmq高可用 薦 : http://blog.51cto.com/dl528888/1864895