MySQL索引与事务、存储引擎MyISAM和InnoDB (理论+实践篇)
索引的概念
数据库中的索引与书籍中的目录类似
- 在一本书中,无须阅读整本书,利用目录就可以快速查找所需信息
- 书中的目录是一个词语列表,其中注明了包含各个词的页码
数据库索引
- 在数据库中,索引使数据库程序无须对整个表进行扫描,就可以在其中找到所需数据
- 数据库中的索引|是某个表中一-列或者若干列值的集合,以及物理标识这些值的数据页的逻辑指针清单
索引的的作用
- 设置了合适的索引之后,数据库利用各种快速的定位技术,能够大大加快查询速率
- 特别是当表很大时,或者查询涉及到多个表时,使用索引可使查询加快成3 F倍
- 可以降低数据库的I0成本,并且索引还可以降低数据库的排序成本
- 通过创建唯一性索引保证数据表数据的唯- -性可以加快表与表之间的连接
- 在使用分组和排序时,可大大减少分组和排序时间
索引的分类
普通索引
- 这是最基本的索引类型,而且它没有唯一性之类的限制
唯一性索引
- 这种索引和前面的“普通索引”基本相同,但有一个区别:索引列表的所有值都只能出现一次,即必须唯一
主键
- 主键是一种唯一索引,但它必须指定为“PRIMARY KEY"
全文索引
- MySQL从3.23.23版开始支持全文索引和全文检索。在MySQL中,全文索引的索引类型为FULLTEXT, 全文索引可以在VARCHAR或者TEXT类型的列上创建
单列索引与多列索引
- 索引可以是单列上创建的索引,也可以是在多列上创建的索引
创建索引的原则依据
- 表的主键、外键必须有索引
- 数据量超过300行的表应该有索引
- 经常与其他表进行连接的表,在连接字段上应该建立索引
- 唯一性太差的字段不适合建立索引
- 更新太频繁的字段不适合创建索引
- 经常出现在Where子句中的字段,特别是大表的字段,应该建立索引
- 索引应该建立在选择性高的字段上
- 索引应该建在小字段上,对于大的文本字段甚至超长字段,不要建索引
创建索引的方法
- 根据企业需求选择了合适的索引之后,可以使用CREATE INDEX创建索引
- CREATE INDEX 加上各个索引的关键字便可以创建各个类型的索引
创建普通索引
CREATE INDEX <索引的名字> ON tablename(列的列表);
普通索引实例
CREATE INDEX salary index ON IT salary(薪资);
创建唯一性索引
CREATE UNIQUE INDEX <索引的名字> ON tablename (列的列表);
唯一性索引实例
CREATE UNIQUE INDEX salary_unique_index ON IT_salary(姓名);
创建主键索引
CREATE TABLE tablename ( [..], PRIMARY KEY (列的列表) );
ALTER TABLE tablename ADD PRIMARY KEY (列的列表); //添加表结构的方式创建主键索引
创建主键索引实例
ALTER TABLE IT_ salary ADD PRIMARY KEY (员工ID);
查看索引
SHOW INDEX FROM tablename;
SHOW KEYS FROM tablename;
查看索引实例
SHOW INDEX FROM IT_salary;
SHOW KEYS FROM IT_salary;
事务的概念
- 事务是一种机制、一个操作序列,包含了一组数据库操作命令,并且把所有的命令作为一个整体一起向系统提交或撤销操作请求,即一组数据库命令要么都执行,要么都不执行
- 事务是一个不可分割的工作逻辑单元,在数据库系统上执行并发操作时,事务是最小的控制单元
- 适用于多用户同时操作的数据库系统的场景,如银行、保险公司及证券交易系统等等
- 通过事务的整体性以保证数据的一致性
事务的ACID特点
原子性(Atomicity)
- 事务是一个完整的操作,事务的各元素是不可分的(原子的)
- 事务中的所有元素必须作为一个整体提交或回滚
- 如果事务中的任何元素失败,则整个事务将失败
一致性(Consistency)
- 当事务完成时,数据必须处于一致状态:在事务开始之前,数据库中存储的数据处于一致状态;在正在进行的事务中,数据可能处于不一致的状态;当事务成功完成时,数据必须再次回到已知的一致状态
隔离性. (Isolation)
- 对数据进行修改的所有并发事务是彼此隔离的,这表明事务必须是独立的,它不应以任何方式依赖于或影响其他事务
- 修改数据的事务可以在另一个使用相同数据的事务开始之前访问这些数据,或者在另一个使用相同数据的事务结束之后访问这些数据
持久性(Durability)
- 事务持久性指不管系统是否发生故障,事务处理的结果都是永久的
- 一旦事务被提交,事务的效果会被永久地保留在数据库中
事务的操作
- 认情况下MySQL的事务是自动提交的,当sq|语句提交时事务便自动提交
- 手动对事务进行控制的方法
-
- 事务处理命令控制
-
- 使用set设置事务处理方式
事务处理命令控制事务
- begin:开始一个事务
- commit:提交一个事务
- savepoint <标记名> 打标记/存档
- rollback:回滚一个事务
使用set命令进行控制
- et autocommit=0:禁止自动提交
- set autocommit=1:开启自动提交
存储引擎概念介绍
- MySQL中的数据用各种不同的技术存储在文件中,每种技术都使用不同的存储机制、索引技巧、锁定水平并最终提供不同的功能和能力,这些不同的技术以及配套的功能在MySQL 中称为存储引擎
- 存储引擎就是MySQL将数据存储在文件系统中的存储方式或者存储格式
- 目前MySQL常用的两种存储引擎
-
- MyISAM(轻量级)
-
- InnoDB
- MySQL存储引擎是MySQL数据库服务器中的组件,负责为数据库执行实际的数据1/0操作
- 使用特殊存储引擎的主要优点之一在于,仅需提供特殊应用所需的特性,数据库中的系统开销较小,具有更有效和更高的数据库性能
- MySQL系统中,存储引擎处于文件系统之上,在数据保存到数据文件之前会传输到存储引擎,之后按照各个存储引擎的存储格式进行存储
MyISAM的介绍
- MyISAM存储引擎是MySQL关系数据库系统5.5版本之前默认的存储引擎,前身是ISAM
- ISAM是一个定义明确且历经时间考验的数据表格管理方法,在设计之时就考虑到数据库被查询的次数要远大于更新的次数
- ISAM的特点
-
- ISAM执行读取操作的速度很快,
-
- 它不支持事务处理
-
- 而且不占用大量的内存和存储资源
-
- 不能够容错
- 数据存储位置:
-
- 表定义文件
-
- 表数据存储文件
-
- 表索引文件
MyISAM的特点
- 不支持事务
- 表级锁定形式,数据在更新时锁定整个表
- 数据库在读写过程中相互阻塞
-
- 会在数据写入的过程阻塞用户数据的读取
-
- 也会在数据读取的过程中阻塞用户的数据写入
- 可通过key_buffer_size来设置缓存索引,提高访问性能,减少磁盘IO的压力
-
- 但缓存只会缓存索引文件,不会缓存数据
- 采用MyISAM存储引擎数据单独写入或读取,速度过程较快且占用资源相对少
- MyISAM存储引擎它不支持外键约束,只支持全文索引
- 每个MyISAM在磁盘.上存储成三个文件,每- -个文件的名字以表的名字开始,扩展名指出文件类型
- MyISAM在磁盘上存储的文件
-
- frm文件存储表定义
-
- 数据文件的扩展名为.MYD (MYData)
-
- 索引文件的扩展名是.MYI (MYIndex)
MyISAM适用的生产场景举例
- 公司业务不需要事务的支持
- 一般单方面读取数据比较多的业务,或单方面写入数据比较多的业务
- MyISAM存储引擎数据读写都比较频繁场景不适合使用读写并发访问相对较低的业务
- 数据修改相对较少的业务
- 对数据业务-致性要求不是非常高的业务服务器硬件资源相对比较差
InnoDB特点介绍
- 支持事务:支持4个事务隔离级别
- 行级锁定,但是全表扫描仍然会是表级锁定读写阻塞与事务隔离级别相关
- 具有非常高效的缓存特性:能缓存索引,也能缓存数据
- 表与主键以簇的方式存储3
- 支持分区、表空间,类似oracle数据库
- 支持外键约束,5.5以前不支持全文索引,5.5版本以后支持全文索引
- 对硬件资源要求还是比较高的场合
InnoDB适用生产场景分析
- 业务需要事务的支持
- 行级锁定对高并发有很好的适应能力,但需确保查询是通过索引来完成
- 业务数据更新较为频繁的场景,如:论坛,微博等
- 业务数据一致性要求较高,例如:银行业务
- 硬件设备内存较大,利用Innodb较好的缓存能力来提高内存利用率,减少磁盘I0的压力
企业选择存储引擎依据
- 需要考虑每个存储引擎提供了哪些不同的核心功能及应用场景
- 支持的字段和数据类型
-
- 所有引|擎都支持通用的数据类型
-
- 但不是所有的引擎都支持其它的字段类型,如二进制对象
- 锁定类型:不同的存储引擎支持不同级别的锁定
-
- 表锁定
-
- 行锁定
配置存储引擎
- 在企业中选择好合适的存储引擎之后,就可以进行修改了
- 修改步骤
-
- 查看数据库可配置的存储引擎
-
- 查看表正在使用的存储引擎
-
- 配置存储引擎为所选择的类型
- 使用show engines查看系统支持的存储引擎
- 查看表使用的存储引擎
-
- 方法1: show table status from 库名 where name='表名;
-
- 方法2: show create table 表名;
修改存储引擎
- 方法1: alter table修改;
-
alter table table_ name engine=引擎;
- 方法2:修改my.cnf,指定默认存储引擎并重启服务
-
default-storage-engine=InnDB
- 方法3: create table创建表时指定存储引擎
-
create table 表名 (字段) engine= 引擎
- 方法4: Mysql convert table format 转化存储引擎
-
Mysql convert table format -user=root -password=密码
-
sock=/tmp/mysql.sock-engine=引擎 库名 表名
实例
创建索引
mysql> create index index_age on info (age); ##创建普通索引
Query OK, 0 rows affected (0.02 sec)
Records: 0 Duplicates: 0 Warnings: 0mysql> show index from info; ##查看表中的索引
+-------+------------+-----------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+---------------+
| Table | Non_unique | Key_name | Seq_in_index | Column_name | Collation | Cardinality | Sub_part | Packed | Null | Index_type | Comment | Index_comment |
+-------+------------+-----------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+---------------+
| info | 0 | PRIMARY | 1 | id | A | 2 | NULL | NULL | | BTREE | | |
| info | 1 | index_age | 1 | age | A | 2 | NULL | NULL | | BTREE | | |
+-------+------------+-----------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+---------------+
2 rows in set (0.00 sec)mysql> drop index index_age on info; ##删除表中的索引
Query OK, 0 rows affected (0.01 sec)
Records: 0 Duplicates: 0 Warnings: 0mysql> show index from info; ##查看表中的索引
+-------+------------+----------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+---------------+
| Table | Non_unique | Key_name | Seq_in_index | Column_name | Collation | Cardinality | Sub_part | Packed | Null | Index_type | Comment | Index_comment |
+-------+------------+----------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+---------------+
| info | 0 | PRIMARY | 1 | id | A | 2 | NULL | NULL | | BTREE | | |
+-------+------------+----------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+---------------+
1 row in set (0.01 sec)mysql> create unique index unique_name on info (name); ##创建唯一性索引
Query OK, 0 rows affected (0.01 sec)
Records: 0 Duplicates: 0 Warnings: 0mysql> show index from info; ##查看表中索引
+-------+------------+-------------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+---------------+
| Table | Non_unique | Key_name | Seq_in_index | Column_name | Collation | Cardinality | Sub_part | Packed | Null | Index_type | Comment | Index_comment |
+-------+------------+-------------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+---------------+
| info | 0 | PRIMARY | 1 | id | A | 2 | NULL | NULL | | BTREE | | |
| info | 0 | unique_name | 1 | name | A | 2 | NULL | NULL | | BTREE | | |
+-------+------------+-------------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+---------------+
2 rows in set (0.00 sec)mysql> drop index unique_name on info; ##删除表中的索引
Query OK, 0 rows affected (0.00 sec)
Records: 0 Duplicates: 0 Warnings: 0mysql> show index from info; ##查看表中的索引
+-------+------------+----------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+---------------+
| Table | Non_unique | Key_name | Seq_in_index | Column_name | Collation | Cardinality | Sub_part | Packed | Null | Index_type | Comment | Index_comment |
+-------+------------+----------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+---------------+
| info | 0 | PRIMARY | 1 | id | A | 2 | NULL | NULL | | BTREE | | |
+-------+------------+----------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+---------------+
1 row in set (0.00 sec)mysql> alter table info add unique index index_name (name); ##使用alter插入表索引
Query OK, 0 rows affected (0.01 sec)
Records: 0 Duplicates: 0 Warnings: 0mysql> show index from info; ##查看表中的索引
+-------+------------+------------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+---------------+
| Table | Non_unique | Key_name | Seq_in_index | Column_name | Collation | Cardinality | Sub_part | Packed | Null | Index_type | Comment | Index_comment |
+-------+------------+------------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+---------------+
| info | 0 | PRIMARY | 1 | id | A | 2 | NULL | NULL | | BTREE | | |
| info | 0 | index_name | 1 | name | A | 2 | NULL | NULL | | BTREE | | |
+-------+------------+------------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+---------------+
2 rows in set (0.00 sec)
全文索引、组合索引
mysql> select * from info; ##查看表内容
+----+----------+----------+-----+
| id | name | address | age |
+----+----------+----------+-----+
| 1 | zhangsan | beijing | 20 |
| 2 | lisi | shanghai | 22 |
+----+----------+----------+-----+
2 rows in set (0.00 sec)mysql> show index from info; ##查看表的索引
+-------+------------+------------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+---------------+
| Table | Non_unique | Key_name | Seq_in_index | Column_name | Collation | Cardinality | Sub_part | Packed | Null | Index_type | Comment | Index_comment |
+-------+------------+------------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+---------------+
| info | 0 | PRIMARY | 1 | id | A | 2 | NULL | NULL | | BTREE | | |
| info | 0 | index_name | 1 | name | A | 2 | NULL | NULL | | BTREE | | |
+-------+------------+------------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+---------------+
2 rows in set (0.00 sec)mysql> create fulltext index full_addr on info (address); ##以address创建全文索引
Query OK, 0 rows affected, 1 warning (0.07 sec)
Records: 0 Duplicates: 0 Warnings: 1mysql> show index from info; ##查看表索引
+-------+------------+------------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+---------------+
| Table | Non_unique | Key_name | Seq_in_index | Column_name | Collation | Cardinality | Sub_part | Packed | Null | Index_type | Comment | Index_comment |
+-------+------------+------------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+---------------+
| info | 0 | PRIMARY | 1 | id | A | 2 | NULL | NULL | | BTREE | | |
| info | 0 | index_name | 1 | name | A | 2 | NULL | NULL | | BTREE | | |
| info | 1 | full_addr | 1 | address | NULL | 2 | NULL | NULL | YES | FULLTEXT | | |
+-------+------------+------------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+---------------+
3 rows in set (0.00 sec)mysql> select * from user; ##查看user表内容
+----+--------+-------+-------+
| id | name | score | hobby |
+----+--------+-------+-------+
| 1 | test01 | 88 | 3 |
| 2 | stu01 | 99 | 2 |
| 3 | wangwu | 77 | 3 |
+----+--------+-------+-------+
3 rows in set (0.00 sec)mysql> create index index_name_score on user (name,score); ##创建name和score的组合索引
Query OK, 0 rows affected (0.01 sec)
Records: 0 Duplicates: 0 Warnings: 0mysql> show index from user; ##查看表索引
+-------+------------+------------------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+---------------+
| Table | Non_unique | Key_name | Seq_in_index | Column_name | Collation | Cardinality | Sub_part | Packed | Null | Index_type | Comment | Index_comment |
+-------+------------+------------------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+---------------+
| user | 0 | PRIMARY | 1 | id | A | 3 | NULL | NULL | | BTREE | | |
| user | 1 | index_score | 1 | score | A | 3 | NULL | NULL | | BTREE | | |
| user | 1 | index_name_score | 1 | name | A | 3 | NULL | NULL | | BTREE | | |
| user | 1 | index_name_score | 2 | score | A | 3 | NULL | NULL | | BTREE | | |
+-------+------------+------------------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+---------------+
4 rows in set (0.00 sec)
两个表,进行关联,多表查询
mysql> create table user( ##创建user表-> id int(4) not null primary key auto_increment, ##设置主键和自动增加-> name varchar(10) not null,-> score decimal not null,-> hobby int(2) not null default '1', ##默认1-> index index_score (score)); ##设置索引score
Query OK, 0 rows affected (0.01 sec)mysql> desc user; ##查看表结构
+-------+---------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+-------+---------------+------+-----+---------+----------------+
| id | int(4) | NO | PRI | NULL | auto_increment |
| name | varchar(10) | NO | | NULL | |
| score | decimal(10,0) | NO | MUL | NULL | |
| hobby | int(2) | NO | | 1 | |
+-------+---------------+------+-----+---------+----------------+
4 rows in set (0.00 sec)mysql> insert into user (name,score,hobby) values ('test01',88,1),('stu01',99,2),('wangwu',77,3);
##向表中插入数据
Query OK, 3 rows affected (0.00 sec)
Records: 3 Duplicates: 0 Warnings: 0mysql> select * from user; ##查看表内容
+----+--------+-------+-------+
| id | name | score | hobby |
+----+--------+-------+-------+
| 1 | test01 | 88 | 1 |
| 2 | stu01 | 99 | 2 |
| 3 | wangwu | 77 | 3 |
+----+--------+-------+-------+
3 rows in set (0.00 sec)mysql> create table hob( ##创建hob表-> id int(2) not null primary key,-> hob_name varchar(10) not null);
Query OK, 0 rows affected (0.00 sec)mysql> desc hob; ##查看表结构
+----------+-------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+----------+-------------+------+-----+---------+-------+
| id | int(2) | NO | PRI | NULL | |
| hob_name | varchar(10) | NO | | NULL | |
+----------+-------------+------+-----+---------+-------+
2 rows in set (0.00 sec)mysql> insert into hob (id,hob_name) values (1,'看书'),(2,'运动'),(3,'听歌'); ##插入表数据
Query OK, 3 rows affected (0.00 sec)
Records: 3 Duplicates: 0 Warnings: 0mysql> select * from hob; ##查看表内容
+----+----------+
| id | hob_name |
+----+----------+
| 1 | 看书 |
| 2 | 运动 |
| 3 | 听歌 |
+----+----------+
3 rows in set (0.00 sec)mysql> select * from user inner join hob on user.hobby=hob.id; ##关联user和hob两张表
+----+--------+-------+-------+----+----------+
| id | name | score | hobby | id | hob_name |
+----+--------+-------+-------+----+----------+
| 1 | test01 | 88 | 1 | 1 | 看书 |
| 2 | stu01 | 99 | 2 | 2 | 运动 |
| 3 | wangwu | 77 | 3 | 3 | 听歌 |
+----+--------+-------+-------+----+----------+
3 rows in set (0.00 sec)mysql> select user.name,hob.hob_name from user inner join hob on user.hobby=hob.id;
##去除其他内容显示name和hob_name内容
+--------+----------+
| name | hob_name |
+--------+----------+
| test01 | 看书 |
| stu01 | 运动 |
| wangwu | 听歌 |
+--------+----------+
3 rows in set (0.00 sec)mysql> select u.name,h.hob_name from user u inner join hob h on u.hobby=h.id; ##设置简易名称
+--------+----------+
| name | hob_name |
+--------+----------+
| test01 | 看书 |
| stu01 | 运动 |
| wangwu | 听歌 |
+--------+----------+
3 rows in set (0.00 sec)mysql> create view view_user as select u.name,h.hob_name from user u inner join hob h on u.hobby
##创建视图
Query OK, 0 rows affected (0.00 sec)mysql> select * from view_user; ##查看视图
+--------+----------+
| name | hob_name |
+--------+----------+
| test01 | 看书 |
| stu01 | 运动 |
| wangwu | 听歌 |
+--------+----------+
3 rows in set (0.00 sec)mysql> update user set hobby=3 where name='test01'; ##修改user表中内容
Query OK, 1 row affected (0.00 sec)
Rows matched: 1 Changed: 1 Warnings: 0mysql> select * from view_user; ##查看视图,即视图就是表的一个链接
+--------+----------+
| name | hob_name |
+--------+----------+
| stu01 | 运动 |
| test01 | 听歌 |
| wangwu | 听歌 |
+--------+----------+
3 rows in set (0.00 sec)
事务实例
开启事务,往表中插入数据
mysql> select * from info; ##查看表内容数据
+----+----------+----------+-----+
| id | name | address | age |
+----+----------+----------+-----+
| 1 | zhangsan | beijing | 20 |
| 2 | lisi | shanghai | 22 |
+----+----------+----------+-----+
2 rows in set (0.00 sec)mysql> insert into info (name,address,age) values ('wangwu','hangzhou',30);##插入数据mysql> begin; ##开启事务
Query OK, 0 rows affected (0.00 sec)mysql> insert into info (name,address,age) values ('zhaoliu','hangzhou',31); ##插入数据
Query OK, 1 row affected (0.00 sec)mysql> savepoint a; ##设置保存节点a
Query OK, 0 rows affected (0.00 sec)mysql> select * from info; ##查看表数据
+----+----------+----------+-----+
| id | name | address | age |
+----+----------+----------+-----+
| 1 | zhangsan | beijing | 20 |
| 2 | lisi | shanghai | 22 |
| 3 | wangwu | hangzhou | 30 |
| 4 | zhaoliu | hangzhou | 31 |
+----+----------+----------+-----+
4 rows in set (0.00 sec)mysql> insert into info (name,address,age) values ('tianqi','hangzhou',32); ##继续插入数据
Query OK, 1 row affected (0.00 sec)mysql> savepoint b; ##设置保存节点b
Query OK, 0 rows affected (0.00 sec)mysql> insert into info (name,address,age) values ('heiba','hangzhou',32); ##继续插入数据
Query OK, 1 row affected (0.00 sec)mysql> select * from info; ##查看表内容
+----+----------+----------+-----+
| id | name | address | age |
+----+----------+----------+-----+
| 1 | zhangsan | beijing | 20 |
| 2 | lisi | shanghai | 22 |
| 3 | wangwu | hangzhou | 30 |
| 4 | zhaoliu | hangzhou | 31 |
| 5 | tianqi | hangzhou | 32 |
| 6 | heiba | hangzhou | 32 |
+----+----------+----------+-----+
6 rows in set (0.00 sec)
利用另一个终端查看是否成功插入
[root@master2 ~]# mysql -uroot -p ##进入数据库
Enter password: ##输入密码Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.mysql> use school; ##使用数据库
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -ADatabase changed
mysql> select * from info; ##查看表内容,此时并没有提交
+----+----------+----------+-----+
| id | name | address | age |
+----+----------+----------+-----+
| 1 | zhangsan | beijing | 20 |
| 2 | lisi | shanghai | 22 |
| 3 | wangwu | hangzhou | 30 |
+----+----------+----------+-----+
3 rows in set (0.00 sec)
使用回滚,返回保存的节点
mysql> rollback to b; ##利用回滚到保存节点b
Query OK, 0 rows affected (0.00 sec)mysql> select * from info; ##查看表数据
+----+----------+----------+-----+
| id | name | address | age |
+----+----------+----------+-----+
| 1 | zhangsan | beijing | 20 |
| 2 | lisi | shanghai | 22 |
| 3 | wangwu | hangzhou | 30 |
| 4 | zhaoliu | hangzhou | 31 |
| 5 | tianqi | hangzhou | 32 |
+----+----------+----------+-----+
5 rows in set (0.00 sec)mysql> rollback to a; ##回滚到保存节点a
Query OK, 0 rows affected (0.00 sec)mysql> select * from info; ##查看表数据
+----+----------+----------+-----+
| id | name | address | age |
+----+----------+----------+-----+
| 1 | zhangsan | beijing | 20 |
| 2 | lisi | shanghai | 22 |
| 3 | wangwu | hangzhou | 30 |
| 4 | zhaoliu | hangzhou | 31 |
+----+----------+----------+-----+
4 rows in set (0.00 sec)mysql> rollback; ##回滚到初始,退出事务状态
Query OK, 0 rows affected (0.00 sec)mysql> select * from info; ##查看表数据
+----+----------+----------+-----+
| id | name | address | age |
+----+----------+----------+-----+
| 1 | zhangsan | beijing | 20 |
| 2 | lisi | shanghai | 22 |
| 3 | wangwu | hangzhou | 30 |
+----+----------+----------+-----+
3 rows in set (0.00 sec)
使用commit提交事务
mysql> begin; ##开启事务
Query OK, 0 rows affected (0.00 sec)mysql> insert into info (name,address,age) values ('heiba','hangzhou',32); ##插入数据
Query OK, 1 row affected (0.00 sec)mysql> commit; ##提交事务
Query OK, 0 rows affected (0.00 sec)mysql> select * from info; ##查看表数据
+----+----------+----------+-----+
| id | name | address | age |
+----+----------+----------+-----+
| 1 | zhangsan | beijing | 20 |
| 2 | lisi | shanghai | 22 |
| 3 | wangwu | hangzhou | 30 |
| 7 | heiba | hangzhou | 32 |
+----+----------+----------+-----+
4 rows in set (0.00 sec)
使用另一个终端查看
mysql> select * from info; ##查看表数据
+----+----------+----------+-----+
| id | name | address | age |
+----+----------+----------+-----+
| 1 | zhangsan | beijing | 20 |
| 2 | lisi | shanghai | 22 |
| 3 | wangwu | hangzhou | 30 |
| 7 | heiba | hangzhou | 32 |
+----+----------+----------+-----+
4 rows in set (0.00 sec)
另一种事务的操作方式
mysql> set autocommit=0; ##设置不自动提交事务
Query OK, 0 rows affected (0.00 sec)mysql> update info set address='beijing' where name='heiba'; ##修改表数据
Query OK, 1 row affected (0.00 sec)
Rows matched: 1 Changed: 1 Warnings: 0mysql> select * from info; ##查看表信息
+----+----------+----------+-----+
| id | name | address | age |
+----+----------+----------+-----+
| 1 | zhangsan | beijing | 20 |
| 2 | lisi | shanghai | 22 |
| 3 | wangwu | hangzhou | 30 |
| 7 | heiba | beijing | 32 |
+----+----------+----------+-----+
4 rows in set (0.00 sec)##另一个终端查看
mysql> select * from info; ##查看表信息,并没有修改
+----+----------+----------+-----+
| id | name | address | age |
+----+----------+----------+-----+
| 1 | zhangsan | beijing | 20 |
| 2 | lisi | shanghai | 22 |
| 3 | wangwu | hangzhou | 30 |
| 7 | heiba | hangzhou | 32 |
+----+----------+----------+-----+
4 rows in set (0.00 sec)mysql> set autocommit=1; ##开启自动提交事务
Query OK, 0 rows affected (0.00 sec)##另一个终端查看
mysql> select * from info; ##查看表数据,此时就已经修改
+----+----------+----------+-----+
| id | name | address | age |
+----+----------+----------+-----+
| 1 | zhangsan | beijing | 20 |
| 2 | lisi | shanghai | 22 |
| 3 | wangwu | hangzhou | 30 |
| 7 | heiba | beijing | 32 |
+----+----------+----------+-----+
4 rows in set (0.00 sec)
存储引擎
查看系统默认存储引擎
mysql> show engines; ##查看默认存储引擎innodb
+--------------------+---------+----------------------------------------------------------------+--------------+------+------------+
| Engine | Support | Comment | Transactions | XA | Savepoints |
+--------------------+---------+----------------------------------------------------------------+--------------+------+------------+
| InnoDB | DEFAULT | Supports transactions, row-level locking, and foreign keys | YES | YES | YES |mysql> show create table info; ##查看创建的表的存储引擎innodb| info | CREATE TABLE "info" ("id" int(4) NOT NULL AUTO_INCREMENT,"name" varchar(10) NOT NULL,"address" varchar(50) DEFAULT 'nanjing',"age" int(3) NOT NULL,PRIMARY KEY ("id"),UNIQUE KEY "index_name" ("name"),FULLTEXT KEY "full_addr" ("address")
) ENGINE=InnoDB AUTO_INCREMENT=8 DEFAULT CHARSET=utf8
修改MySQL配置文件,设置默认的存储引擎
[root@localhost ~]# vim /etc/my.cnf ##修改配置文件[mysqld]
user = mysql
basedir = /usr/local/mysql
datadir = /usr/local/mysql/data
port = 3306
character_set_server=utf8
pid-file = /usr/local/mysql/mysql.pid
socket = /usr/local/mysql/mysql.sock
server-id = 1
default-storage-engine=Myisam ##添加默认存储引擎为Myisam[root@master2 ~]# systemctl restart mysqld.service ##重启MySQL服务
进入数据库
[root@master2 ~]# mysql -uroot -p ##进入数据库
Enter password: ##输入密码mysql> use school; ##使用数据库
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -ADatabase changed
mysql> create table a ( id int ); ##创建一个a表
Query OK, 0 rows affected (0.00 sec)mysql> show create table a; ##查看表默认的存储引擎Myisam
+-------+-------------------------------------------------------------------------------------+
| Table | Create Table |
+-------+-------------------------------------------------------------------------------------+
| a | CREATE TABLE "a" ("id" int(11) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=utf8 |
+-------+-------------------------------------------------------------------------------------+
1 row in set (0.00 sec)mysql> alter table a engine=innodb; ##修改表的存储引擎为innodb
Query OK, 0 rows affected (0.01 sec)
Records: 0 Duplicates: 0 Warnings: 0mysql> show create table a; ##查看表的存储引擎innodb
+-------+-------------------------------------------------------------------------------------+
| Table | Create Table |
+-------+-------------------------------------------------------------------------------------+
| a | CREATE TABLE "a" ("id" int(11) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8 |
+-------+-------------------------------------------------------------------------------------+
1 row in set (0.00 sec)
如若内容造成侵权/违法违规/事实不符,请联系编程学习网邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
相关文章
- Linux系统中如何添加及删除网关
Linux系统中如何添加及删除网关如何添加网关:1.临时添加网关 route add default gw x.x.x.x 临时加网关,马上生效 2.永久添加网关: vim /etc/sysconfig/network-scripts/ifcfg-eth0 GATEWAY=x.x.x.x 或者 vim /etc/rc.local .. route add default gw x.x.x.x 注意:加网关…...
2024/4/28 10:00:36 - docker 存储驱之overlayFS
一、概述docker镜像采用分层分层构建设计,每层称为"layer", layer存放在/data/docker/存储驱动/目录下面 这些存储驱动有,AUFS,OverlayFS等,可以通过docker info命令查看存储驱动,centos7.1+默认采用OverlayFS模式.二、OverlayFS介绍 OverlayFS是一种堆叠文件系统,…...
2024/4/28 14:35:38 - Centos 7搭建LVS+Keepalived高可用Web服务群集
一、LVS+Keepalived高可用群集 Keepalived的设计目标是构建高可用的LVS负载均衡群集,可以调用ipvsadm工具来创建虚拟服务器、管理服务器池,而不仅仅用作双机热备。使用Keepalived构建LVS群集更加简便易用,主要优势体现在:对LVS负载调度器实现热备切换,提高可用性;对服务器…...
2024/4/28 5:56:55 - nginx安装
1、安装环境2、创建用户3、安装依赖4、安装nginx1、安装环境CentOS Linux release 7.2.1511安装目录:/application安装方式:编译安装安装版本:nginx-1.12.12、创建用户useradd -s /sbin/nologin -M nginx3、安装依赖yum install pcre pcre-devel openssl openssl-devel -y4、…...
2024/4/24 8:19:06 - REEL7本地源配置CentOS也兼容
一,废话不多说,这个挺简单的,准备好当前系统版本的镜像1.第一步,挂载镜像,右击光盘,点击链接,然后挂载镜像,VMware镜像存在/devcdrom下mount /dev/cdrom /mnt将系统文件挂载到/mnt下2.yum源放在/etc/yum.repsd下面,接下来我们进入这个目录cd /etc/yum.repos.d/进入后我…...
2024/4/28 13:07:05 - 通过python封装zabbix-api批量修改模板中触发器名称
# -*- coding: utf-8 -*- import json,re import urllib.request, urllib.error, urllib.parse class ZabbixAPI:# 初始化def __init__(self):self.__url = http://192.168.74.133/api_jsonrpc.phpself.__user = adminself.__password = zabbixself.__header = {"Content-…...
2024/4/16 15:57:55 - elasticdump 迁移 elasticsearch 数据
elasticdump 迁移 elasticsearch 数据elasticdump github地址 https://github.com/taskrabbit/elasticsearch-dump 折腾了一会nodejs耐心尽失,果断使用docker方式。 1、下载docker镜像 拉取镜像 docker pull taskrabbit/elasticsearch-dump 2、导出数据 如果将数据导出为文件…...
2024/4/16 15:58:05 - Zbbix4.0(二)基础主机监控,添加触发器,使用模板,管理用户组等
Zabbix主机添加顺序:添加主机组 ---->添加主机----->根据监控项目可添加图形或者触发器1,添加主机组2,添加主机##注意添加进刚才创建的组,和主机的IP 地址 根据接口支持多种添加方式:agent:zabbix提供一个agent客户端,可装在Linux、Windows等snmp:使用snmp协议去监…...
2024/4/28 8:32:16 - Redis5.0.7群集搭建(最新版实战!!!)
实验环境两台Centos 7虚拟机,均添加三块网卡用以模拟六台服务器实景 服务器角色 IP地址主节点M1 192.168.142.130主节点M2 192.168.142.145主节点M3 192.168.142.146从节点S1 192.168.142.143从节点S2 192.168.142.147从节点S3 192.168.142.148实验步骤 第一步:安装Redis #安装…...
2024/4/28 14:55:28 - (13)ceph osd down定位服务器slot
(1)找到可用硬盘#blkid /dev/mapper/centos-root: UUID="903b5955-0ba9-4d76-8cb1-5b9e9d6eb9f2" TYPE="xfs" /dev/sda2: UUID="s61Ldp-VAaR-MwLR-8fa5-wFbQ-ln6l-VZsbkb" TYPE="LVM2_member" /dev/sda1: UUID="1676224e-9c9f…...
2024/4/28 1:45:32 - elk学习笔记-es-文档及索引操作
常见术语 文档 Document用户存储在es中的数据文档,相当于mysql数据表中的一行数据索引 index由具有相同字段的文档列表组成,相当于mysql数据库中的表,table节点 Node一个elasticsearch 的运行实例,是集群的构成单元。集群 Cluster由一个或多个节点组成,对外提供服务Docume…...
2024/4/28 0:12:02 - OpenLDAP高可用架构实战
基础环境主机名IP地址备注node201172.20.20.201node202172.20.20.202 说明:这里均是root用户操作1、基础环境、LDAP、phpLDAPAdmin 部署(2台均部署) 注意事项: a.在两台都配置hosts cat >> /etc/hosts << EOF 172.20.20.201 node201.com www.node201.com …...
2024/4/26 16:21:27 - 搭建办公环境ElasticSearch 日志分析系统
搭建办公环境ElasticSearch 日志分析系统 计划将公司的防火墙+交换机+服务器(centos7)+ Vmware+Windows server纳入到监控范围,所以开启了ELK监控之旅。 本文采用ELK架构栈进行组建,万丈高楼平地起,虽然开始比较简陋,后期会不断完善这个日志分…...
2024/4/19 12:11:29 - Linux修改服务器时间修改orcale数据库时间
#修改linux数据库时间修改linux主机系统时间并同步给硬件时间,一般情况下是先系统再刷到硬件,可以从NTP时间服务器同步后再同步给hwclockdate -s "2019-12-31 11:54:56" && hwclock --systohc 修改orcale数据库时间 (1) 以oracle身份登录数据库,命令:s…...
2024/4/24 8:19:04 - 安装单docker 简单使用命令
1. 安装 yum install -y epel-release #安装epel源yum install -y docker # 安装docker 容器docker version # 查看docker的版本号,包括客户端、服务端、依赖的Go等docker info # 查看系统(docker)层面信息,包括管理的images, containers数等 doc…...
2024/4/24 8:19:03 - 如何使用 Dockerfile自定义镜像?
开始之前 之前在隔壁专题(公众号出门左转 Nginx专题) 推送过一篇文章 Nginx 缓存服务器(番外)定制Docker镜像 我们将 ngx_cache_purge模块添加到自定义的 Nginx镜像中,避免每次创建容器后再次安装 ngx_cache_purge模块这个繁琐的步骤。 今天使用一个 Java项目的示例,介绍下如…...
2024/4/24 8:19:03 - CentOS 7.7 yum方式安装配置Zabbix 4.0 LTS详解(十)
十二、自动发现和自动注册:1、演示环境: IP 操作系统 主机名 角色192.168.0.120CentOS 7.7 x86_64zabbix-serverZabbix Database、Zabbix Server、Zabbix Web、Zabbix Agent192.168.0.121CentOS 7.7 x86_64node-121Zabbix Agent19…...
2024/4/24 8:19:01 - Linux主机初始化时间
一、调整时区方法1、使用命令tzselect,命令生成的TZ=Asia/Shanghai; export TZ写入到/etc/profile,并source /etc/profile.方法2、查看当前时区设置 ll /etc/localtime调整为上海 timedatectl set-timezone Asia/Shanghai调整时区后重启下cron systemctl restart crond.servi…...
2024/4/24 8:19:02 - 部署Oracle 12c数据库
博文结构Oracle的手动安装过程启动,关闭Oracle数据库一 .Oracle数据库概述 Oracle Database,又名Oracle RDBMS,或简称Oracle。是甲骨文公司的一款关系数据库管理系统。它是在数据库领域一直处于领先地位的产品。可以说Oracle数据库系统是目前世界上流行的关系数据库管理系统…...
2024/4/24 8:19:00 - Centos7 zabbix4.0安装
Centos7 zabbix4.0安装rpm -Uvh https://repo.zabbix.com/zabbix/4.0/rhel/7/x86_64/zabbix-release-4.0-2.el7.noarch.rpm yum clean all2.yum install zabbix-server-mysql zabbix-web-mysql zabbix-agent3.yum groupinstall -y mariadb4.systemctl start mariadb5.mysql&g…...
2024/4/24 8:19:00
最新文章
- ICCV 2021 | FcaNet: Frequency Channel Attention Networks 中的频率分析
ICCV 2021 | FcaNet: Frequency Channel Attention Networks 中的频率分析 论文:https://arxiv.org/abs/2012.11879代码:https://github.com/cfzd/FcaNet 文章是围绕 2D 的 DCT 进行展开的,本文针对具体的计算逻辑进行梳理和解析。 f ( u ,…...
2024/4/28 15:09:18 - 梯度消失和梯度爆炸的一些处理方法
在这里是记录一下梯度消失或梯度爆炸的一些处理技巧。全当学习总结了如有错误还请留言,在此感激不尽。 权重和梯度的更新公式如下: w w − η ⋅ ∇ w w w - \eta \cdot \nabla w ww−η⋅∇w 个人通俗的理解梯度消失就是网络模型在反向求导的时候出…...
2024/3/20 10:50:27 - uniapp原生下拉刷新在手机上不起作用
开启原生下拉刷新时,页面里使用了全屏高的scroll-view,向下拖动内容时,会优先触发scroll-view滚动而不是下拉刷新。 "enablePullDownRefresh": true, 这就可能会导致下拉刷新不起作用,这时候就需要做到取舍,…...
2024/4/27 8:49:19 - 解决前端性能瓶颈:高效处理大量数据渲染与复杂交互的策略与优化方法
✨✨祝屏幕前的小伙伴们每天都有好运相伴左右,一定要天天开心!✨✨ 🎈🎈作者主页: 喔的嘛呀🎈🎈 目录 引言 一、分页加载数据 二、虚拟滚动 三、懒加载 四、数据缓存 五、减少重绘和回流 …...
2024/4/25 14:28:35 - 云计算概述报告
以下是一篇论述类文章 文章目录 I. 云计算介绍(1)云计算基本概念(2)云计算基本特征 II. 云计算发展历程(1)云计算的起源(2)云计算的发展阶段 III. 云计算特点(1ÿ…...
2024/4/24 0:43:43 - 【外汇早评】美通胀数据走低,美元调整
原标题:【外汇早评】美通胀数据走低,美元调整昨日美国方面公布了新一期的核心PCE物价指数数据,同比增长1.6%,低于前值和预期值的1.7%,距离美联储的通胀目标2%继续走低,通胀压力较低,且此前美国一季度GDP初值中的消费部分下滑明显,因此市场对美联储后续更可能降息的政策…...
2024/4/28 13:52:11 - 【原油贵金属周评】原油多头拥挤,价格调整
原标题:【原油贵金属周评】原油多头拥挤,价格调整本周国际劳动节,我们喜迎四天假期,但是整个金融市场确实流动性充沛,大事频发,各个商品波动剧烈。美国方面,在本周四凌晨公布5月份的利率决议和新闻发布会,维持联邦基金利率在2.25%-2.50%不变,符合市场预期。同时美联储…...
2024/4/28 3:28:32 - 【外汇周评】靓丽非农不及疲软通胀影响
原标题:【外汇周评】靓丽非农不及疲软通胀影响在刚结束的周五,美国方面公布了新一期的非农就业数据,大幅好于前值和预期,新增就业重新回到20万以上。具体数据: 美国4月非农就业人口变动 26.3万人,预期 19万人,前值 19.6万人。 美国4月失业率 3.6%,预期 3.8%,前值 3…...
2024/4/26 23:05:52 - 【原油贵金属早评】库存继续增加,油价收跌
原标题:【原油贵金属早评】库存继续增加,油价收跌周三清晨公布美国当周API原油库存数据,上周原油库存增加281万桶至4.692亿桶,增幅超过预期的74.4万桶。且有消息人士称,沙特阿美据悉将于6月向亚洲炼油厂额外出售更多原油,印度炼油商预计将每日获得至多20万桶的额外原油供…...
2024/4/28 13:51:37 - 【外汇早评】日本央行会议纪要不改日元强势
原标题:【外汇早评】日本央行会议纪要不改日元强势近两日日元大幅走强与近期市场风险情绪上升,避险资金回流日元有关,也与前一段时间的美日贸易谈判给日本缓冲期,日本方面对汇率问题也避免继续贬值有关。虽然今日早间日本央行公布的利率会议纪要仍然是支持宽松政策,但这符…...
2024/4/27 17:58:04 - 【原油贵金属早评】欧佩克稳定市场,填补伊朗问题的影响
原标题:【原油贵金属早评】欧佩克稳定市场,填补伊朗问题的影响近日伊朗局势升温,导致市场担忧影响原油供给,油价试图反弹。此时OPEC表态稳定市场。据消息人士透露,沙特6月石油出口料将低于700万桶/日,沙特已经收到石油消费国提出的6月份扩大出口的“适度要求”,沙特将满…...
2024/4/27 14:22:49 - 【外汇早评】美欲与伊朗重谈协议
原标题:【外汇早评】美欲与伊朗重谈协议美国对伊朗的制裁遭到伊朗的抗议,昨日伊朗方面提出将部分退出伊核协议。而此行为又遭到欧洲方面对伊朗的谴责和警告,伊朗外长昨日回应称,欧洲国家履行它们的义务,伊核协议就能保证存续。据传闻伊朗的导弹已经对准了以色列和美国的航…...
2024/4/28 1:28:33 - 【原油贵金属早评】波动率飙升,市场情绪动荡
原标题:【原油贵金属早评】波动率飙升,市场情绪动荡因中美贸易谈判不安情绪影响,金融市场各资产品种出现明显的波动。随着美国与中方开启第十一轮谈判之际,美国按照既定计划向中国2000亿商品征收25%的关税,市场情绪有所平复,已经开始接受这一事实。虽然波动率-恐慌指数VI…...
2024/4/27 9:01:45 - 【原油贵金属周评】伊朗局势升温,黄金多头跃跃欲试
原标题:【原油贵金属周评】伊朗局势升温,黄金多头跃跃欲试美国和伊朗的局势继续升温,市场风险情绪上升,避险黄金有向上突破阻力的迹象。原油方面稍显平稳,近期美国和OPEC加大供给及市场需求回落的影响,伊朗局势并未推升油价走强。近期中美贸易谈判摩擦再度升级,美国对中…...
2024/4/27 17:59:30 - 【原油贵金属早评】市场情绪继续恶化,黄金上破
原标题:【原油贵金属早评】市场情绪继续恶化,黄金上破周初中国针对于美国加征关税的进行的反制措施引发市场情绪的大幅波动,人民币汇率出现大幅的贬值动能,金融市场受到非常明显的冲击。尤其是波动率起来之后,对于股市的表现尤其不安。隔夜美国股市出现明显的下行走势,这…...
2024/4/25 18:39:16 - 【外汇早评】美伊僵持,风险情绪继续升温
原标题:【外汇早评】美伊僵持,风险情绪继续升温昨日沙特两艘油轮再次发生爆炸事件,导致波斯湾局势进一步恶化,市场担忧美伊可能会出现摩擦生火,避险品种获得支撑,黄金和日元大幅走强。美指受中美贸易问题影响而在低位震荡。继5月12日,四艘商船在阿联酋领海附近的阿曼湾、…...
2024/4/28 1:34:08 - 【原油贵金属早评】贸易冲突导致需求低迷,油价弱势
原标题:【原油贵金属早评】贸易冲突导致需求低迷,油价弱势近日虽然伊朗局势升温,中东地区几起油船被袭击事件影响,但油价并未走高,而是出于调整结构中。由于市场预期局势失控的可能性较低,而中美贸易问题导致的全球经济衰退风险更大,需求会持续低迷,因此油价调整压力较…...
2024/4/26 19:03:37 - 氧生福地 玩美北湖(上)——为时光守候两千年
原标题:氧生福地 玩美北湖(上)——为时光守候两千年一次说走就走的旅行,只有一张高铁票的距离~ 所以,湖南郴州,我来了~ 从广州南站出发,一个半小时就到达郴州西站了。在动车上,同时改票的南风兄和我居然被分到了一个车厢,所以一路非常愉快地聊了过来。 挺好,最起…...
2024/4/28 1:22:35 - 氧生福地 玩美北湖(中)——永春梯田里的美与鲜
原标题:氧生福地 玩美北湖(中)——永春梯田里的美与鲜一觉醒来,因为大家太爱“美”照,在柳毅山庄去寻找龙女而错过了早餐时间。近十点,向导坏坏还是带着饥肠辘辘的我们去吃郴州最富有盛名的“鱼头粉”。说这是“十二分推荐”,到郴州必吃的美食之一。 哇塞!那个味美香甜…...
2024/4/25 18:39:14 - 氧生福地 玩美北湖(下)——奔跑吧骚年!
原标题:氧生福地 玩美北湖(下)——奔跑吧骚年!让我们红尘做伴 活得潇潇洒洒 策马奔腾共享人世繁华 对酒当歌唱出心中喜悦 轰轰烈烈把握青春年华 让我们红尘做伴 活得潇潇洒洒 策马奔腾共享人世繁华 对酒当歌唱出心中喜悦 轰轰烈烈把握青春年华 啊……啊……啊 两…...
2024/4/26 23:04:58 - 扒开伪装医用面膜,翻六倍价格宰客,小姐姐注意了!
原标题:扒开伪装医用面膜,翻六倍价格宰客,小姐姐注意了!扒开伪装医用面膜,翻六倍价格宰客!当行业里的某一品项火爆了,就会有很多商家蹭热度,装逼忽悠,最近火爆朋友圈的医用面膜,被沾上了污点,到底怎么回事呢? “比普通面膜安全、效果好!痘痘、痘印、敏感肌都能用…...
2024/4/27 23:24:42 - 「发现」铁皮石斛仙草之神奇功效用于医用面膜
原标题:「发现」铁皮石斛仙草之神奇功效用于医用面膜丽彦妆铁皮石斛医用面膜|石斛多糖无菌修护补水贴19大优势: 1、铁皮石斛:自唐宋以来,一直被列为皇室贡品,铁皮石斛生于海拔1600米的悬崖峭壁之上,繁殖力差,产量极低,所以古代仅供皇室、贵族享用 2、铁皮石斛自古民间…...
2024/4/28 5:48:52 - 丽彦妆\医用面膜\冷敷贴轻奢医学护肤引导者
原标题:丽彦妆\医用面膜\冷敷贴轻奢医学护肤引导者【公司简介】 广州华彬企业隶属香港华彬集团有限公司,专注美业21年,其旗下品牌: 「圣茵美」私密荷尔蒙抗衰,产后修复 「圣仪轩」私密荷尔蒙抗衰,产后修复 「花茵莳」私密荷尔蒙抗衰,产后修复 「丽彦妆」专注医学护…...
2024/4/26 19:46:12 - 广州械字号面膜生产厂家OEM/ODM4项须知!
原标题:广州械字号面膜生产厂家OEM/ODM4项须知!广州械字号面膜生产厂家OEM/ODM流程及注意事项解读: 械字号医用面膜,其实在我国并没有严格的定义,通常我们说的医美面膜指的应该是一种「医用敷料」,也就是说,医用面膜其实算作「医疗器械」的一种,又称「医用冷敷贴」。 …...
2024/4/27 11:43:08 - 械字号医用眼膜缓解用眼过度到底有无作用?
原标题:械字号医用眼膜缓解用眼过度到底有无作用?医用眼膜/械字号眼膜/医用冷敷眼贴 凝胶层为亲水高分子材料,含70%以上的水分。体表皮肤温度传导到本产品的凝胶层,热量被凝胶内水分子吸收,通过水分的蒸发带走大量的热量,可迅速地降低体表皮肤局部温度,减轻局部皮肤的灼…...
2024/4/27 8:32:30 - 配置失败还原请勿关闭计算机,电脑开机屏幕上面显示,配置失败还原更改 请勿关闭计算机 开不了机 这个问题怎么办...
解析如下:1、长按电脑电源键直至关机,然后再按一次电源健重启电脑,按F8健进入安全模式2、安全模式下进入Windows系统桌面后,按住“winR”打开运行窗口,输入“services.msc”打开服务设置3、在服务界面,选中…...
2022/11/19 21:17:18 - 错误使用 reshape要执行 RESHAPE,请勿更改元素数目。
%读入6幅图像(每一幅图像的大小是564*564) f1 imread(WashingtonDC_Band1_564.tif); subplot(3,2,1),imshow(f1); f2 imread(WashingtonDC_Band2_564.tif); subplot(3,2,2),imshow(f2); f3 imread(WashingtonDC_Band3_564.tif); subplot(3,2,3),imsho…...
2022/11/19 21:17:16 - 配置 已完成 请勿关闭计算机,win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机...
win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机”问题的解决方法在win7系统关机时如果有升级系统的或者其他需要会直接进入一个 等待界面,在等待界面中我们需要等待操作结束才能关机,虽然这比较麻烦,但是对系统进行配置和升级…...
2022/11/19 21:17:15 - 台式电脑显示配置100%请勿关闭计算机,“准备配置windows 请勿关闭计算机”的解决方法...
有不少用户在重装Win7系统或更新系统后会遇到“准备配置windows,请勿关闭计算机”的提示,要过很久才能进入系统,有的用户甚至几个小时也无法进入,下面就教大家这个问题的解决方法。第一种方法:我们首先在左下角的“开始…...
2022/11/19 21:17:14 - win7 正在配置 请勿关闭计算机,怎么办Win7开机显示正在配置Windows Update请勿关机...
置信有很多用户都跟小编一样遇到过这样的问题,电脑时发现开机屏幕显现“正在配置Windows Update,请勿关机”(如下图所示),而且还需求等大约5分钟才干进入系统。这是怎样回事呢?一切都是正常操作的,为什么开时机呈现“正…...
2022/11/19 21:17:13 - 准备配置windows 请勿关闭计算机 蓝屏,Win7开机总是出现提示“配置Windows请勿关机”...
Win7系统开机启动时总是出现“配置Windows请勿关机”的提示,没过几秒后电脑自动重启,每次开机都这样无法进入系统,此时碰到这种现象的用户就可以使用以下5种方法解决问题。方法一:开机按下F8,在出现的Windows高级启动选…...
2022/11/19 21:17:12 - 准备windows请勿关闭计算机要多久,windows10系统提示正在准备windows请勿关闭计算机怎么办...
有不少windows10系统用户反映说碰到这样一个情况,就是电脑提示正在准备windows请勿关闭计算机,碰到这样的问题该怎么解决呢,现在小编就给大家分享一下windows10系统提示正在准备windows请勿关闭计算机的具体第一种方法:1、2、依次…...
2022/11/19 21:17:11 - 配置 已完成 请勿关闭计算机,win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机”的解决方法...
今天和大家分享一下win7系统重装了Win7旗舰版系统后,每次关机的时候桌面上都会显示一个“配置Windows Update的界面,提示请勿关闭计算机”,每次停留好几分钟才能正常关机,导致什么情况引起的呢?出现配置Windows Update…...
2022/11/19 21:17:10 - 电脑桌面一直是清理请关闭计算机,windows7一直卡在清理 请勿关闭计算机-win7清理请勿关机,win7配置更新35%不动...
只能是等着,别无他法。说是卡着如果你看硬盘灯应该在读写。如果从 Win 10 无法正常回滚,只能是考虑备份数据后重装系统了。解决来方案一:管理员运行cmd:net stop WuAuServcd %windir%ren SoftwareDistribution SDoldnet start WuA…...
2022/11/19 21:17:09 - 计算机配置更新不起,电脑提示“配置Windows Update请勿关闭计算机”怎么办?
原标题:电脑提示“配置Windows Update请勿关闭计算机”怎么办?win7系统中在开机与关闭的时候总是显示“配置windows update请勿关闭计算机”相信有不少朋友都曾遇到过一次两次还能忍但经常遇到就叫人感到心烦了遇到这种问题怎么办呢?一般的方…...
2022/11/19 21:17:08 - 计算机正在配置无法关机,关机提示 windows7 正在配置windows 请勿关闭计算机 ,然后等了一晚上也没有关掉。现在电脑无法正常关机...
关机提示 windows7 正在配置windows 请勿关闭计算机 ,然后等了一晚上也没有关掉。现在电脑无法正常关机以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!关机提示 windows7 正在配…...
2022/11/19 21:17:05 - 钉钉提示请勿通过开发者调试模式_钉钉请勿通过开发者调试模式是真的吗好不好用...
钉钉请勿通过开发者调试模式是真的吗好不好用 更新时间:2020-04-20 22:24:19 浏览次数:729次 区域: 南阳 > 卧龙 列举网提醒您:为保障您的权益,请不要提前支付任何费用! 虚拟位置外设器!!轨迹模拟&虚拟位置外设神器 专业用于:钉钉,外勤365,红圈通,企业微信和…...
2022/11/19 21:17:05 - 配置失败还原请勿关闭计算机怎么办,win7系统出现“配置windows update失败 还原更改 请勿关闭计算机”,长时间没反应,无法进入系统的解决方案...
前几天班里有位学生电脑(windows 7系统)出问题了,具体表现是开机时一直停留在“配置windows update失败 还原更改 请勿关闭计算机”这个界面,长时间没反应,无法进入系统。这个问题原来帮其他同学也解决过,网上搜了不少资料&#x…...
2022/11/19 21:17:04 - 一个电脑无法关闭计算机你应该怎么办,电脑显示“清理请勿关闭计算机”怎么办?...
本文为你提供了3个有效解决电脑显示“清理请勿关闭计算机”问题的方法,并在最后教给你1种保护系统安全的好方法,一起来看看!电脑出现“清理请勿关闭计算机”在Windows 7(SP1)和Windows Server 2008 R2 SP1中,添加了1个新功能在“磁…...
2022/11/19 21:17:03 - 请勿关闭计算机还原更改要多久,电脑显示:配置windows更新失败,正在还原更改,请勿关闭计算机怎么办...
许多用户在长期不使用电脑的时候,开启电脑发现电脑显示:配置windows更新失败,正在还原更改,请勿关闭计算机。。.这要怎么办呢?下面小编就带着大家一起看看吧!如果能够正常进入系统,建议您暂时移…...
2022/11/19 21:17:02 - 还原更改请勿关闭计算机 要多久,配置windows update失败 还原更改 请勿关闭计算机,电脑开机后一直显示以...
配置windows update失败 还原更改 请勿关闭计算机,电脑开机后一直显示以以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!配置windows update失败 还原更改 请勿关闭计算机&#x…...
2022/11/19 21:17:01 - 电脑配置中请勿关闭计算机怎么办,准备配置windows请勿关闭计算机一直显示怎么办【图解】...
不知道大家有没有遇到过这样的一个问题,就是我们的win7系统在关机的时候,总是喜欢显示“准备配置windows,请勿关机”这样的一个页面,没有什么大碍,但是如果一直等着的话就要两个小时甚至更久都关不了机,非常…...
2022/11/19 21:17:00 - 正在准备配置请勿关闭计算机,正在准备配置windows请勿关闭计算机时间长了解决教程...
当电脑出现正在准备配置windows请勿关闭计算机时,一般是您正对windows进行升级,但是这个要是长时间没有反应,我们不能再傻等下去了。可能是电脑出了别的问题了,来看看教程的说法。正在准备配置windows请勿关闭计算机时间长了方法一…...
2022/11/19 21:16:59 - 配置失败还原请勿关闭计算机,配置Windows Update失败,还原更改请勿关闭计算机...
我们使用电脑的过程中有时会遇到这种情况,当我们打开电脑之后,发现一直停留在一个界面:“配置Windows Update失败,还原更改请勿关闭计算机”,等了许久还是无法进入系统。如果我们遇到此类问题应该如何解决呢࿰…...
2022/11/19 21:16:58 - 如何在iPhone上关闭“请勿打扰”
Apple’s “Do Not Disturb While Driving” is a potentially lifesaving iPhone feature, but it doesn’t always turn on automatically at the appropriate time. For example, you might be a passenger in a moving car, but your iPhone may think you’re the one dri…...
2022/11/19 21:16:57