MariaDB数据库管理系统是MYSQL的一个分支,主要由开源社区在维护,采用GPL授权许可,mariad的目的是完全兼容MYSQL,包括API和命令行,使之成为MYSQL的替代品。在存储引擎方面使用XtraDB来代替MYSQL的InnoDB。
连接池:认证、线程重用、连接数限制、内存检查、缓存
SQL接口:DDL, DML, 关系型数据库的基本抽象
parser: 查询转换、对象权限检查
优化器:访问路径,性能相关的统计数据
caches和buffers:与存储引擎自身相关的I/O性能提升工具
存储引擎:MyISAM、InnoDB(变种:XtraDB)、Memory、Merge、Federated、
CSV、Archive、Blackholl、Aria、SphinxSE、TokuDB
MariaDB基础
1.数据库操作
创建数据库
CREATE {DATABASE | SCHEMA} [IF NOT EXISTS] db_name
删除数据库
DROP {DATABASE | SCHEMA} [IF EXISTS] db_name
修改数据库
ALTER {DATABASE | SCHEMA} [IF EXISTS] db_name
查看数据库
2.表操作
创建表
CREATE TABLE [IF NOT EXISTS] tb_name
(col1_def,col2_def,PRIMARY KEY(col_name,...),UNIQUE (col1,...),INDEX (col1,...))
[table_option]
table_option:
ENGINE [=] engine_name
COMMENT [=]
‘string‘
ROW_FORMAT [=] {DEFAULT|DYNAMIC|FIXED|COMPRESSED|REDUNDANT|COMPACT}
TABLESPACE tablespace_name [STORAGE {DISK|MEMORY|DEFAULT}]
删除表
DROP [TEMPORARY] TABLE [IF EXISTS] tbl_name [, tbl_name] ...
修改表
ALTER [ONLINE | OFFLINE] [IGNORE] TABLE tbl_name
[alter_specification [, alter_specification] ...]
alter_specification:
#插入新字段
ADD [COLUMN] col_name column_definition [FIRST | AFTER col_name ]
#删除字段
DROP [COLUMN] col_name
#修改字段属性
ALTER [COLUMN] col_name {SET DEFAULT literal | DROP DEFAULT}
#修改字段名
CHANGE [COLUMN] old_col_name new_col_name column_definition [FIRST|AFTER col_name]
#修改字段类型及属性等
MODIFY [COLUMN] col_name column_definition [FIRST | AFTER col_name]
修改表名
ALTER TABLE tb_name RENAME TO new_tb_name;
RENAME TABLE old_name TO new_name;
#指定排序字段
ORDER BY col_name [, col_name] ...
#转换字符集及排序规则
CONVERT TO CHARACTER SET charset_name [COLLATE collation_name]
查看表的索引
SHOW {INDEX | INDEXES | KEYS}
{FROM | IN} tbl_name
[{FROM | IN} db_name]
[WHERE expr]
用户及权限管理:
用户账号:‘username‘@‘host‘
host可使用IP、网络地址、使用通配符(_和%);来源主机
MariaDB [(none)]> CREATE USER ‘lys‘@‘192.168.0.0‘ IDENTIFIED BY ‘123‘;
创建用户账号,并赋予密码;
CREATE USER ‘username‘@‘host‘ IDENTIFIED BY [PASSWORD] ‘password‘;
删除用户:
DROP USER ‘username‘@‘host‘;
授权:
GRANT priv1,... ON db_name.tbl_name TO ‘username‘@‘host‘ [IDENTIFIED BY [PASSWORD] ‘password‘];
MariaDB [(none)]> GRANT ALL ON mysql.* TO ‘lys‘@‘192.168.0.0‘;
如果用户事先不存在,则创建此账号并授权;
ALL [PRIVILEGES]:所有权限
查看用户已经获得的授权:
SHOW GRANTS [FOR user]
收回授权:REVOKE
REVOKE priv1,... ON db_name.tbl_name FROM ‘username‘@‘host‘;
本文出自 “天才来自重复” 博客,请务必保留此出处http://laoli110.blog.51cto.com/9136611/1710033
原文:http://laoli110.blog.51cto.com/9136611/1710033