管理用户
mysql用户的账号和信息都存在名为mysql的MYSQL数据库中。
mysql数据库有一个 USER 表,存放着账户和密码。
1 | USE mysql; |
1 | CREATE USER ben IDENTIFIED BY 'your_password'; |
IDENTIFIED BY 为纯文本。MYSQL会自动在保存到user表前对密码进行加密,作为散列表指定口令。
GRANT和INSERT也可以添加用户。
重命名:
1 | RENAME USER ben TO bforta; #bforta是个用户 |
删除:
1 | DROP USER bforta; |
更改密码
1 | SET PASSWORD FOR bforta = PASSWORD("new_passw"); |
设置访问权限:
1 | #查看用户账号权限 |
适用范围
- 整个服务器:
GTANT ALL和REVOKE ALL - 整个数据库: 例如 ON database.*
- 特定表:例如 ON database.table
- 特定列
- 特定存储过程
权限类型:“太鸡儿多了,自己去看文档或者google好了”
提前授权:
GRANT 和 REVOKE 的账户必须已经存在,但对象没有这种要求。
所以可以在创建数据库之前授权。更加安全。
坏处是删掉数据库后权限仍然存在,需要手动清理,否则可能影响下次创建。
一些维护的东西
数据库维护
ANALYZE TABLE :检查表键
CHECK TABLE :检查很多表属性。
日志文件
- 错误日志:hostname.err
- 查询日志:hostname.log
- 二进制日志:hostname-bin
- 缓慢查询日志:hostname-slow.log
1.都在data目录里了
2.
- - log命令符能更改这些文件的名字。
陌生关键字
ACTION
ASENSITIVE
CONVERT
ENUM
FORCE
GOTO
KILL
LINES
MOD
NUMERIC
OPTIMIZE
OPTION
OUTFILE
PURGE
RELEASE
RESTRICT
STARTING
START_JOIN
TERMINATED
SPATIAL
SONAME
SCHEMA
VARYING
USAGE
SQLEXCEPTION STATE WARNING