)DEAULT CHARACTER SET hebrew CLLATEhebrew_general_ci;
这条语句创建一个表,并且制定一个字符集和一个校对顺序
SHOW CHARACTER SET;//可以查看所支持的字符集完整列表
SHOW COLLATION; //查看所支持的校对完整列表
28.安全管理
管理用户
USE mysql;
SELECT user FROM user;
Mysql数据库有一个名为user的表,它包含所有用户账号。User表有一个user列。
28.1创建用户账户
为创建新用户账户,使用CREATE USER语句
CREATE USER ben IDENTIFIED BY ‘P@$$w0rd’;
创建一个用户名为ben的用户,口令为P@$$w0rd。
RENAME USER ben TO bforta;
28.2删除用户账号
DROP USER bforta;
28.3设置访问权限
mysql> SHOW GRANTS FOR bforta;
+-------------------------------------------------------------------------------
------------------------+
| Grants for bforta@%
|
+-------------------------------------------------------------------------------
------------------------+
| GRANT USAGE ON *.* TO 'bforta'@'%'IDENTIFIED BY PASSWORD '*A6210E6C376AADB5A6
9274F8C3D15B788433A9EB' |
+-------------------------------------------------------------------------------
------------------------+
1 row in set (0.00 sec)
输出结果显示用户bforta有一个权限USAGE ON *.*。USAGE表示没有权限,所以USAGE ON *.*表示在任意数据库和人意表上对任何东西都没有权限。
使用GRANT设置权限,需要给出以下信息:
1)要授予的权限
2)被授予访问权限的数据库或表
3) 用户名
GRANT SELECT ON crashcourse.* TO bforta;
赋予bforta在crashcourse.*拥有SELECT权限。
在此显示权限如下:
SHOW GRANTS FOR bforta;
+-------------------------------------------------------------------------------
------------------------+
| Grants for bforta@%
|
+-------------------------------------------------------------------------------
------------------------+
| GRANT USAGE ON *.* TO 'bforta'@'%'IDENTIFIED BY PASSWORD '*A6210E6C376AADB5A6
9274F8C3D15B788433A9EB' |
| GRANT SELECT ON `crashcourse`.* TO'bforta'@'%'
|
+-------------------------------------------------------------------------------
------------------------+
2 rows in set (0.00 sec)
可以用REVOKE取消权限。
REVOKE SELECT ON crashcourse.* FROM bforta;
28.4更改口令
更新用户口令
SET PASSWORD FOR bforta = Password(‘n3wp@$$w0rd’);
设置自己的口令
SET PASSWOR = Password(‘n3w p@$$w0rd’);
第29章数据库维护
ANALYZE TABLE:用来检查表键是否正确
CHECK TABLE:用来针对许多问题对表进行检查