共计 7957 个字符,预计需要花费 20 分钟才能阅读完成。
在 CentOS7 下,官方提供的 MySQL 的 rpm 包就是 MariaDB,可查看 MariaDB 包信息。
[root@host ~]$rpm -qi mariadb # 需要先安装该包
Name : mariadb # 名称
Epoch : 1
Version : 5.5.52 # 版本
Release : 1.el7 # 发行版
Architecture: x86_64 # 支持安装的 CPU 架构
Install Date: Mon 24 Apr 2017 08:44:48 AM CST # 安装时间
Group : Applications/Databases
Size : 50855896
License : GPLv2 with exceptions and LGPLv2 and BSD
Signature : RSA/SHA256, Mon 21 Nov 2016 03:23:55 AM CST, Key ID 24c6a8a7f4a80eb5
Source RPM : mariadb-5.5.52-1.el7.src.rpm
Build Date : Tue 15 Nov 2016 09:20:59 AM CST
Build Host : c1bm.rdu2.centos.org
Relocations : (not relocatable)
Packager : CentOS BuildSystem <http://bugs.centos.org>
Vendor : CentOS
URL : http://mariadb.org
Summary : A community developed branch of MySQL
Description : # 描述
MariaDB is a community developed branch of MySQL.
MariaDB is a multi-user, multi-threaded SQL database server.
It is a client/server implementation consisting of a server daemon (mysqld)
and many different client programs and libraries. The base package
contains the standard MariaDB/MySQL client programs and generic MySQL files.
根据最后一项——Description 描述,MariaDB 属于 MySQL 的社区开发分支。
同时,MariaDB 是一款支持多用户、多线程的 SQL 数据库服务器。
MariaDB 采用 C / S 架构,mysqld 作为服务器进程,还有许多的客服端程序和库。
客户端命令 mysql
格式
mysql [OPTIONS] [database]
常用选项
-u, --user=username:用户名,默认为 root;-h, --host=hostname:远程主机(即 mysql 服务器)地址,默认为 localhost; 客户端连接服务端,服务器会反解客户的 IP 为主机名,关闭此功能(skip_name_resolve=ON);-p, --password[=PASSWORD]:USERNAME 所表示的用户的密码;默认为空;注意:mysql 的用户账号由两部分组成:'USERNAME'@'HOST'; 其中 HOST 用于限制此用户可通过哪些远程主机连接当前的 mysql 服务;HOST 的表示方式,支持使用通配符:%:匹配任意长度的任意字符;172.16.%.%, 172.16.0.0/16
_:匹配任意单个字符;-P, --port=#:mysql 服务器监听的端口;默认为 3306/tcp;-S, --socket=/PATH/TO/mysql.sock:套按字文件路径;-D, --database=DB_name:连接到服务器端之后,设定其处指明的数据库为默认数据库;-e, --execute='SQL STATEMENT':连接至服务器并让其执行此命令后直接返回;
注:在上面的选项中,选项和参数之间可以不使用空格分开。
示例登录 mysql
[root@host ~]$mysql -uroot -p #账号 root, 选项和参数可以不分开
Enter password:
Welcome to the MariaDB monitor. Commands end with ; or \g.
Your MariaDB connection id is 54
Server version: 5.5.52-MariaDB MariaDB Server
Copyright (c) 2000, 2016, Oracle, MariaDB Corporation Ab and others.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
MariaDB [(none)]> # 表示登录成功
查看客户端常见命令
MariaDB [(none)]> help
General information about MariaDB can be found at
http://mariadb.org
List of all MySQL commands:
Note that all text commands must be first on line and end with ';'
? (\?) Synonym for `help'. # 查看帮助
clear (\c) Clear the current input statement. # 清空当前输入的语句
connect (\r) Reconnect to the server. Optional arguments are db and host. # 重新连接服务器
delimiter (\d) Set statement delimiter. # 设置语句分隔符(结束符),默认为分号 ';'
edit (\e) Edit command with $EDITOR. # 编辑命令
ego (\G) Send command to mysql server, display result vertically. # 发送命令至服务器,垂直显示结果
exit (\q) Exit mysql. Same as quit. # 退出
go (\g) Send command to mysql server. # 发送命令至服务器
help (\h) Display this help. # 查看帮助
quit (\q) Quit mysql. # 退出
source (\.) Execute an SQL script file. Takes a file name as an argument. # 读取 SQL 脚本
system (\!) Execute a system shell command. # 执行 shell 命令
tee (\T) Set outfile [to_outfile]. Append everything into given outfile. # 设置输出文件
use (\u) Use another database. Takes database name as argument. # 指定数据库
charset (\C) Switch to another charset. Might be needed for processing binlog with multi-byte charsets. # 指定字符集
warnings (\W) Show warnings after every statement. # 显示警告信息
nowarning (\w) Don't show warnings after every statement. # 不显示警告信息
查看 mysql 服务端帮助信息,可使用help contents:
MariaDB [(none)]> help contents
You asked for help about help category: "Contents"
For more information, type 'help <item>', where <item> is one of the following
categories:
Account Management # 账户管理语句
Administration # 管理员
Compound Statements
Data Definition # 数据定义语句
Data Manipulation # 数据操作语句
Data Types # 数据类型
Functions # 函数
Functions and Modifiers for Use with GROUP BY
Geographic Features
Help Metadata
Language Structure
Plugins
Procedures
Table Maintenance
Transactions
User-Defined Functions
Utility
要查看某一类命令或者某单一命令使用,均可使用 help KEYWORD 查看,例如:
MariaDB [(none)]> help Data Definition;
You asked for help about help category: "Data Definition"
For more information, type 'help <item>', where <item> is one of the following
topics:
ALTER DATABASE
ALTER EVENT
ALTER FUNCTION
...
RENAME TABLE
TRUNCATE TABLE
MariaDB [(none)]> help create table;
Name: 'CREATE TABLE'
Description:
Syntax:
CREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name
(create_definition,...)
[table_options]
[partition_options]
Or:
CREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name
[(create_definition,...)]
[table_options]
[partition_options]
select_statement
Or:
CREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name
{LIKE old_tbl_name | (LIKE old_tbl_name) }
...
数据类型
自动增长类型
AUTO_INCREMENT
字符型:char/binary varchar/varbinary
text/ngtext/blob/ediumblob/longblob
set/enum
数值型
int/tinyint/smallint/mediumint/bigint
decimal
float/double
日期型
date/time/datetime/timestamp/year(2,4)
常见数据库管理语句
选择操作的数据库
USE db_name
创建
CREATE {DATABASE | SCHEMA} [IF NOT EXISTS] db_name;
[DEFAULT] CHARACTER SET [=] charset_name # 设置字符集
[DEFAULT] COLLATE [=] collation_name # 设置排序方式
SHOW CHARACTER SET # 查看支持的所有的字符集
SHOW COLLATION # 查看支持的所有排序方式
修改
ALTER {DATABASE | SCHEMA} [db_name]
删除
DROP {DATABASE | SCHEMA} [IF EXISTS] db_name
查看
SHOW {DATABASES | SCHEMAS}
[LIKE 'pattern' | WHERE expr]
表管理
创建
CREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name
(create_definition,...) # 字段定义
[table_options] # 数据表的基本设置
[partition_options] # 分割选项
修改
ALTER [ONLINE | OFFLINE] [IGNORE] TABLE tbl_name
[alter_specification [, alter_specification] ...]
[partition_options]
删除
DROP [TEMPORARY] TABLE [IF EXISTS]
tbl_name [, tbl_name] ...
[RESTRICT | CASCADE]
DML 数据操作语言
查看
SELECT
[ALL | DISTINCT | DISTINCTROW ]
[HIGH_PRIORITY]
[STRAIGHT_JOIN]
[SQL_SMALL_RESULT] [SQL_BIG_RESULT] [SQL_BUFFER_RESULT]
[SQL_CACHE | SQL_NO_CACHE] [SQL_CALC_FOUND_ROWS]
select_expr [, select_expr ...]
[FROM table_references
[WHERE where_condition]
[GROUP BY {col_name | expr | position}
[ASC | DESC], ... [WITH ROLLUP]]
[HAVING where_condition]
[ORDER BY {col_name | expr | position}
[ASC | DESC], ...]
[LIMIT {[offset,] row_count | row_count OFFSET offset}]
[PROCEDURE procedure_name(argument_list)]
[INTO OUTFILE 'file_name'
[CHARACTER SET charset_name]
export_options
| INTO DUMPFILE 'file_name'
| INTO var_name [, var_name]]
[FOR UPDATE | LOCK IN SHARE MODE]]
插入
INSERT [LOW_PRIORITY | DELAYED | HIGH_PRIORITY] [IGNORE]
[INTO] tbl_name [(col_name,...)]
{VALUES | VALUE} ({expr | DEFAULT},...),(...),...
[ ON DUPLICATE KEY UPDATE
col_name=expr
[, col_name=expr] ... ]
删除
Single-table syntax:
DELETE [LOW_PRIORITY] [QUICK] [IGNORE] FROM tbl_name
[WHERE where_condition]
[ORDER BY ...]
[LIMIT row_count]
Multiple-table syntax:
DELETE [LOW_PRIORITY] [QUICK] [IGNORE]
tbl_name[.*] [, tbl_name[.*]] ...
FROM table_references
[WHERE where_condition]
修改
Single-table syntax:
UPDATE [LOW_PRIORITY] [IGNORE] table_reference
SET col_name1={expr1|DEFAULT} [, col_name2={expr2|DEFAULT}] ...
[WHERE where_condition]
[ORDER BY ...]
[LIMIT row_count]
Multiple-table syntax:
UPDATE [LOW_PRIORITY] [IGNORE] table_references
SET col_name1={expr1|DEFAULT} [, col_name2={expr2|DEFAULT}] ...
[WHERE where_condition]
权限管理(账户管理)
创建用户
CREATE USER user_specification
[, user_specification] ...
user_specification:
user
[IDENTIFIED BY [PASSWORD] 'password'
| IDENTIFIED WITH auth_plugin [AS 'auth_string']
]
删除用户
DROP USER user [, user] ...
向用户授权
GRANT
priv_type [(column_list)]
[, priv_type [(column_list)]] ...
ON [object_type] priv_level
TO user_specification [, user_specification] ...
[REQUIRE {NONE | ssl_option [[AND] ssl_option] ...}]
[WITH with_option ...]
GRANT PROXY ON user_specification
TO user_specification [, user_specification] ...
[WITH GRANT OPTION]
取消授权或者调整权限
REVOKE
priv_type [(column_list)]
[, priv_type [(column_list)]] ...
ON [object_type] priv_level
FROM user [, user] ...
REVOKE ALL PRIVILEGES, GRANT OPTION
FROM user [, user] ...
REVOKE PROXY ON user
FROM user [, user] ...
更多 MariaDB 相关教程见以下内容:
Ubuntu 16.04 LTS 上安装 Nginx、MariaDB 和 HHVM 运行 WordPress http://www.linuxidc.com/Linux/2016-10/136435.htm
Ubuntu 16.04 Dockerfile 安装 MariaDB http://www.linuxidc.com/Linux/2016-09/135260.htm
Linux 系统教程:如何检查 MariaDB 服务端版本 http://www.linuxidc.com/Linux/2015-08/122382.htm
Ubuntu 16.04 下如何安装 MariaDB http://www.linuxidc.com/Linux/2017-04/142915.htm
CentOS 7.3 二进制安装 MariaDB10.2.8 步骤 http://www.linuxidc.com/Linux/2017-10/147904.htm
CentOS 7 编译安装 MariaDB-10.1.22 http://www.linuxidc.com/Linux/2017-05/143291.htm
Ubuntu 上如何将 MySQL 5.5 数据库迁移到 MariaDB 10 http://www.linuxidc.com/Linux/2014-11/109471.htm
[翻译]Ubuntu 14.04 (Trusty) Server 安装 MariaDB http://www.linuxidc.com/Linux/2014-12/110048htm
Ubuntu 14.04(Trusty)安装 MariaDB 10 数据库 http://www.linuxidc.com/Linux/2016-11/136833.htm
MariaDB 的详细介绍:请点这里
MariaDB 的下载地址:请点这里
本文永久更新链接地址:http://www.linuxidc.com/Linux/2017-10/148099.htm