mysql必知必会 2018/6/23

26管理事务处理

    事务管理可以用来维护数据库的完整性,它保证成批的MYSQL操作要么完全执行,要不完全不执行。事务处理是一种机制,用来管理必须成批执行的MYSQL操作,以保证数据库不包含不完整的操作结果。利用事务处理,可以保证一组操作不会中途终止。如果没有错误发生,整组语句提交给数据库表。如果发生错误,则进行回退以恢复数据库到某个已知且安全的状态。

    事务处理的关键在于将SQL语句组分解为逻辑块,并明确规定数据何时应该回退,何时不应该回退。

    标识事务的开始

START TRANSACTION;
    回退撤销MYSQL语句ROLLBACK只能在一个事务处理内使用
SELECT * FROM ordertotals;//显示此表不为空
START TRANSACTION;  //事务开始;
DELETE FROM ordertotals; //删除所有行 
SELECT * FROM ordertotals; //验证此表为空
ROLLBACK;//回退所有行
SELECT * FROM ordertotals;//显示该表不为空

一般都是提交操作自动进行(隐含提交)COMMIT语句

START TRANSACTION
DELETE FROM orderitems WHERE order_num = 200010;
DELETE FROM orders WHERE order_num = 20010;
COMMIT;

    回退到占位符SAVRPOINT,创建占位符,取名唯一

SAVEPOINT delete1;
    回退到保留点
ROLLBACK TO delete1;
保留点在事务处完成后自动释放。

    更改默认的提交行为

SET autocommit = 0;

27 全球化和本地化

字符串为字母和符号的集合;编码为每个字符集成员的内部标识;校对为规定字符如何比较的指令。

查看字符集完整列表

SHOW CHARACTER SET;
查看所支持校对完整列表
SHOW COLLATION

确定所用的字符集和校对

SHOW VARIABLES LIKE 'character%''
SHOW VARIABLES LIKE 'cllaction%'

28 安全管理

MYSQL服务器的安全基础是:用户应该对他们需要的数据有适当的访问权,既不能多也不能少。访问控制用于管理访问控制需要创建和管理的用户账号。

直接访问所有用户账号

USE mysql;
SELECT user FROM user;

创建用户账号

CREATE USER ben IDENTIFIED BY 'p@$$w0rd';
重新命名一个用户账号
RENAME USER ben TO beforta;
删除用户账号
DROP USER beforta;

查看授予用户的访问权限

SHOW GRANTS FOR beforta;
授予权限
GRANT SELECT ON crashcourse.* TO bforta;//允许用户在crashcourse.*上使用SELECT
撤销某一权限
REVOKR SELECT ON crashcourse.* FROM bforta;

更改用户口令

SET PASSWORD FOR bforta = Password('n3w p@$$w0rd')

29 数据库维护

查看表键是否正确

ANALYZE TABLE orders;
刷新和重新开始所有日志文件
FLUSH LOGS

30 改善性能









    

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值