一、系统库介绍
使用命令“show databases”,可以查看数据库的列表。我们可以看到4个系统自带库:information_schema、mysql、performance_schema、sys

1.1 information_schema数据库
提供了访问数据库元数据的方式;元数据是关于数据的数据,如数据库名或表名,列的数据类型,或访问权限等。information_schema可以认为是一个信息数据库,它保存着关于MySQL服务器所维护的所有其他数据库的信息;事实上,在INFORMATION_SCHEMA中,有几张只读表,实际上是视图。

1.2 mysql 数据库
MySQL数据库的核心数据库,主要负责存储数据库的用户、权限设置、关键字等;需要使用的控制和管理信息,不可以删除。

1.3 performance_schema 数据库
MySQL 5.5 版本 新增了一个性能优化的引擎: PERFORMANCE_SCHEMA控制参数: performance_schema 才可以启动该功能,这个参数是静态参数,只能写在my.ini 中不能动态修改。

1.4 sys 数据库
Sys库所有的数据源来自performance_schema,目标是把performance_schema的复杂度降低,让DBA能友好的阅读这个库里的内容。

二、创建自定义数据库
2.1 语法
CREATE DATABASE [IF NOT EXISTS] <数据库名>
[[DEFAULT] CHARACTER SET <字符集名>]
[[DEFAULT] COLLATE <校对规则名>];
<数据库名>:创建数据库的名称。MySQL 的数据存储区将以目录方式表示 MySQL 数据库,因此数据库名称必须符合操作系统的文件夹命名规则,不能以数字开头,尽量要有实际意义。注意在 MySQL 中不区分大小写。
IF NOT EXISTS:在创建数据库之前进行判断,只有该数据库目前尚不存在时才能执行操作。此选项可以用来避免数据库已经存在而重复创建的错误。
[DEFAULT] CHARACTER SET:指定数据库的字符集。指定字符集的目的是为了避免在数据库中存储的数据出现乱码的情况。如果在创建数据库时不指定字符集,那么就使用系统的默认字符集。

2.2 登录MySQL并创建DB



2.3 查询数据库记录

三、系统用户
3.1 mysql.infoschema
mysql.infoschema用户被设计用于访问MySQL服务器内置的information schema数据库,mysql.infoschema用户没有密码,并且无法登录到系统中。
3.2 mysql.sys
使用 mysql.sys 用户可避免DBA重命名或者删除root用户时发生的问题。该用户已被锁定,客户端无法连接
3.3 mysql.session
插件内部使用来访问服务器。该用户已被锁定,客户端无法连接。
3.4 root
该用户拥有所有权限,可执行任何操作。root是MySQL默认的特权账号,建议将root账号禁用或者删除,新建一个特权账号用于管理,避免root易于被攻击。

四、自定义用户与授权
4.1 登录MySQL服务器
命令:
mysql –h hostname|hostIP –P port –u username –p DatabaseName –e "SQL语句
-h参数:后面接主机名或者主机IP,hostname为主机,hostIP为主机IP。
-P参数:后面接MySQL服务的端口,通过该参数连接到指定的端口。MySQL服务的默认端口是3306,不使用该参数时自动连接到3306端口,port为连接的端口号。
-u参数:后面接用户名,username为用户名。
-p参数:会提示输入密码。
DatabaseName参数:指明登录到哪一个数据库中。如果没有该参数,就会直接登录到mysql数据库中,然后可以使用USE命令来选择数据库。
-e参数:后面可以直接加SQL语句。登录MySQL服务器以后即可执行这个SQL语句,然后退出MySQL服务器。

4.2 管理用户
- 创建用户命令
CREATE USER 用户名 [IDENTIFIED BY '密码'][,用户名 [IDENTIFIED BY '密码']];
用户名参数: 自定义的,新建用户名,
密码参数:指定明文密码值
[ ]:表示可选,CREATE USER语句可以同时创建多个用户。

- 更新用户命令(通用的update命令,直接操作user表)

