注:博客中总结《MySQL必知必会》中的知识点,第26,27,28,29,30章的核心内容;
涉及到的操作符:ROLLBACK,COMMIT,SAVEPOINT,CHARACTER,COLLATION,USER,GRANT,REVOKE;
书中用到的表的介绍及其脚本文件:《Mysql必知必会》中表的介绍
管理事务处理
事务处理可以用来维护数据库的完整性,它保证成批的MySQL操作要么完全执行,严么完全不执行;
- 事务(transaction)指一组SQL语句;
- 回退(rollback) 指撤销指定SQL语句的过程;
- 提交(commit) 指未存储的SQL语句结果写入数据库表;
- 保留点(savepoint) 指事务处理中设置的临时占位符;
事务处理用来管理INSERT,UPDATE,DELETE。不能回退SELECT;不能回退CREATE,DROP操作;
1.使用rollback
SELECT * FROM ordertotals;
START TANSACTION; -- 标识事务的开始;
DELETE FROM order totals;
SELECT * FROM order totals;
ROLLBACK; -- 标识事务的结束;
SELECT * FROM ordertotals;
2.使用commit
START TANSACTION; -- 标识事务的开始;
DELETE FROM orderitems WHERE order_num=20010;
DELETE FROM orders WHERE order_num=20010;
COMMIT;
-- COMMIT语句仅在前两条语句不出错是写出更改;
3.使用保留点
SAVEPOINT TO delete1; -- 创建
ROLLBACK TO delete1; -- 回退
-- 保留点越多越好,但是要及时释放保留点;
RELESAE SAVEPOINT delete1; --释放
全球化和本地化
1.字符集和校对顺序
- 字符集:为字母和符号的集合;
- 编码:为某个字符集成员的内部表示;
- 校对:为规定字符如何比较的指令;
2.使用字符集和校对顺序
-- 显示所有可用的字符集;
SHOW CHARACTER SET;
-- 查看所支持校对的完整列表;
SHOW COLLATION;
-- 确定在所用的字符集和校对;
SHOW VARIABLES LIKE 'character%';
SHOW VARIABLES LIKE 'collation%';
-- 在创建表时,指定一个字符集和一个校对顺序;
CREATE TABLE matable
(
columnn1 INT,
columnn2 VARCHAR(10)
) DEFAULT CHARACTER SET hebrew
COLLATE hebrew_general_ci;
安全管理
1.访问控制
- 管理访问控制需要创建和管理用户账号
- 有的用于管理,有的供用户使用,有的供开发人员使用;
- 建议不要使用root;
2.管理用户
-- 获得用户列表
SELECT user FROM user;
-- 创建用户账号,ben是用户名,BY后面是口令;
CREATE USER ben IDENTIFIED BY 'p@$$w0rd';
-- 删除用户账号
DROP USER bforta;
-- 设置访问权限
SHOW GRATNS FOR bforta; -- 显示权限
GRANT SELECT ON crashcourse.* TO bforta; -- 添加SELECT权限
REVOKE SELECT ON crashcourse.* FROM bforta; -- 删除SELECT权限
-- 设置口令(不指定用户,则默认更新当前用户口令)
SET PASSWORD = Password('1233456');
数据库维护
1.备份数据
- 使用命令行实用程序mysqldump转储所有数据库内容到某个外部文件;
- 可用命令行实用程序mysqlhotcopy从一个数据库复制所有数据;
- 可以使用MySQL的BACKUP TABLE或SELECT INTO OUTFILE转储所有数据到某个外部文件;
2.进行数据库维护
-- 用来检查表键是否正确;
ANALYZE TABLE orders;
-- 用来针对许多问题对表进行检查;
CHECK TABLE orders,orderitems;
3.查看日志文件
- 错误日志;
- 查询日志;
- 二进制日志;
- 缓慢查询日志;