系统
Rocky Linux
https://rockylinux.org/download
openSUSE
https://www.opensuse.org/
数据库
MySQL
https://dev.mysql.com/downloads/mysql/
https://rockylinux.org/download
https://www.opensuse.org/
https://dev.mysql.com/downloads/mysql/
mysql > select user,host,password_expired,password_last_changed,password_lifetime from mysql.user;
mysql > create user mingyuzhu@localhost identified by 'eternalcenter';
(补充:这里以创建名为 mingyuzhu 所属服务器是 localhost 密码是 eternalcenter 的用户为例)
mysql > alter user mingyuzhu@localhost identified by 'neweternalcenter';
(补充:这里以将名为 mingyuzhu 所属服务器是 localhost 用户的密码修改为 neweternalcenter 为例)
步骤四:刷新 MariaDB & MySQL 的用户列表使刚刚修改的密码生效
mysql > flush privileges;
https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/
https://dev.mysql.com/doc/
1) 确保表里的字段都缺一不可(也就是具有原子性)
2) 确保表里的字段都和主键直接相关
事务的作用是保护数据的安全性
一系列操作被看作一个事务,这个事务里面的所有操作要么全部失败,要么全部成功,如果在操作的过程中出现中断,则立刻进行 rollback
一系列操作被看作一个事务,在事务开始前和结束后,整个库的完整逻辑约束不能被打破,例如:一个人向另一个人转账,不能出现一个人转账成功另一个人没有收到转账,或者一个人转账失败另一个人收到转账的情况
主要解决并发的情况,避免不同的人,在相同的时间,查看到的数据的不一致性,避免以下情况的发生:
1) 脏读:一个事务读取了另一个事务更新、提交并撤销的数据,导致此事务看到的数据是错误的
2) 不可重复读:一个事务多次读取了另一个事务多次更新并提交的数据,导致此事务看到的数据是来回变化的
3) 幻读:一个事务在批量修改所有数据,但是在修改的过程中另一个事务又往里面插入了数据,导致此事务在修改完成之后,意外发现还有一条数据没有修改
事务结束后,所有更新都将被保存,不能回滚
事务隔离级别 | 脏读 | 不可重复读 | 幻读 |
读未提交(read-uncommitted) | 是 | 是 | 是 |
不可重复读(read-committed) | 否 | 是 | 是 |
可重复读(repeatable-read) | 否 | 否 | 是 |
串行化(serializable) | 否 | 否 | 否 |
可重复读 repeatable-read
MariaDB [(none)]> select @@tx_isolation;
+-----------------+
| @@tx_isolation |
+-----------------+
| REPEATABLE-READ |
+-----------------+
1 row in set (0.001 sec)
(补充:这里以查看 MariaDB 目前所使用的事务隔离为例)