当前位置: 首页 > news >正文

江苏品牌网站建设电话河北定制网站建设产业

江苏品牌网站建设电话,河北定制网站建设产业,ftp网站模板,安卓开发需要学什么黑马程序员 MySQL数据库入门到精通——进阶篇#xff08;3#xff09; 1. 锁1.1 锁-介绍1.2 锁-全局锁1.3 锁-表级锁1.3.1 表级锁-表锁1.3.2 表级锁元数据锁( meta data lock#xff0c;MDL)1.3.3 表级锁-意向锁1.3.4 表级锁意向锁测试 1.4 锁-行级锁1.4.1 行级锁-行锁1.4.2… 黑马程序员 MySQL数据库入门到精通——进阶篇3 1. 锁1.1 锁-介绍1.2 锁-全局锁1.3 锁-表级锁1.3.1 表级锁-表锁1.3.2 表级锁元数据锁( meta data lockMDL)1.3.3 表级锁-意向锁1.3.4 表级锁意向锁测试 1.4 锁-行级锁1.4.1 行级锁-行锁1.4.2 行级锁-间隙锁临键锁11.4.3 行级锁-间隙锁临键锁2 2. InnoDB引擎2.1 逻辑存储结构2.2 架构2.2.1 内存结构12.2.2 内存结构22.2.3 磁盘结构2.2.4 后台线程 2.3 事务原理2.3.1 redo log持久性2.3.2 undo log原子性 2.4 MVCC2.4.1 隐藏字段2.4.2 undo log版本链2.4.3 readview介绍2.4.4 原理分析RC级别2.4.5 原理分析RR级别 3. MySQL管理(了解)3.1 MySQL管理-系统数据库介绍3.2 MySQL管理-常用工具3.2.1 mysql3.2.2 mysqladmin3.2.3 mysqlbinlog3.2.4 mysqlshow3.2.5 mysqldump3.2.6 mysqlimport/source 3.3 MySQL管理-小结 1. 锁 1.1 锁-介绍 锁是计算机协调多个进程或线程并发访问某一资源的机制。 在数据库中除传统的计算资源(CPU、RAM、I/O) 的争用以外数据也是一种供许多用户共享的资源。如何保证数据并发访问的一致性、有效性是所有数据库必须解决的一个问题锁冲突也是影响数据库并发访问性能的一个重要因素。从这个角度来说锁对数据库而言显得尤其重要也更加复杂。 MySQL中的锁按照锁的力度分分为以下三类: 全局锁锁定数据库中的所有表。表级锁每次操作锁住整张表。行级锁每次操作锁住对应的行数据。 1.2 锁-全局锁 全局锁就是对整个数据库实例加锁加锁后整个实例就处于只读状态后续的DML的写语句DDL语句已经更新操作的事务提交语句都将被阻塞。 其典型的使用场景是做全库的逻辑备份,对所有的表进行锁定从而获取一致性视图保证数据的完整性。 一致性数据备份 flush tables with read lock; mysqldump -uroot -p1234 itcastitcast.sql换成自己的用户名与密码 unlock tables; 特点 数据库中加全局锁是一一个比较重的操作存在以下问题: 如果在主库上备份,那么在备份期间都不能执行更新业务基本.上就得停摆。如果在从库 上备份那么在备份期间从库不能执行主库同步过来的二进制日志(binlog) 会导致主从延迟。 在InnoDB引擎中我们可以在备份时加上参数–single-transaction参数来完成不加锁的-致性数据备份。 mysqldump --single-transaction -uroot -p123456 itcastitcast.sql 1.3 锁-表级锁 表级锁每次操作锁住整张表。锁定粒度大发生锁冲突的概率最高并发度最低。应用在MyISAM、 InnoDB、BDB等存储引擎中。 对于表级锁主要分为以下三类 表锁元数据锁( meta data lock, MDL)意向锁 1.3.1 表级锁-表锁 对于表锁分为两类 表共享读锁(read lock)当前客户端是可读可写的其他客户端不会阻塞读但是会阻塞其他客户端的写表独占写锁(write ldek)当前客户端是可读可写的其他客户端不会阻塞写不会阻塞其他客户端的读 语法: 加锁 lock tables表名…read/write。释放锁 unlock tables / 客户端断开连接。 1.3.2 表级锁元数据锁( meta data lockMDL) MDL加锁过程是系统自动控制无需显式使用在访问一张表的时候会自动加上。 MDL锁主要作用是维护表元数据的数据一致性在表上有活动事务的时候不可以对元数据进行写入操作。 为了避免DML与RDL冲突保证读写的正确性。 在MySQL5.5中引入了MDL当对一张表 进行增删改查的时候,加MDL读锁(共享);当对表结构进行变更操作的时候加MDL写锁(排他)。 对应SQL锁类型说明lock tables xxx read / writeSHARED_READ_ONLY / SHARED NO_READ_WRITEselect、select … lock in share modeSHARED_READ共享读锁与SHARED_READ、SHARED WRITE兼容与EXCLUSIVE互斥insert、update、 delete、 select … for updateSHARED_WRITE与SHARED_READ、SHARED_WRITE兼容 与EXCLUSIVE互斥alter table …EXCLUSIVE排他锁与其他的MDL都互斥 查看元数据锁: select object_type,object_schema,object_name,lock_type,lock_duration from performance_schema.metadata_locks ; 1.3.3 表级锁-意向锁 为了避免DML在执行时加的行锁与表锁的冲突,在InnoDB中引入了意向锁使得表锁不用检查每行数据是否加锁使用意向锁来减少表锁的检查。 意向共享锁(IS)由语句select … lock in share mode添加。意向排他锁 (IX)由insert、 update、delete、 select … for update添加。 可以通过以下SQL,查看意向锁及行锁的加锁情况: select object_schema,object_name,index_name,lock_type,lock_mode,lock_data from performance_schema.data_locks; 1.3.4 表级锁意向锁测试 1.4 锁-行级锁 行级锁每次操作锁住对应的行数据。锁定粒度最小发生锁冲突的概率最低并发度最高。应用在InnoDB存储引擎中。 InnoDB的数据是基于索引组织的行锁是通过对索引上的索引项加锁来实现的而不是对记录加的锁。对于行级锁主要分为以下三类 行锁(Record Lock) 锁定单个行记录的锁,防止其他事务对此行进行update和delete。在RC、RR隔离级别下都支持。 间隙锁(Gap Lock) 锁定索引记录间隙(不含该记录)确保索引记录间隙不变,防止其他事务在这个间隙进行insert,产生幻读。在RR隔离级别下都支持。 临键锁(Next-Key Lock) 行锁和间隙锁组合同时锁住数据并锁住数据前面的间隙Gap。在RR隔离级别下支持。 1.4.1 行级锁-行锁 InnoDB实现了以下两种类型的行锁: 共享锁(S) :允许一个事务去读一行阻止其他事务获得相同数据集的排它锁。排他锁 (X) :允许获取排他锁的事务更新数据阻止其他事务获得相同数据集的共享锁和排他锁。 SQL行锁类型说明INSERT …排他锁自动加锁UPDATE …排他锁自动加锁DELETE …排他锁自动加锁SELECT (正常)不加任何锁SELECT … LOCK IN SHARE MODE共享锁需要手动在SELECT之后加LOCK IN SHARE MODESELECT … FOR UPDATE排他锁需要手动在SELECT之后加FOR UPDATE 行锁-演示 默认情况下InnoDB在REPEATABLE READ事务隔离级别运行InnoDB使用next-key锁进行搜索和索引扫描以防止幻读。 针对唯一索引进行检索时对已存在的记录进行等值匹配时将会自动优化为行锁。InnoDB的行锁是针对于索引加的锁不通过索引条件检索数据那么InnoDB将对表中的所有记录加锁此时就会升级为表锁。 mysql show databases; -------------------- | Database | -------------------- | information_schema | | mybatis | | mysql | | performance_schema | | sakila | | sys | | test | | tlias | | world | -------------------- 9 rows in set (0.00 sec)mysql use test Database changed mysql select * from stu; ---------------- | id | age | name | ---------------- | 1 | 1 | tom | | 3 | 3 | cat | | 8 | 8 | rose | | 11 | 11 | jetty | | 19 | 19 | lily | | 25 | 25 | luci | ---------------- 6 rows in set (0.00 sec)mysql可以通过以下SQL查看意向锁及行锁的加锁情况: select object_schema,object_name,index_name,lock_type,lock_mode,lock_data from performance_schema.data_locks; mysql select * from stu where id 1; --------------- | id | age | name | --------------- | 1 | 1 | tom | --------------- 1 row in set (0.00 sec)mysql select object_schema,object_name,index_name,lock_type,lock_mode,lock_data from performance_schema.data_locks; Empty set (0.00 sec)T1 mysql begin; Query OK, 0 rows affected (0.00 sec)mysql select * from stu where id 1 lock in share mode; --------------- | id | age | name | --------------- | 1 | 1 | tom | --------------- 1 row in set (0.00 sec) T2 mysql use test; Database changed mysql select object_schema,object_name,index_name,lock_type,lock_mode,lock_data from performance_schema.data_locks; Empty set (0.00 sec)mysql select object_schema,object_name,index_name,lock_type,lock_mode,lock_data from performance_schema.data_locks; ----------------------------------------------------------------------------- | object_schema | object_name | index_name | lock_type | lock_mode | lock_data | ----------------------------------------------------------------------------- | test | stu | NULL | TABLE | IS | NULL | | test | stu | PRIMARY | RECORD | S,REC_NOT_GAP | 1 | ----------------------------------------------------------------------------- 2 rows in set (0.00 sec)1.4.2 行级锁-间隙锁临键锁1 间隙锁/临键锁-演示 默认情况下InnoDB在REPEATABLE READ事务隔离级别运行InnoDB使用next-key锁进行搜索和索引扫描以防止幻读。 索引上的等值查询(唯一索引)给不存在的记录加锁时优化为间隙锁。索引上的等值查询(普通索引)向右遍历时最后一个值不满足查询需求时next-key lock退化为间隙锁。索引上的范围查询(唯一 索引)——会访问到不满足条件的第一个值为止。 注意间隙锁唯一目的是防止其他事务插入间隙。间隙锁可以共存一个事务采用的间隙锁不会阻止另一个事务在同一间隙上采用间隙锁。 T1 mysql select * from stu; ---------------- | id | age | name | ---------------- | 1 | 1 | tom | | 3 | 3 | cat | | 8 | 8 | rose | | 11 | 11 | jetty | | 19 | 19 | lily | | 25 | 25 | luci | ---------------- 6 rows in set (0.00 sec)mysql begin; Query OK, 0 rows affected (0.00 sec)mysql update stu set age 10 where id 5; Query OK, 0 rows affected (0.00 sec) Rows matched: 0 Changed: 0 Warnings: 0mysqlT2 mysql select object_schema,object_name,index_name,lock_type,lock_mode,lock_data from performance_schema.data_locks; ------------------------------------------------------------------------- | object_schema | object_name | index_name | lock_type | lock_mode | lock_data | ------------------------------------------------------------------------- | test | stu | NULL | TABLE | IX | NULL | | test | stu | PRIMARY | RECORD | X,GAP | 8 | ------------------------------------------------------------------------- 2 rows in set (0.00 sec)mysql begin; Query OK, 0 rows affected (0.00 sec)mysql insert into stu values(7,7,Ruby);T1 mysql commit; Query OK, 0 rows affected (0.00 sec) T2 Query OK, 1 row affected (24.87 sec)mysql select * from stu; ---------------- | id | age | name | ---------------- | 1 | 1 | tom | | 3 | 3 | cat | | 7 | 7 | Ruby | | 8 | 8 | rose | | 11 | 11 | jetty | | 19 | 19 | lily | | 25 | 25 | luci | ---------------- 7 rows in set (0.00 sec)1.4.3 行级锁-间隙锁临键锁2 间隙锁/临键锁-演示 默认情况下InnoDB在REPEATABLE READ事务隔离级别运行InnoDB使用next-key锁进行搜索和索引扫描以防止幻读。 索引上的等值查询(唯一索引)给不存在的记录加锁时优化为间隙锁。索引上的等值查询(普通索引)向右遍历时最后一个值不满足查询需求时next-key lock退化为间隙锁。索引上的范围查询(唯一 索引)——会访问到不满足条件的第一个值为止。 age 不是唯一索引 mysql select * from stu where age 3 lock in share mode; --------------- | id | age | name | --------------- | 3 | 3 | cat | --------------- 1 row in set (0.00 sec)mysql select object_schema,object_name,index_name,lock_type,lock_mode,lock_data from performance_schema.data_locks; ----------------------------------------------------------------------------- | object_schema | object_name | index_name | lock_type | lock_mode | lock_data | ----------------------------------------------------------------------------- | test | stu | NULL | TABLE | IS | NULL | | test | stu | idx_t_age | RECORD | S | 3, 3 | | test | stu | PRIMARY | RECORD | S,REC_NOT_GAP | 3 | | test | stu | idx_t_age | RECORD | S,GAP | 7, 7 | ----------------------------------------------------------------------------- 4 rows in set (0.00 sec)间隙锁/临键锁-演示 默认情况下InnoDB在REPEATABLE READ事务隔离级别运行InnoDB使用next-key锁进行搜索和索引扫描以防止幻读。 索引上的等值查询(唯一索引)给不存在的记录加锁时优化为间隙锁。索引上的等值查询(普通索引)向右遍历时最后一个值不满足查询需求时next-key lock退化为间隙锁。索引上的范围查询(唯一 索引)——会访问到不满足条件的第一个值为止。 mysql select * from stu where id19 lock in share mode; --------------- | id | age | name | --------------- | 19 | 19 | lily | | 25 | 25 | luci | --------------- 2 rows in set (0.00 sec)mysql select object_schema,object_name,index_name,lock_type,lock_mode,lock_data from performance_schema.data_locks; ------------------------------------------------------------------------------------------ | object_schema | object_name | index_name | lock_type | lock_mode | lock_data | ------------------------------------------------------------------------------------------ | test | stu | NULL | TABLE | IS | NULL | | test | stu | PRIMARY | RECORD | S,REC_NOT_GAP | 19 | | test | stu | PRIMARY | RECORD | S | supremum pseudo-record | | test | stu | PRIMARY | RECORD | S | 25 | ------------------------------------------------------------------------------------------ 4 rows in set (0.00 sec)2. InnoDB引擎 2.1 逻辑存储结构 InnoDB引擎的逻辑存储结构 表空间(ibd文件) ,一个mysql实例可以对应多个表空间用于存储记录、索引等数据。 段分为数据段(Leaf node segment)、索引段 (Non-leaf node segment)、回滚段( Rollback segment) , InnoDB是索引组织表数据段就是B树的叶子节点索引段即为B树的非叶子节 点。段用来管理多个Extent (区)。区表空间的单元结构每个区的大小为1M。默认情况下InnoDB存储引擎页大小为16K即一个区中这共有64个连续的页。页是InnoDB存储引擎磁盘管理的最小单元每个页的大小默认为16KB。为了保证页的连续性, InnoDB 存储引擎每次从磁盘申请4-5个区。行,InnoDB存储引擎数据是按行进行存放的。 2.2 架构 MySQL5.5版本开始默认使用InnoDB存储引擎,它擅长事务处理具有崩溃恢复特性,在日常开发中使用非常广泛。下面是InnoDB架构图,左侧为内存结构右侧为磁盘结构。 2.2.1 内存结构1 2.2.2 内存结构2 mysql show variables like %hash_index%; ----------------------------------------- | Variable_name | Value | ----------------------------------------- | innodb_adaptive_hash_index | ON | | innodb_adaptive_hash_index_parts | 8 | ----------------------------------------- 2 rows in set, 1 warning (0.01 sec)mysql show variables like %log_buffer_size%; ---------------------------------- | Variable_name | Value | ---------------------------------- | innodb_log_buffer_size | 16777216 | ---------------------------------- 1 row in set, 1 warning (0.00 sec)mysql show variables like %flush_log%; --------------------------------------- | Variable_name | Value | --------------------------------------- | innodb_flush_log_at_timeout | 1 | | innodb_flush_log_at_trx_commit | 1 | --------------------------------------- 2 rows in set, 1 warning (0.00 sec)1日志在每次事务提交时写入并刷新到磁盘 0每秒将日志写入并刷新到磁盘一次。 2日志在每次事务提交后写入并每秒刷新到磁盘一次。 2.2.3 磁盘结构 System Tablespace:系统表空间是更改缓冲区的存储区域。如果表是在系统表空间而不是每个表 文件或通用表空间中创建的它也可能包含表和索引数据。(在MySQL5.x版本中还包含InnoDB数据字典、undolog等) 参数: innodb_data_file_pathFile-Per-Table Tablespaces:每个表的文件表空间包含单个InnoDB表的数据和索引并存储在 文件系统上的单个数据文件中。 参数:innodb_file_per_tableGeneral Tablespaces:通用表空间需要通过CREATE TABLESPACE 语法创建通用表空间在创建表时可以指定该表空间。 Undo Tablespaces:撤销表空间MySQL实例在初始化时会自动创建两个默认的undo表空间(初始大小16M)用于存储undo log志。Temporary Tablespaces: InnoDB 使用会话临时表空间和全局临时表空间。存储用户创建的临时表等数据。Doublewrite Buffer Files:双写缓冲区,RinnoDB引擎将数据页从Buffer Pool刷新到磁盘前先 将数据页写入双写缓冲区文件中便于系统异常时恢复数据。Redo Log:重做日志是用来实现事务的持久性。该日志文件由两部分组成:重做日志缓冲(redo log buffer)以及重做日志文件(redo log) ,前者是在内存中后者在磁盘中。当事务提交之后会把所有修改信息都会存到该日志中,用于在刷新脏页到磁盘时发生错误时,进行数据恢复使用。 2.2.4 后台线程 内存刷新到磁盘中的后台线程 Master Thread 核心后台线程负责调度其他线程还负责将缓冲池中的数据异步刷新到磁盘中,保持数据的一致性还包括脏页的刷新、合并插入缓存、undo页的回收。IO Thread 在InnoDB存储引擎中大量使用了AlO来处理IO请求这样可以极大地提高数据库的性能而I0 Thread主要负责这些I0请求的回调。 线程类型默认个数职责Read thread4负责读操作Write thread4负责写操作Log thread1负责将日志缓冲区刷新到磁盘Insert buffer thread1负责将写缓冲区内容刷新到磁盘 Purge Thread 主要用于回收事务已经提交了的undo log,在事务提交之后undo log可能不用了就用它来回收。Page Cleaner Thread 协助Master Thread刷新脏页到磁盘的线程它可以减轻Master Thread的工作压力减少阻塞。 2.3 事务原理 事务是一组操作的集合,它是一个不可分割的工作单位,事务会把所有的操作作为一个整体-起向系统提交或撤销操作请求,即这些操作要么同时成功要么同时先败。 特性 原子性(Atomicity) :事务是不可分割的最小操作单元要么全部成功要么全部失败。一致性(Consistency) :事务完成时,必须使所有的数据都保持一 致状态。隔离性(Isolation) :数据库系统提供的隔离机制保证事务在不受外部并发操作影响的独立环境下运行。持久性(Durability) :事务一旦提交或回滚,它对数据库中的数据的改变就是永久的。 2.3.1 redo log持久性 重做日志记录的是事务提交时数据页的物理修改,是用来实现事务的持久性。 该日志文件由两部分组成:重做日志缓冲(redo log buffer)以及重做日志文件(redo log file) ,前者是在内存中后者在磁盘中。当事务提交之后会把所有修改信息都存到该日志文件中,用于在刷新脏页到磁盘,发生错误时进行数据恢复使用。 脏页刷新磁盘发生错误的时候回滚数据恢复用的持久性 ——WAL (Write-Ahead Logging) 2.3.2 undo log原子性 回滚日志用于记录数据被修改前的信息,作用包含两个:提供回滚和MVCC(多版本并发控制)。 undo log和redo log记录物理日志不一样它是逻辑日志。可以认为当delete-条记录时 undo log中会记录一条对 应的insert记录,反之亦然当update- 条记录时它记录一条对应相反的update记录。当执行rollback时 就可以从undo log中的逻辑记录读取到相应的内容并进行回滚。 Undo log销毁: undo log在事务执行时产生事务提交时并不会立即删除undo log,因为这些日志可能还用于MVCC。 Undo log存储: undo log采用段的方式进行管理和记录,存放在前面介绍的rollback segment回滚段中,内部包含1024个undo log segment。 2.4 MVCC 基本概念 当前读 读取的是记录的最新版本读取时还要保证其他并发事务不能修改当前记录会对读取的记录进行加锁。对于我们日常的操作如: select ... lgck in share mode(共享锁), select .. for update、update、 insert、 delete(排他锁)都是一 种当前读。 快照读 简单的select(不加锁)就是快照读,快照读,读取的是记录数据的可见版本有可能是历史数据不加锁是非阻塞读。 Read Committed:每次select,都生成一个快照读。 Repeatable Read:开启事务后第一个select语句才是快照读的地方。 Serializable:快照读会退化为当前读。 MVCCMulti-Version Concurrency Control 多版本并发控制。指维护一个数据的多个版本使得读写操作没有冲突快照读为MySQL实现MVCC提供了一个非阻塞读功能。MVCC的具体实现还需要依赖于数据库记录中的三个隐式字段、undo log日志、readView。 2.4.1 隐藏字段 当你建立一个表的时候会正常的给你三个字段但是他还会生成隐藏的三个分别是上面灰色的部分DB_TRX_ID, DB_ROLL_PTR, DB_ROW_ID。 隐藏字段含义DB_TRX_ID最近修改事务ID记录插入这条记录或最后一次修改该 记录的事务ID。DB_ROLL_PTR回滚指针指向这条记录的上一个版本用于配合undo log指向上一个版本。DB_ROW_ID隐藏主键如果表结构没有指定主键将会生成该隐藏字段。 2.4.2 undo log版本链 undo log 回滚日志在insert、 update、 delete的时候产生的便于数据回滚的日志。当insert的时候产生的undo log日志只在回滚时需要在事务提交后可被立即删除。而update、delete的时候产生的undo log日志不仅在回滚时需要在快照读时也需要不会立即被删除。 不同事务或相同事务对同一条记录进行修改会导致该记录的undolog生成一条记录版本链表链表的头部是最新的旧记录链表尾部是最早的旧记录。 2.4.3 readview介绍 ReadView (读视图)是快照读SQL执行时MVCC提取数据的依据,记录并维护系统当前活跃的事务(未提交的) id。 ReadView中包含了四个核心字段 字段含义m_ids当前活跃的事务ID集合min_trx_id最小活跃事务IDmax_trx_id预分配事务ID当前最大事务ID1 (因为事务ID是自增的)creator_trx_idReadView创建者的事务ID readview trx_ id: 代表是当前事务ID。 不同的隔离级别生成ReadView的时机不同 ➢READ COMMITTED 在事务中每一次执行快照读时生成ReadView。 ➢REPEATABLE READ仅在事务中第一次执行快照读时生成ReadView, 后续复用该ReadView。 2.4.4 原理分析RC级别 RC隔离级别下在事务中每一次执行快照读时生成ReadView。 2.4.5 原理分析RR级别 RR隔离级别下,仅在事务中第一次执行快照读时生 成ReadView,后续复用该ReadView。 3. MySQL管理(了解) 3.1 MySQL管理-系统数据库介绍 数据库自带的。 数据库含义mysql存储MySQL服务器正常运行所需要的各种信息(时区、 主从、用户、权限等)information_schema提供了访问数据库元数据的各种表和视图包含数据库、表、字段类型及访问权限等performance_schema为MySQL服务器运行时状态提供了一一个底层监控功能主要用于收集数据库服务器性能参数sys包含了一系列方便DBA和开发人员利用performance_ schema 性能数据库进行性能调优和诊断的视图 3.2 MySQL管理-常用工具 3.2.1 mysql 该mysql不是指mysql服务而是指mysql的客户端的工具。 语法 mysql [options] [database] 选项 -u, --username #指定用户名 -p, --password[name] #指定密码 -h, --hostname #指定服务器IP或域名 -P, --portport #指定连接端口 -e, --executename #执行SQL语句并退出-e选项可以在Mysq|客户端执行SQL语句而不用连接到MySQL数据库再执行对于一些批处理脚本这种方式尤其方便。 示例: mysql -uroot -p123456 db01 -e select * from stu; 3.2.2 mysqladmin mysqladmin是一个执行管理操作的客户端程序。可以用它来检查服务器的配置和当前状态、创建并删除数据库等。 通过帮助文档查看选项mysqladmin --help 示例: mysqladmin -uroot -p123456 drop test01; mysqladmin -uroot -p123456 version; 3.2.3 mysqlbinlog 由于服务器生成的二进制日志文件以二进制格式保存所以如果想要检查这些文本的文本格式就会使用到mysqlbinlog日志管理工具。 语法 mysqlbinlog [options] log-files1 log-files2 ... 选项 -d, --databasename 指定数据库名称只列出指定的数据库相关操作。 -o, --offset# 忽略掉日志中的前n行命令。 -r,--result-filename 将输出的文本格式日志输出到指定文件。 -s, --short-form 显示简单格式省略掉一 些信息。 --start-datatimedate1 --stop-datetimedate2 指定日期间隔内的所有日志。 --start-positionpos1 --stop-positionpos2 指定位置间隔内的所有日志。3.2.4 mysqlshow mysqlshow客户端对象查找工具用来很快地查找存在哪些数据库、数据库中的表、表中的列或者索引 语法 mysqlshow [options] [db_name [table_name [col_namel]] 选项 --count 显示数据库及表的统计信息(数据库表均可以不指定) -i 显示指定数据库或者指定表的状态信息示例 #查询每个数据库的表的数量及表中记录的数量 mysqlshow -uroot -p2143 --count#查询test库中每个表中的字段书及行数 mysqlshow -uroot -p2143 test --count#查询test库中book表的详细情况 mysqlshow -uroot -p2143 test book --countC:\Users\HPmysqlshow -uroot -p123456 --count mysqlshow: [Warning] Using a password on the command line interface can be insecure. ------------------------------------------ | Databases | Tables | Total Rows | ------------------------------------------ | information_schema | 79 | 28446 | | mybatis | 1 | 6 | | mysql | 38 | 4146 | | performance_schema | 111 | 318915 | | sakila | 23 | 50081 | | sys | 101 | 6535 | | test | 11 | 58 | | tlias | 2 | 22 | | world | 3 | 5302 | ------------------------------------------ 9 rows in set.C:\Users\HPmysqlshow -uroot -p123456 test --count mysqlshow: [Warning] Using a password on the command line interface can be insecure. Database: test -------------------------------------- | Tables | Columns | Total Rows | -------------------------------------- | account | 3 | 2 | | course | 2 | 4 | | dept | 2 | 5 | | emp | 8 | 15 | | emp2 | 8 | 6 | | stu | 3 | 7 | | student | 3 | 3 | | student_course | 3 | 4 | | tb_user | 5 | 4 | | tb_user_edu | 7 | 4 | | user | 5 | 4 | -------------------------------------- 11 rows in set.C:\Users\HPC:\Users\HPmysqlshow -uroot -p123456 test stu --count mysqlshow: [Warning] Using a password on the command line interface can be insecure. Database: test Table: stu Rows: 7 ----------------------------------------------------------------------------------------------------------------------- | Field | Type | Collation | Null | Key | Default | Extra | Privileges | Comment | ----------------------------------------------------------------------------------------------------------------------- | id | int | | NO | PRI | | auto_increment | select,insert,update,references | | | age | int | | NO | MUL | | | select,insert,update,references | | | name | varchar(255) | utf8mb4_general_ci | YES | | | | select,insert,update,references | | -----------------------------------------------------------------------------------------------------------------------C:\Users\HPDatabase: test Wildcard: stu --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | Name | Engine | Version | Row_format | Rows | Avg_row_length | Data_length | Max_data_length | Index_length | Data_free | Auto_increment | Create_time | Update_time | Check_time | Collation | Checksum | Create_options | Comment | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | stu | InnoDB | 10 | Dynamic | 7 | 2340 | 16384 | 0 | 16384 | 0 | 26| 2023-10-03 16:13:32 | 2023-10-05 16:19:09 | | utf8mb4_0900_ai_ci | | | | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------C:\Users\HP 3.2.5 mysqldump mysqldump客户端工具用来备份数据库或在不同数据库之间进行数据迁移。备份内容包含创建表及插入表的sQL语句。 语法 mysqldump [options] db_name [tables] mysqldump [options] --database/ -B db1 [db2 db3...] mysqldump [options] -all-databases/-A 连接选项 -u, --username 指定用户名 -p, --password[name] 指定密码 -h, --hostname 指定服务器ip或域名 -P, --port# 指定连接端口输出选项 --add-drop-database 在每个数据库创建语句前加上drop database语句 --add-drop-table 在每个表创建语句前加上droptable语句默认开启不开启(--skip-add-drop-table) -n, --no-create-db 不包含数据库的创建语句 -t, --no-create-info 不包含数据表的创建语句 -d --no-data 不包含数据 -T, --tabname 自动生成两个文件:一个.sql文件创建表结构的语句;一个.txt文件数据文件3.2.6 mysqlimport/source mysqlimport是客户端数据导入工具用来导入mysqldump加-T参数后导出的文本文件。 语法 mysqlimport [options] db_ name textfile1 [tetile...]. 示例 mysqlimport -uroot -p2143 test /tmp/city.txt 如果需要导入sq|文件,可以使用mysqI中的source指令 语法 source /root/xxxx.sql 3.3 MySQL管理-小结
文章转载自:
http://www.morning.qxwwg.cn.gov.cn.qxwwg.cn
http://www.morning.rrgm.cn.gov.cn.rrgm.cn
http://www.morning.dwrjj.cn.gov.cn.dwrjj.cn
http://www.morning.klpwl.cn.gov.cn.klpwl.cn
http://www.morning.dbfwq.cn.gov.cn.dbfwq.cn
http://www.morning.dpwcl.cn.gov.cn.dpwcl.cn
http://www.morning.gyfwy.cn.gov.cn.gyfwy.cn
http://www.morning.jwlmm.cn.gov.cn.jwlmm.cn
http://www.morning.kstlm.cn.gov.cn.kstlm.cn
http://www.morning.xshkh.cn.gov.cn.xshkh.cn
http://www.morning.rhpy.cn.gov.cn.rhpy.cn
http://www.morning.kkwbw.cn.gov.cn.kkwbw.cn
http://www.morning.0small.cn.gov.cn.0small.cn
http://www.morning.bwjgb.cn.gov.cn.bwjgb.cn
http://www.morning.lcxdm.cn.gov.cn.lcxdm.cn
http://www.morning.znkls.cn.gov.cn.znkls.cn
http://www.morning.wqpm.cn.gov.cn.wqpm.cn
http://www.morning.c7622.cn.gov.cn.c7622.cn
http://www.morning.pcjw.cn.gov.cn.pcjw.cn
http://www.morning.hlyfn.cn.gov.cn.hlyfn.cn
http://www.morning.pbtrx.cn.gov.cn.pbtrx.cn
http://www.morning.brcdf.cn.gov.cn.brcdf.cn
http://www.morning.tqrjj.cn.gov.cn.tqrjj.cn
http://www.morning.fjgwg.cn.gov.cn.fjgwg.cn
http://www.morning.nqwz.cn.gov.cn.nqwz.cn
http://www.morning.ptqbt.cn.gov.cn.ptqbt.cn
http://www.morning.fhrgk.cn.gov.cn.fhrgk.cn
http://www.morning.ymsdr.cn.gov.cn.ymsdr.cn
http://www.morning.rlxg.cn.gov.cn.rlxg.cn
http://www.morning.jmlgk.cn.gov.cn.jmlgk.cn
http://www.morning.zrpbf.cn.gov.cn.zrpbf.cn
http://www.morning.pgcmz.cn.gov.cn.pgcmz.cn
http://www.morning.gswfs.cn.gov.cn.gswfs.cn
http://www.morning.gtmgl.cn.gov.cn.gtmgl.cn
http://www.morning.lhgkr.cn.gov.cn.lhgkr.cn
http://www.morning.tkrdg.cn.gov.cn.tkrdg.cn
http://www.morning.smwlr.cn.gov.cn.smwlr.cn
http://www.morning.pgmbl.cn.gov.cn.pgmbl.cn
http://www.morning.bwxph.cn.gov.cn.bwxph.cn
http://www.morning.hdrsr.cn.gov.cn.hdrsr.cn
http://www.morning.dzqyn.cn.gov.cn.dzqyn.cn
http://www.morning.mxmtt.cn.gov.cn.mxmtt.cn
http://www.morning.dsncg.cn.gov.cn.dsncg.cn
http://www.morning.knqzd.cn.gov.cn.knqzd.cn
http://www.morning.wpsfc.cn.gov.cn.wpsfc.cn
http://www.morning.zwwhq.cn.gov.cn.zwwhq.cn
http://www.morning.myhpj.cn.gov.cn.myhpj.cn
http://www.morning.myrmm.cn.gov.cn.myrmm.cn
http://www.morning.twmp.cn.gov.cn.twmp.cn
http://www.morning.irqlul.cn.gov.cn.irqlul.cn
http://www.morning.swimstaracademy.cn.gov.cn.swimstaracademy.cn
http://www.morning.rcttz.cn.gov.cn.rcttz.cn
http://www.morning.nffwl.cn.gov.cn.nffwl.cn
http://www.morning.crkhd.cn.gov.cn.crkhd.cn
http://www.morning.fwkpp.cn.gov.cn.fwkpp.cn
http://www.morning.sloxdub.cn.gov.cn.sloxdub.cn
http://www.morning.lhqw.cn.gov.cn.lhqw.cn
http://www.morning.ssxlt.cn.gov.cn.ssxlt.cn
http://www.morning.ygkk.cn.gov.cn.ygkk.cn
http://www.morning.zlxrg.cn.gov.cn.zlxrg.cn
http://www.morning.pghry.cn.gov.cn.pghry.cn
http://www.morning.ktblf.cn.gov.cn.ktblf.cn
http://www.morning.pycpt.cn.gov.cn.pycpt.cn
http://www.morning.fgsqz.cn.gov.cn.fgsqz.cn
http://www.morning.jcffp.cn.gov.cn.jcffp.cn
http://www.morning.rkhhl.cn.gov.cn.rkhhl.cn
http://www.morning.nypgb.cn.gov.cn.nypgb.cn
http://www.morning.wkkqw.cn.gov.cn.wkkqw.cn
http://www.morning.qxjck.cn.gov.cn.qxjck.cn
http://www.morning.rxfgh.cn.gov.cn.rxfgh.cn
http://www.morning.xiaobaixinyong.cn.gov.cn.xiaobaixinyong.cn
http://www.morning.lrybz.cn.gov.cn.lrybz.cn
http://www.morning.gwqkk.cn.gov.cn.gwqkk.cn
http://www.morning.qjxkx.cn.gov.cn.qjxkx.cn
http://www.morning.bgrsr.cn.gov.cn.bgrsr.cn
http://www.morning.kngqd.cn.gov.cn.kngqd.cn
http://www.morning.tnjff.cn.gov.cn.tnjff.cn
http://www.morning.qjlkp.cn.gov.cn.qjlkp.cn
http://www.morning.zrpbf.cn.gov.cn.zrpbf.cn
http://www.morning.npcxk.cn.gov.cn.npcxk.cn
http://www.tj-hxxt.cn/news/258783.html

