Linux學習之路--Mariadb(3)基本使用操作【20】---20180123
一、MariaDB程序
1、MariaDB的程序組成
Client
mysql:CLI交互式客戶端程序
mysqldump,mysqladmin...
Server
mysqld_safe
mysqld
mysqld_multi:多實例
服務器監聽的兩種socket地址:
ip socket: 監聽在tcp的3306端口,支持遠程通信
unix sock: 監聽在sock文件上(/tmp/mysql.sock, /var/lib/mysql/mysql.sock),僅支持本機通信
server: localhost, 127.0.0.1 自動使用unix sock命令行交互式客戶端程序mysql選項:
--verbose 顯示祥細信息
-uUSERNAME: 用戶名;默認為root
-hHOST: 服務器主機; 默認為localhost
-pPASSWORD:用戶的密碼;建議使用-p,默認為空密碼mysql用戶賬號由兩部分組成:
'USERNAME'@'HOST'
HOST用於限制此用戶可通過哪些遠程主機連接mysql服務
支持使用通配符:
% 匹配任意長度的任意字符
172.16.0.0/255.255.0.0 或 172.16.%.%
_ 匹配任意單個字符
2、簡單執行命令
運行mysql命令:默認空密碼登錄
mysql>use mysql
mysql>select user();查看當前用戶
mysql>SELECT User,Host,Password FROM user;安全初始化
/usr/local/mysql/bin/mysql_secure_installatoin登錄系統:mysql –uroot –p
客戶端命令:本地執行
mysql> help
每個命令都完整形式和簡寫格式
mysql> status 或 \s服務端命令:通過mysql協議發往服務器執行並取回結果
每個命令都必須命令結束符號;默認為分號
3、關系型數據庫的常見組件
數據庫:databases
表:table
列:column
行:row
索引:index
視圖:view
用戶:user
權限:privilege
存儲過程:procedure,無返回值
存儲函數:function,有返回值
觸發器:trigger
事件調度器:event scheduler,任務計劃
二、SQL語言的興起與語法標準
20世紀70年代,IBM開發出SQL,用於DB2
1981年,IBM推出SQL/DS數據庫
業內標準微軟和Sybase的T-SQL,Oracle的PL/SQL
SQL作為關系型數據庫所使用的標準語言,最初是基於IBM的實現在1986年被批準的。1987年,“國際標準化組織(ISO)”把ANSI(美國國家標準化組織) SQL作為國際標準。這個標準在1992年進行了修訂(SQL-92),1999年再次修訂(SQL-99),目前最新的是SQL-2003
Keyword組成clause
多條clause組成語句
SELECT * SELECT子句
FROM products FROM子句
WHERE price>400 WHERE子句
這是一組語句,由三個子句構成,SELECT,FROM和WHERE都是關鍵字
1、SQL語句分類
DDL: Data Defination Language
CREATE, DROP, ALTERDML: Data Manipulation Language
INSERT, DELETE, UPDATEDCL:Data Control Language
GRANT, REVOKEDQL:Data Query Language
SELECT
2、SQL語言規範
在數據庫系統中,SQL語句不區分大小寫(建議用大寫)
但字符串常量區分大小寫
SQL語句可單行或多行書寫,以“;”結尾
關鍵詞不能跨多行或簡寫
用空格和縮進來提高語句的可讀性
子句通常位於獨立行,便於編輯,提高可讀性
註釋:
SQL標準:
/*註釋內容*/ 多行註釋
-- 註釋內容 單行註釋,註意有空格MySQL註釋:
#
3、數據庫對象的命名規則
必須以字母開頭
可包括數字和三個特殊字符(# _ $)
不要使用MySQL的保留字
同一database(Schema)下的對象不能同名
4、數據庫操作
創建數據庫:
CREATE DATABASE|SCHEMA [IF NOT EXISTS] 'DB_NAME';
CHARACTER SET 'character set name'
COLLATE 'collate name'刪除數據庫
DROP DATABASE|SCHEMA [IF EXISTS] 'DB_NAME';查看支持所有字符集
SHOW CHARACTER SET;
查看支持所有排序規則
SHOW COLLATION;
獲取命令使用幫助:
mysql> HELP KEYWORD;查看數據庫列表:
mysql> SHOW DATABASES;
5、創建表
CREATE TABLE [IF NOT EXISTS] ‘tbl_name’ (col1 type1 修飾符, col2 type2 修飾符, ...)
字段信息
col type1
PRIMARY KEY(col1,...)
INDEX(col1, ...)
UNIQUE KEY(col1, ...)表選項:
ENGINE [=] engine_name
SHOW ENGINES;查看支持的engine類型
ROW_FORMAT [=] {DEFAULT|DYNAMIC|FIXED|COMPRESSED|REDUNDANT|COMPACT}獲取幫助:mysql> HELP CREATE TABLE;
6、表操作
查看所有的引擎
SHOW ENGINES;
查看表
SHOW TABLES [FROM db_name];
查看表結構
DESC [db_name.]tb_name;
刪除表
DROP TABLE [IF EXISTS] tb_name;
查看表創建命令
SHOW CREATE TABLE tbl_name;
查看表狀態
SHOW TABLE STATUS LIKE 'tbl_name'\G
三、數據類型
數據類型:
數據長什麽樣?
數據需要多少空間來存放?系統內置數據類型和用戶定義數據類型
MySql支持多種列類型:
數值類型
日期/時間類型
字符串(字符)類型選擇正確的數據類型對於獲得高性能至關重要,三大原則:
更小的通常更好,盡量使用可正確存儲數據的最小數據類型
簡單就好,簡單數據類型的操作通常需要更少的CPU周期
盡量避免NULL,包含為NULL的列,對MySQL更難優化
1、整型
tinyint(m) 1個字節 範圍(-128~127)
smallint(m) 2個字節 範圍(-32768~32767)
mediumint(m) 3個字節 範圍(-8388608~8388607)
int(m) 4個字節 範圍(-2147483648~2147483647)
bigint(m) 8個字節 範圍(+-9.22*10的18次方)
取值範圍如果加了unsigned,則最大值翻倍,如tinyint unsigned的取值範圍為(0~255)
int(m)裏的m是表示SELECT查詢結果集中的顯示寬度,並不影響實際的取值範圍
MySQL可以為整型類型指定寬度,例如Int(11),對絕大多數應用這是沒有意義的:它不會限制值的合法範圍,
只是規定了MySQL的一些交互工具(例如MySQL命令行客戶端)用來顯示字符的個數。對於存儲和計算來說,Int(1)和Int(20)是相同的
2、浮點型(float和double),近似值
float(m,d) 單精度浮點型 8位精度(4字節) m總個數,d小數位
double(m,d) 雙精度浮點型 16位精度(8字節) m總個數,d小數位
設一個字段定義為float(6,3),如果插入一個數123.45678,實際數據庫裏存的是123.457,但總個數還以實際為準,即6位
3、定點數
在數據庫中存放的是精確值,存為十進制
decimal(m,d) 參數m<65 是總個數,d<30且 d<m 是小數位
MySQL5.0和更高版本將數字打包保存到一個二進制字符串中(每4個字節存9個數字)。例如,decimal(18,9)小數點兩邊將各存儲9個數字,
一共使用9個字節:小數點前的數字用4個字節,小數點後的數字用4個字節,小數點本身占1個字節
浮點類型在存儲同樣範圍的值時,通常比decimal使用更少的空間。float使用4個字節存儲。double占用8個字節
因為需要額外的空間和計算開銷,所以應該盡量只在對小數進行精確計算時才使用decimal——例如存儲財務數據。
但在數據量比較大的時候,可以考慮使用bigint代替decimal
4、字符串(char,varchar,_text)
char(n) 固定長度,最多255個字符
varchar(n)可變長度,最多65535個字符
tinytext 可變長度,最多255個字符
text 可變長度,最多65535個字符
mediumtext 可變長度,最多2的24次方-1個字符
longtext 可變長度,最多2的32次方-1個字符
BINARY(M) 固定長度,可存二進制或字符,允許長度為0-M字節,
VARBINARY(M) 可變長度,可存二進制或字符,允許長度為0-M字節
內建類型:ENUM枚舉, SET集合
5、char和varchar:
char(n) 若存入字符數小於n,則以空格補於其後,查詢之時再將空格去掉。所以char類型存儲的字符串末尾不能有空格,varchar不限於此。
char(n) 固定長度,char(4)不管是存入幾個字符,都將占用4個字節,varchar是存入的實際字符數+1個字節(n< n>255),所以varchar(4),存入3個字符將占用4個字節。
char類型的字符串檢索速度要比varchar類型的快
6、varchar和text:
varchar可指定n,text不能指定,內部存儲varchar是存入的實際字符數+1個字節(n< n>255),text是實際字符數+2個字節。
text類型不能有默認值
varchar可直接創建索引,text創建索引要指定前多少個字符。varchar查詢速度快於text
7、二進制數據:BLOB
BLOB和text存儲方式不同,TEXT以文本方式存儲,英文存儲區分大小寫,而Blob是以二進制方式存儲,不分大小寫
BLOB存儲的數據只能整體讀出
TEXT可以指定字符集,BLOB不用指定字符集
8、日期時間類型
date 日期 '2008-12-2'
time 時間 '12:25:36'
datetime 日期時間 '2008-12-2 22:06:44'
timestamp 自動存儲記錄修改時間
YEAR(2), YEAR(4):年份
timestamp字段裏的時間數據會隨其他字段修改的時候自動刷新,這個數據類型的字段可以存放這條記錄最後被修改的時間
9、修飾符
所有類型:
?NULL 數據列可包含NULL值
?NOT NULL 數據列不允許包含NULL值
?DEFAULT 默認值
?PRIMARY KEY 主鍵
?UNIQUE KEY 唯一鍵
?CHARACTER SET name 指定一個字符集數值型
?AUTO_INCREMENT 自動遞增,適用於整數類型
?UNSIGNED 無符號
#示例 CREATE TABLE students (id int UNSIGNED NOT NULL PRIMARY KEY,name VARCHAR(20)NOT NULL,age tinyint UNSIGNED); DESC students; CREATE TABLE students2 (id int UNSIGNED NOT NULL ,name VARCHAR(20) NOT NULL,age tinyint UNSIGNED,PRIMARY KEY(id,name));
四、表操作及索引
DROP TABLE [IF EXISTS] 'tbl_name';
ALTER TABLE 'tbl_name'
字段:
添加字段:add
ADD col1 data_type [FIRST|AFTER col_name] 刪除字段:drop
修改字段:
alter(默認值), change(字段名), modify(字段屬性)
索引:
添加索引:add index
刪除索引: drop index
表選項
修改:查看表上的索引:SHOW INDEXES FROM [db_name.]tbl_name;
查看幫助:Help ALTER TABLE
#修改表示例 ALTER TABLE students RENAME s1; ALTER TABLE s1 ADD phone varchar(11) AFTER name; ALTER TABLE s1 MODIFY phone int; ALTER TABLE s1 CHANGE COLUMN phone mobile char(11); ALTER TABLE s1 DROP COLUMN mobile; Help ALTER TABLE 查看幫助 ALTER TABLE students ADD gender ENUM('m','f') ALETR TABLE students CHANGE id sid int UNSIGNED NOT NULL PRIMARY KEY; ALTER TABLE students ADD UNIQUE KEY(name); ALTER TABLE students ADD INDEX(age); DESC students; SHOW INDEXES FROM students; ALTER TABLE students DROP age;
索引是特殊數據結構;定義在查找時作為查找條件的字段
優點:提高查詢速度
缺點:占用額外空間,影響插入速度創建索引必須要有索引名稱
創建索引:
CREATE INDEX index_name ON tbl_name (index_col_name,...);
help CREATE INDEX刪除索引:
DROP INDEX index_name ON tbl_name;查看索引:
SHOW INDEXES FROM [db_name.]tbl_name;
五、語句及賬號授權
1、DML語句
DML: INSERT, DELETE, UPDATE
?INSERT
INSERT [INTO] tbl_name [(col_name,...)] {VALUES | VALUE} (val1,...),(...),...
?UPDATE:
UPDATE tbl_name SET col1=val1, col2=val2, ... [WHERE clause] [ORDER BY 'col_name' [DESC]] [LIMIT [m,]n];
?DELETE:
DELETE FROM tbl_name [WHERE clause] [ORDER BY 'col_name' [DESC]] [LIMIT [m,]n];
可先排序再指定刪除的行數
?TRUNCATE TABLE tbl_name; 清空表
2、DQL語名
DQL:SELECT
?SELECT col1,col2,... FROM tbl_name [WHERE clause] [ORDER BY 'col_name' [DESC]] [LIMIT [m,]n];
Limit m,n 跳過m個,要n個字段表示法:
*: 所有字段
as:字段別名,col1 AS alias1
3、DQL語句
WHERE clause:
操作符:
=, != >, <, >=, <=
BETWEEN ... AND ...
LIKE:
%:任意長度的任意字符
_:任意單個字符;
RLIKE:正則表達式模式匹配
IS NULL ,IS NOT NULL
IN (val1,val2,…) NOT IN (val1,val2,…)
條件邏輯操作:
AND,OR,NOT
#示例 DESC students; INSERT INTO students VALUES(1,'tom','m'),(2,'alice','f'); INSERT INTO students(id,name) VALUES(3,'jack'),(4,'allen'); SELECT * FROM students WHERE id < 3; SELECT * FROM students WHERE gender='m'; SELECT * FROM students WHERE gender IS NULL; SELECT * FROM students WHERE gender IS NOT NULL; SELECT * FROM students ORDER BY name DESC LIMIT 2; SELECT * FROM students ORDER BY name DESC LIMIT 1,2; SELECT * FROM students WHERE id >=2 and id <=4 SELECT * FROM students WHERE BETWEEN 2 AND 4 SELECT * FROM students WHERE name LIKE ‘t%’ SELECT * FROM students WHERE name RLIKE '.*[lo].*'; SELECT id stuid,name as stuname FROM students
3、用戶賬號
用戶賬號:'user'@'host'
user: 用戶名
host: 允許用戶通過哪些主機遠程連接mysqld服務
IP、網絡地址、主機名、通配符(%和_)創建用戶:
CREATE USER 'username'@'host' [IDENTIFIED BY 'password'];查看當前用戶:
SELECT user();查看用戶:
SELECT User,Host,Password FROM user;刪除用戶:DROP USER 'username'@'host';
示例:刪除默認的空用戶
DROP USER ''@'localhost';更改口令:
1)SET PASSWORD FOR 'user'@'host' = PASSWORD(‘password');
2) UPDATE user SET password=PASSWORD('magedu') WHERE User='root' ;
註意:上面修改表的命令不會馬上生效,需執行FLUSH PRIVILEGES生效
3) /usr/local/mysql/bin/mysqladmin -u root –poldpassword password 'newpassword'
4、授權
權限級別:管理權限、數據庫、表、字段、存儲例程
?Help GRANT
?GRANT priv_type,... ON [object_type] db_name.tb_name TO 'user'@'host' [IDENTIFIED BY 'password'] [WITH GRANT OPTION];
?priv_type: ALL [PRIVILEGES]
?db_name.tb_name:
*.*: 所有庫的所表
db_name.*: 指定庫的所有表
db_name.tb_name: 指定庫的指定表
db_name.routine_name:指定庫的存儲過程和函數示例:
GRANT SELECT,DELETE on testdb.* TO ‘testuser’@‘%’IDENTIFIED BY 'testpass';查看指定用戶獲得的授權:
Help SHOW GRANTS
SHOW GRANTS FOR 'user'@'host';
SHOW GRANTS FOR CURRENT_USER[()];回收授權:
REVOKE priv_type, ... ON db_name.tb_name FROM 'user'@'host'
示例:
REVOKE DELETE ON testdb.* FROM 'testuser'@'%'註意:MariaDB服務進程啟動時會讀取mysql庫中所有授權表至內存
(1) GRANT或REVOKE等執行權限操作會保存於系統表中,MariaDB的服務進程通常會自動重讀授權表,使之生效
(2) 對於不能夠或不能及時重讀授權表的命令,可手動讓MariaDB的服務進程重讀授權表:mysql> FLUSH PRIVILEGES;
六、簡單操作
1、查看目前軟件使用版本信息
MariaDB [(none)]> \s -------------- mysql Ver 15.1 Distrib 5.5.59-MariaDB, for Linux (x86_64) using readline 5.1 Connection id: 21 Current database: Current user: root@localhost SSL: Not in use Current pager: stdout Using outfile: '' Using delimiter: ; Server: MariaDB Server version: 5.5.59-MariaDB Source distribution Protocol version: 10 Connection: Localhost via UNIX socket Server characterset: utf8 Db characterset: utf8 Client characterset: utf8 Conn. characterset: utf8 UNIX socket: /app/mysql/mysql.sock Uptime: 7 hours 34 min 42 sec Threads: 2 Questions: 128 Slow queries: 0 Opens: 4 Flush tables: 2 Open tables: 28 Queries per second avg: 0.004 --------------
2、數據庫中執行shell命令
MariaDB [(none)]> \! pwd /root MariaDB [(none)]> \! ls /app/ mysql website website2 website3
3、修改mysql提示符
--prompt=format_str
The prompt command reconfigures the default mysql> prompt. The string for defining the prompt can contain the following special sequences.(prompt命令重新配置默認的mysql>提示符。用於定義提示符的字符串可以包含以下特殊序列。)
│ 選項 │ 說明 |
│\ c│計數器對於您發出的每個聲明都會遞增
│\ D│全部日期
│\ d│默認數據庫
│\ h│服務器主機
│\ l│當前分隔符(5.1.12新增)
│\ m│當前時間的分鐘
│\ n│換行符
│\ O│以三個字母的格式顯示當月(1月,2月,...)
│\ o│數字格式的當前月份
│\ P│am / pm
│\ p│當前的TCP / IP端口或套接字文件
│\ R│目前時間,在24小時軍事時間(0-23)
│\ r│當前時間,標準12小時時間(1-12)
│\ S│分號
│\ s│當前時間的秒數
│\ t│制表符
│\ U│完整的用戶名@主機名帳戶名
│\ u│你的用戶名
│\ v│服務器版本
│\ w│以三個字母的格式(星期一,二,...)
│\ Y│本年度,四位數字
│\ y│本年度,兩位數字
│\ _│一個空格
│\ │空格(空格跟在反斜杠後面)
│\' │單引號
│\“│雙引號
│\\ │文字“\”反斜杠字符
│\ x│x,對於以上未列出的任何“x”
示例
使用環境變量。您可以將MYSQL_PS1環境變量設置為提示字符串。
例如:shell> export MYSQL_PS1 ="(\u@\h) [\d]>"使用命令行選項。您可以在命令行上將--prompt選項設置為mysql。對於
例如:shell> mysql --prompt ="(\u@\h) [\d]>"
(用戶@主機)[數據庫]>
使用選項文件。您可以在任何MariaDB選項的[mysql]組中設置提示選項文件,例如/etc/my.cnf或主目錄中的.my.cnf文件。例如:[MySQL的]
prompt=(\\u@\\h)[\\d]>\\_
在這個例子中,請註意反斜杠加倍。如果使用選項文件中的提示選項設置提示,建議在使用特殊提示選項時加倍反斜杠。可選提示選項集和選項文件中識別的一組特殊轉義序列有一些重疊。如果使用單個反斜杠,重疊可能會導致問題。例如,\ s被解釋為一個空格而不是當前的秒數值。以下示例顯示了如何在選項文件中定義提示以包含HH:MM:SS>格式的當前時間:
[MySQL的]
prompt ="\\r:\\m:\\s>"交互式設置提示。您可以使用提示符(或\ R)命令交互式地更改提示。例如:+
mysql> prompt (\u@\h) [\d]>\_
PROMPT set to ′(\u@\h) [\d]>\_′
(user@host)[database]>
(user@host) [database]> prompt
Returning to default PROMPT of mysql>
mysql>
[root@centos7mini~]#vim /etc/my.cnf.d/mysql-clients.cnf # # These groups are read by MariaDB command-line tools # Use it for options that affect only one utility # [mysql] prompt=(\\u@\\h) [\\d]>\\_
4、查看user表中用戶信息
MariaDB [(none)]> select user,host,password from mysql.user; +--------+----------------+-------------------------------------------+ | user | host | password | +--------+----------------+-------------------------------------------+ | root | localhost | | | root | centos6-server | | | root | 127.0.0.1 | | | root | ::1 | | | | localhost | | | | centos6-server | | | syslog | 192.168.1.102 | *128977E278358FF80A246B5046F51043A2B1FCED | | syslog | 192.168.1.% | *128977E278358FF80A246B5046F51043A2B1FCED | +--------+----------------+-------------------------------------------+ 8 rows in set (0.00 sec)
5、在數據庫中修改root口令
MariaDB [(none)]> \! passwd Changing password for user root. New password:
6、查詢安裝程序的路徑
[root@centos7mini~]#mysql -e 'show variables like "basedir";' +---------------+------------------+ | Variable_name | Value | +---------------+------------------+ | basedir | /usr/local/mysql | +---------------+------------------+
註意:如果是yum 及 二進制安裝,實現多實例可以不用指定--basedir,但如果是源碼編譯,實現多實例,必須制定 --basedir= 的路徑
7、yum安裝高版本mariadb
官網找到高版本yum源地址
添加base倉庫
[root@centos6-mini~]#vim /etc/yum.repos.d/mariadb.repo [mariadb] name = MariaDB baseurl = http://yum.mariadb.org/10.2/centos6-amd64 gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB gpgcheck=1 [root@centos6-mini~]#yum info MariaDB-server [root@centos6-mini~]#service mysql start MariaDB [(none)]> \s -------------- mysql Ver 15.1 Distrib 10.2.13-MariaDB, for Linux (x86_64) using readline 5.1 Connection id: 9 Current database: Current user: Server: MariaDB Server version: 10.2.13-MariaDB MariaDB Server
8、修改多實例數據庫登陸口令
#第一種修改方法 [root@centos7mini~]#mysqladmin -uroot -S /mysqldb/3307/socket/mysql.sock password 'centos'
#第二種修改方法 MariaDB [(none)]> update mysql.user set password=password("centos") where user='root'; Query OK, 4 rows affected (0.01 sec) Rows matched: 4 Changed: 4 Warnings: 0 MariaDB [(none)]> select user,password,host from mysql.user; +------+-------------------------------------------+--------------+ | user | password | host | +------+-------------------------------------------+--------------+ | root | *128977E278358FF80A246B5046F51043A2B1FCED | localhost | +------+-------------------------------------------+--------------+ MariaDB [(none)]> flush privileges; #註意,修改表格,一定要刷新 Query OK, 0 rows affected (0.01 sec)
9、刪除匿名用戶
MariaDB [(none)]> drop user ''@localhost ; Query OK, 0 rows affected (0.00 sec) MariaDB [(none)]> drop user ''@'centos6-mini'; Query OK, 0 rows affected (0.00 sec) MariaDB [(none)]> flush privileges; #註意,修改表格,一定要刷新 Query OK, 0 rows affected (0.01 sec)
10、查看默認使用的字符集
#yum安裝的信息 MariaDB [(none)]> show variables like '%character_set%'; +--------------------------+----------------------------+ | Variable_name | Value | +--------------------------+----------------------------+ | character_set_client | utf8 | #客戶端 | character_set_connection | utf8 | #連接 | character_set_database | latin1 | #數據庫 | character_set_filesystem | binary | #文件系統 | character_set_results | utf8 | #結果 | character_set_server | latin1 | #服務器 | character_set_system | utf8 | #系統 | character_sets_dir | /usr/share/mysql/charsets/ | +--------------------------+----------------------------+ 8 rows in set (0.01 sec) #源碼編譯安裝的信息 MariaDB [(none)]> show variables like '%character_set%'; +--------------------------+----------------------------+ | Variable_name | Value | +--------------------------+----------------------------+ | character_set_client | utf8 | | character_set_connection | utf8 | | character_set_database | utf8 | | character_set_filesystem | binary | | character_set_results | utf8 | | character_set_server | utf8 | | character_set_system | utf8 | | character_sets_dir | /app/mysql/share/charsets/ | +--------------------------+----------------------------+ 8 rows in set (0.01 sec)
11、破解數據庫口令
#第一步,進入主配置文件,加入關鍵字 [root@centos7mini~]#vim /etc/my.cnf [mysqld] skip_grant_tables [root@centos7mini~]#systemctl restart mariadb #第二步,進入數據庫進行口令修改 MariaDB [(none)]> updata mysql.user set password=password("centos") where host='localhost'; #註意,生產環境中,一定要註意where,如果沒帶,對整個表修改,是非常危險的。 #第三步,修改主配置文件,去掉加入的關鍵字
12、用戶登錄賬號密碼免輸入
[root@centos7mini~]#vim /etc/my.cnf.d/clinent.cnf [clinent] user=root password=centos
Linux學習之路--Mariadb(3)基本使用操作【20】---20180123