7.《MySQL必知必会》事务,全球化,安全管理与维护

本文深入探讨MySQL中的事务处理、全球化及本地化设置、安全管理以及数据库维护等关键主题。通过具体示例展示如何使用ROLLBACK、COMMIT和SAVEPOINT来管理数据库事务;如何配置字符集和校对顺序以实现全球化;如何创建、管理和保护用户账号确保数据安全;以及如何执行数据备份和检查等维护任务。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

注:博客中总结《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.查看日志文件
  • 错误日志;
  • 查询日志;
  • 二进制日志;
  • 缓慢查询日志;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值