相关文章:

  • 企业网站 三网系统吉林省住房和城乡建设厅网站6
  • 什么网站做推广比较好wordpress 手机端
  • 韩国网站加速器贵阳网站开发谁家做的好
  • 网站开发常用工具网页设计心得体会500
  • 一般做网站宽高多少关于我们页面模板
  • 初学者怎么做php网站网络公司网站设计方案ppt
  • 博达网站建设教程苏州兼职网站开发
  • 郑州市装修公司哪家好seo工具下载
  • 建筑公司网站石家庄金色世纪做网站的是哪个岗位
  • 手机可以制作网站吗wordpress 使用浏览器缓存
  • 找网络公司做的网站可以出售吗wordpress新闻类主题
  • 什么是网站设计与运营企业网站建设流程知乎
  • 国内用python做的网站网站的分页效果怎么做
  • 江门手机模板建站h5网页开发
  • 做网站要学c语言常州新北区建设局网站
  • 北京网站开发怎么样蓟县网站制作
  • 查找公司信息的网站以你的心诠释我的爱网页设计素材
  • ps制作网站首页教程网站式小程序
  • 建网站的八个步骤so域名网站
  • 购物网站排版设计本科自考和专升本的区别
  • 网站做不做301网站建设平台安全问题有哪些方面
  • 宁波网站推广运营网络营销相关信息
  • 移动网站怎么建设微科技h5制作网站模板
  • 小规模企业做网站自己制作的网站怎么做分页
  • 贵阳自助建站软件易托管建站工具
  • 公司网站开发软件WordPress页面登录才能看
  • 360免费建站方法深圳坪地网站建设 自助建站 五合一建站平台
  • 专门建设网站的公司ai怎么做自己的网站
  • 做理财的网站有哪些问题郑州网站建设公司排行榜
  • 哈尔滨网站建设v5star哈尔滨网站建设网站