- 删除用户(Drop命令,或者直接从user表中删除也可以)
命令: DROP USER user[,user]…;

- 更改用户密码

4.3 授予权限
命令:
GRANT privilege,[privilege],.. ON privilege_level
TO user [IDENTIFIED BY password]
[REQUIRE tsl_option]
[WITH [GRANT_OPTION | resource_option]]
privilege参数:指定一个或多个特权。如果要授予用户多个权限,则每个权限都将以逗号分隔(见下表中的特权列表)。
privilege_level参数:指定特权应用级别的。MySQL支持全局(*.*),数据库(database.*),表(database.table)和列级别(每个权限之后使用逗号分隔列的列表)。
User参数:要授予权限的用户。如果用户已经存在,则GRANT语句修改其特权。如不存在,则GRANT语句将创建一个新用户。
password参数:可选的条件IDENTIFIED BY允许为用户设置新密码。
tsl参数:可指定用户是否必须通过安全连接(如SSL,X059等)连接到数据库服务器。最
WITH GRANT OPTION参数子句:允许此用户授予其他用户或从其他用户删除您拥有的权限。

4.4 撤销权限
命令:
REVOKE [IF EXISTS]
priv_type [(column_list)]
[, priv_type [(column_list)]] ...
ON [object_type] priv_level
FROM user_or_role [, user_or_role] ...
[IGNORE UNKNOWN USER]
参数含义与授权一致,不再赘述。

4.5 附表:GRANT/REVOKE静态权限
|
特权 |
授予表列 |
语境 |
|
ALL [PRIVILEGES] |
“所有特权”的同义词 |
服务器管理 |
|
ALTER |
Alter_priv |
表 |
|
ALTER ROUTINE |
Alter_routine_priv |
存储例程 |
|
CREATE |
Create_priv |
数据库、表或索引 |
|
CREATE ROLE |
Create_role_priv |
服务器管理 |
|
CREATE ROUTINE |
Create_routine_priv |
存储例程 |
|
CREATE TABLESPACE |
Create_tablespace_priv |
服务器管理 |
|
CREATE TEMPORARY TABLES |
Create_tmp_table_priv |
表 |
|
CREATE USER |
Create_user_priv |
服务器管理 |
|
CREATE VIEW |
Create_view_priv |
观点 |
|
DELETE |
Delete_priv |
表 |
|
DROP |
Drop_priv |
数据库、表或视图 |
|
DROP ROLE |
Drop_role_priv |
服务器管理 |
|
EVENT |
Event_priv |
数据库 |
|
EXECUTE |
Execute_priv |
存储例程 |
|
FILE |
File_priv |
服务器主机上的文件访问 |
|
GRANT OPTION |
Grant_priv |
数据库、表或存储例程 |
|
INDEX |
Index_priv |
表 |
|
INSERT |
Insert_priv |
表或列 |
|
LOCK TABLES |
Lock_tables_priv |
数据库 |
|
PROCESS |
Process_priv |
服务器管理 |
|
PROXY |
见表proxies_priv_ |
服务器管理 |
|
REFERENCES |
References_priv |
数据库或表 |
|
RELOAD |
Reload_priv |
服务器管理 |
|
REPLICATION CLIENT |
Repl_client_priv |
服务器管理 |
|
REPLICATION SLAVE |
Repl_slave_priv |
服务器管理 |
|
SELECT |
Select_priv |
表或列 |
|
SHOW DATABASES |
Show_db_priv |
服务器管理 |
|
SHOW VIEW |
Show_view_priv |
观点 |
|
SHUTDOWN |
Shutdown_priv |
服务器管理 |
|
SUPER |
Super_priv |
服务器管理 |
|
TRIGGER |
Trigger_priv |
表 |
|
UPDATE |
Update_priv |
表或列 |
|
USAGE |
“无特权”的同义词 |
服务器管理 |

##山狗学会 License Start##
转载请注明出处,"*今条头日**"创作者"山狗学会“ ,注明出处即授权,未注明出处罚款100万元
主页链接:山狗学会主页
##山狗学会 License End##
