show processlist 详解

这篇具有很好参考价值的文章主要介绍了show processlist 详解。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

系统学习性,移步 IT-BLOG

一、show processlist 简介

show processlist是显示用户正在运行的线程,需要注意的是,除了root用户能看到所有正在运行的线程外,其他用户都只能看到自己正在运行的线程,看不到其它用户正在运行的线程。除非单独个这个用户赋予了PROCESS权限。

通常我们通过top检查发现mysqlCPU或者iowait过高 那么解决这些问题 都离不开show processlist查询当前mysql有些线程正在运行,然后分析其中的参数,找出那些有问题的线程,该killkill,该优化的优化!

注意: show processlist只显示前100条 我们可以通过show full processlist 显示全部。

root用户,可以看到全部线程运行情况

mysql> show processlist ;
+---------+-------------+---------------------+--------------------+---------+------+--------------+------------------------------------------------------------------------------------------------------+
| Id      | User        | Host                | db                 | Command | Time | State        | Info                                                                                                 |
+---------+-------------+---------------------+--------------------+---------+------+--------------+------------------------------------------------------------------------------------------------------+
| 9801429 | lis         | 10.41.7.10:57962    | lis                | Query   |    8 | Sending data | SELECT r.RgtantMobile, r.RgtantName, r.RgtNo, ag.SumGetMoney, ag.EnterAccDate, ag.BankAccNo, ( SELEC |
| 9802020 | ruihua      | 10.41.5.6:37543     | sales_org          | Sleep   |  292 |              | NULL                                                                                                 |
| 9802070 | lis         | 10.41.7.10:58998    | lis                | Query   |    8 | Sending data | select distinct d.contno,e.phone,d.appntidtype,d.appntidno,d.appntname,d.appntsex ,d.AppntBirthday,( |
| 9802084 | evoiceadmin | 10.41.8.8:41868     | evoicerh           | Sleep   |   57 |              | NULL                                                                                                 |
| 9802201 | root        | 10.41.100.3:38976   | NULL               | Query   |    0 | init         | show processlist                                                                                     |
+---------+-------------+---------------------+--------------------+---------+------+--------------+------------------------------------------------------------------------------------------------------+
148 rows in set (0.00 sec)

普通的lis用户只能看到自己的

mysql> show processlist ;
+---------+-------------+---------------------+--------------------+---------+------+--------------+------------------------------------------------------------------------------------------------------+
| Id      | User        | Host                | db                 | Command | Time | State        | Info                                                                                                 |
+---------+-------------+---------------------+--------------------+---------+------+--------------+------------------------------------------------------------------------------------------------------+
| 9801429 | lis         | 10.41.7.10:57962    | lis                | Query   |    8 | Sending data | SELECT r.RgtantMobile, r.RgtantName, r.RgtNo, ag.SumGetMoney, ag.EnterAccDate, ag.BankAccNo, ( SELEC |
| 9802070 | lis         | 10.41.7.10:58998    | lis                | Query   |    8 | Sending data | select distinct d.contno,e.phone,d.appntidtype,d.appntidno,d.appntname,d.appntsex ,d.AppntBirthday,( |
+---------+-------------+---------------------+--------------------+---------+------+--------------+------------------------------------------------------------------------------------------------------+
2 rows in set (0.00 sec)

单独给普通的activiti用户授PROCESS权限,(授权后需要退出重新登录)

show processlist显示的信息都是来自MySQL系统库information_schema中的processlist表。所以使用下面的查询语句可以获得相同的结果:

select * from information_schema.processlist

二、show processlist 参数分析

参数 含义
Id 登录mysql后,系统分配的connection_id表示线程的唯一标识,可以使用函数connection_id()查看。当需要kill一个语句的时候会用到。前面我们说了show processlist显示的信息时来自information_schema.processlist表,所以这个Id就是这个表的主键。
User 就是指启动这个线程的用户,如果是system user,它是指由服务器产生的非客户线程,以在内部处理任务。这可能是复制从站或延迟行处理程序使用的I/OSQL线程。unauthenticated user指的是已经与客户端连接关联但是还没有完成客户机用户的认证的线程。event_scheduler指的是监视预定事件的线程。如果是system user那么在Host列中不会指定主机 。
Host 记录了发送请求的客户端的IP和端口号。通过这些信息在排查问题的时候,我们可以定位到是哪个客户端的哪个进程发送的请求。
db 当前执行的命令是在哪一个数据库上。如果没有指定数据库,则该值为 NULL 。
Command 显示当前连接的执行的命令,一般就是休眠或空闲(sleep),查询(query),连接(connect)。这个很复杂,下面单独解释
Time 表示该线程处于当前状态的时间,单位是秒。
State 显示使用当前连接的sql语句的状态,很重要的列,后续会有所有的状态的描述,请注意,state只是语句执行中的某一个状态,一个 sql语句,已查询为例,可能需要经过copying to tmp table,Sorting result,Sending data等状态才可以完成
Info 一般记录的是线程执行的语句。默认只显示前100个字符,也就是你看到的语句可能是截断了的,要看全部信息,需要使用 show full processlist。

Command 的值

参数 含义
Binlog Dump 主节点正在将二进制日志 ,同步到从节点
Change User 正在执行一个 change-user 的操作
Close Stmt 正在关闭一个Prepared Statement 对象
Connect 一个从节点连上了主节点
Connect Out 一个从节点正在连主节点
Create DB 正在执行一个create-database 的操作
Daemon 服务器内部线程,而不是来自客户端的链接
Debug 线程正在生成调试信息
Delayed Insert 该线程是一个延迟插入的处理程序
Drop DB 正在执行一个 drop-database 的操作
Execute 正在执行一个 Prepared Statement
Fetch 正在从Prepared Statement 中获取执行结果
Field List 正在获取表的列信息
Init DB 该线程正在选取一个默认的数据库
Kill 正在执行 kill 语句,杀死指定线程
Long Data 正在从Prepared Statement 中检索 long data
Ping 正在处理 server-ping 的请求
Prepare 该线程正在准备一个 Prepared Statement
ProcessList 该线程正在生成服务器线程相关信息
Query 该线程正在执行一个语句
Quit 该线程正在退出
Refresh 该线程正在刷表,日志或缓存;或者在重置状态变量,或者在复制服务器信息
Register Slave 正在注册从节点
Reset Stmt 正在重置 prepared statement
Set Option 正在设置或重置客户端的 statement-execution 选项
Shutdown 正在关闭服务器
Sleep 正在等待客户端向它发送执行语句
Statistics 该线程正在生成 server-status 信息
Table Dump 正在发送表的内容到从服务器
Time Unused

线程状态(State)值

一般线程状态(State)值

以下列表描述State了与常规查询处理关联的线程值,而不是更复杂的活动,例如复制。其中许多仅用于在服务器中查找错误。

参数 含义
After create 当线程创建表(包括内部临时表)时,会在创建表的函数的末尾创建。即使由于某些错误而无法创建表,也会使用此状态。
Analyzing 线程正在计算MyISAM表密钥分布(例如:for ANALYZE TABLE)。
checking permissions 线程正在检查服务器是否具有执行语句所需的权限。
Checking table 线程正在执行表检查操作。
cleaning up 线程已经处理了一个命令,正在准备释放内存并重置某些状态变量。
closing tables 线程将更改的表数据刷新到磁盘并关闭已用表。这应该是一个快速的操作。如果没有,请验证您是否没有完整的磁盘,并且磁盘没有被非常大的使用。
copy to tmp table 线程正在处理ALTER TABLE语句。此状态发生在已创建新结构的表之后,但是将行复制到该表之前。对于此状态的线程,可以使用性能模式来获取有关复制操作的进度。
Copying to group table 如果语句具有不同ORDER BY和GROUP BY标准,各行按组排列和复制到一个临时表。
Creating index 线程正在处理ALTER TABLE … ENABLE KEYS一个MyISAM表。
Creating sort index 线程正在处理一个SELECT使用内部临时表解析的线程 。
creating table 线程正在创建一个表,这包括创建临时表。
committing alter table to storage engine 服务器已经完成就位ALTER TABLE并提交结果。
deleting from main table 服务器正在执行多表删除的第一部分,它仅从第一个表中删除,并从其他(引用)表中保存要用于删除的列和偏移量。
deleting from reference tables 服务器正在执行多表删除的第二部分,并从其他表中删除匹配的行。
discard_or_import_tablespace 线程正在处理ALTER TABLE … DISCARD TABLESPACE或ALTER TABLE … IMPORT TABLESPACE声明。
end 这发生在结束,但的清理之前ALTER TABLE, CREATE VIEW, DELETE, INSERT, SELECT,或UPDATE语句。
executing 该线程已经开始执行一个语句。
Execution of init_command 线程正在init_command系统变量的值中执行语句 。
freeing items 线程已经执行了一个命令,在这种状态下完成的项目的一些释放涉及查询缓存,这个状态通常在后面cleaning up。
FULLTEXT initialization 服务器正在准备执行自然语言全文搜索。
init 此操作在初始化ALTER TABLE, DELETE, INSERT, SELECT, or UPDATE之前发生,服务器在该状态中采取的操作包括刷新二进制日志、Innodb日志和一些查询缓存清理操作。对于最终状态, 可能会发生以下操作
Killed 执行KILL语句,向线程发送了一个声明,下次检查kill标志时应该中断。在MySQL的每个主循环中检查该标志,但在某些情况下,线程可能需要很短时间才能死掉。如果线程被某个其他线程锁定,则一旦其他线程释放锁定,该kill就会生效。
Locking system tables 线程正在尝试锁定系统表(例如,时区或日志表)。
login 连接线程的初始状态,直到客户端成功认证为止。
manage keys 服务器启用或禁用表索引。
NULL 该状态用于SHOW PROCESSLIST状态。
Opening system tables 线程尝试打开系统表(例如,时区或日志表)。
Opening tables 线程正在尝试打开一个表,这应该是非常快的程序,除非有事情阻止打开。例如,一个ALTER TABLE或一个LOCK TABLE语句可以阻止打开一个表,直到语句完成。还可能需要关注table_open_cache参数的值是否足够大。对于系统表,使用Opening system tables状态。
optimizing 服务器正在执行查询的初始优化。
preparing 此状态发生在查询优化期间。
Purging old relay logs 线程正在删除不需要的中继日志文件。
query end 处理查询之后,freeing items状态之前会发生这种状态。
Removing duplicates 该查询的使用SELECT DISTINCT方式使得MySQL不能在早期阶段优化不同的操作。因此,MySQL需要一个额外的阶段来删除所有重复的行,然后将结果发送给客户端。
removing tmp table 处理语句后,该线程正在删除一个内部临时表SELECT 。如果没有创建临时表,则不使用该状态。
rename 线程正在重命名一个表。
rename result table 线程正在处理一个ALTER TABLE语句,已经创建了新表,并重新命名它来替换原始表。
Reopen tables 线程获得了表的锁,但在获得基础表结构更改的锁之后注意到。它释放了锁,关闭了table,并试图重新打开它。
Repair by sorting 修复代码正在使用排序来创建索引。
preparing for alter table 服务器正在准备就地执行ALTER TABLE。
Repair done 线程已经完成了一个MyISAM表的多线程修复 。
Repair with keycache 修复代码通过密钥缓存逐个使用创建密钥,这比慢得多Repair by sorting。
Rolling back 线程正在回滚事务。
Saving state 对于MyISAM表操作(如修复或分析),线程将新的表状态保存到.MYI文件头。状态包括行数, AUTO_INCREMENT计数器和键分布等信息。
Searching rows for update 线程正在进行第一阶段,以便在更新之前查找所有匹配的行。如果UPDATE要更改用于查找涉及的行的索引,则必须执行此操作 。
setup 线程正在开始一个ALTER TABLE操作。
Sorting for group 线程正在做一个满足一个GROUP BY。
Sorting for order 线程正在做一个满足一个ORDER BY。
Sorting index 线程是排序索引页,以便在MyISAM表优化操作期间更有效地访问。
Sorting result 对于一个SELECT语句,这类似于Creating sort index,但是对于非临时表。
statistics 服务器正在计算统计信息以开发查询执行计划。如果一个线程长时间处于这种状态,服务器可能是磁盘绑定的,执行其他工作。
update 线程正在准备开始更新表。
Updating 线程正在搜索要更新的行并正在更新它们。
updating main table 服务器正在执行多表更新的第一部分,它仅更新第一个表,并保存用于更新其他(引用)表的列和偏移量。
updating reference tables 服务器正在执行多表更新的第二部分,并从其他表更新匹配的行。
User lock 线程将要求或正在等待通过GET_LOCK()呼叫请求的咨询锁定 。因为 SHOW PROFILE,这个状态意味着线程正在请求锁定(不等待它)。
User sleep 线程调用了一个 SLEEP()调用。
故障诊断状态(State)值(个人提取)
参数 含义
logging slow query 线程正在向慢查询日志写入语句。
altering table 服务器正在执行就地ALTER TABLE。
Receiving from client 服务器正在从客户端读取数据包。
Copying to tmp table 服务器正在复制磁盘到内存的临时表,是直接在磁盘创建的临时表而并非从内存转到磁盘的临时表。
Copying to tmp table on disk 对于线程将临时表从内存中更改为基于磁盘的格式存储以节省内存后,又把临时表从磁盘复制到内存时的状态。
Creating tmp table 线程正在内存或磁盘上创建临时表。如果表在内存中创建,但后来转换为磁盘表,则该操作中的状态将为Copying to tmp table on disk。
Sending data 线程正在读取和处理SELECT语句的行,并将数据发送到客户端。由于在此状态期间发生的操作往往执行大量的磁盘访问(读取),所以在给定查询的整个生命周期内通常是最长的运行状态。
Sending to client 服务器正在向客户端写入数据包。
Waiting for commit lock FLUSH TABLES WITH READ LOCK正在等待提交锁。
Waiting for global read lock FLUSH TABLES WITH READ LOCK正在等待全局读锁定或read_only正在设置全局系统变量。
Waiting for tables 线程得到一个通知,表格的底层结构已经改变,需要重新打开表以获得新的结构。但是,要重新打开表格,必须等到所有其他线程都关闭该表。如果另一个线程已使用FLUSH TABLES或下面的语句之一
Waiting for table flush 线程正在执行FLUSH TABLES并正在等待所有线程关闭它们的表,或者线程得到一个通知,表中的底层结构已经改变,并且需要重新打开表以获得新的结构。但是,要重新打开表,必须等到所有其他线程都关闭该表。如果另一个线程已使用FLUSH TABLES或下面的语句之一
Waiting for lock_type lock 服务器正在等待THR_LOCK从元数据锁定子系统获取锁或锁,其中lock_type指示锁的类型。THR_LOCK状态表示
Writing to net 服务器正在将数据包写入网络,如果一个线程长时间在执行并且一直处于Writing to net状态,那么一直在发送数据包到网络,可以试着调整max_allowed_packet大小。另外,这可能会导致其他线程大量阻塞。
Waiting on cond 线程等待条件成为true的一般状态,没有特定的状态信息可用。
System lock 线程已经调用mysql_lock_tables() ,且线程状态从未更新。这是一个非常普遍的状态,可能由于许多原因而发生。例如, 线程将请求或正在等待表的内部或外部系统锁。当InnoDB在执行锁表时等待表级锁时, 可能会发生这种情况。如果此状态是由于请求外部锁而导致的,并且不使用正在访问相同表的多个mysqld服务器MyISAM,则可以使用该–skip-external-locking选项禁用外部系统锁 。但是,默认情况下禁用外部锁定,因此这个选项很有可能不起作用。因为SHOW PROFILE,这个状态意味着线程正在请求锁定(不等待它)。对于系统表,使用Locking system tables状态。
查询缓存状态(State)值
参数 含义
checking privileges on cached query 服务器正在检查用户是否具有访问缓存查询结果的权限。
checking query cache for query 服务器正在检查当前查询是否存在于查询缓存中。
invalidating query cache entries 查询缓存条目被标记为无效,因为底层表已更改。
sending cached result to client 服务器正在从查询缓存中获取查询的结果,并将其发送给客户端。
storing result in query cache 服务器将查询结果存储在查询缓存中。
Waiting for query cache lock 当会话正在等待采取查询缓存锁定时,会发生此状态。这种情况可能需要执行一些查询缓存操作,如使查询缓存无效的INSERT或DELETE语句,以及RESET QUERY CACHE等等。
事件调度器线程状态(State)值

这些状态适用于事件调度程序线程,创建用于执行调度事件的线程或终止调度程序的线程。

参数 含义
Clearing 调度程序线程或正在执行事件的线程正在终止,即将结束。
Initialized 调度程序线程或将执行事件的线程已初始化。
Waiting for next activation 调度程序具有非空事件队列,但下一次激活是将来。
Waiting for scheduler to stop 线程发出SET GLOBAL event_scheduler=OFF并正在等待调度程序停止。
Waiting on empty queue 调度程序的事件队列是空的,它正在休眠。
主库线程状态(State)值

以下列表显示了主从复制中主服务器的Binlog Dump线程的State列中可能看到的最常见状态(SHOW PROCESSLIST)。如果Binlog Dump线程在主服务器上看不到,这意味着复制没有运行,也就是说,目前没有连接任何Slave主机。

参数 含义
Sending binlog event to slave 二进制日志由各种事件组成,一个事件通常为一个更新加一些其它信息。线程已经从二进制日志读取了一个事件并且正将它发送到从服务器。
Finished reading one binlog; switching to next binlog 线程已经读完二进制日志文件并且正打开下一个要发送到从服务器的日志文件。
Has sent all binlog to slave; waiting for binlog to be updated 线程已经从二进制日志读取所有主要的更新并已经发送到了从服务器。线程现在正空闲,等待由主服务器上新的更新导致的出现在二进制日志中的新事件。
Waiting to finalize termination 线程停止时发生的一个很简单的状态。
从库I/O线程状态(State)值
参数 含义
Connecting to master 线程正试图连接主服务器。
Checking master version 建立同主服务器之间的连接后立即临时出现的状态。
Registering slave on master 建立同主服务器之间的连接后立即临时出现的状态。
Requesting binlog dump 建立同主服务器之间的连接后立即临时出现的状态。线程向主服务器发送一条请求,索取从请求的二进制日志文件名和位置开始的二进制日志的内容。
Waiting to reconnect after a failed binlog dump request 如果二进制日志转储请求失败(由于没有连接),线程进入睡眠状态,然后定期尝试重新连接。可以使用–master-connect-retry选项指定重试之间的间隔。
Reconnecting after a failed binlog dump request 线程正尝试重新连接主服务器。
Waiting for master to send event 线程已经连接上主服务器,正等待二进制日志事件到达。如果主服务器正空闲,会持续较长的时间。如果等待持续slave_read_timeout秒,则发生超时。此时,线程认为连接被中断并企图重新连接。
Queueing master event to the relay log 线程已经读取一个事件,正将它复制到中继日志供SQL线程来处理。
Waiting to reconnect after a failed master event read 读取时(由于没有连接)出现错误,线程企图重新连接前将睡眠master-connect-retry秒。
Reconnecting after a failed master event read 线程正尝试重新连接主服务器,当连接重新建立后,状态变为Waiting for master to send event。
Waiting for the slave SQL thread to free enough relay log space 正使用一个非零relay_log_space_limit值,中继日志已经增长到其组合大小超过该值。I/O线程正等待直到SQL线程处理中继日志内容并删除部分中继日志文件来释放足够的空间。
Waiting for slave mutex on exit 线程停止时发生的一个很简单的状态。
从库SQL线程状态(State)值
参数 含义
Reading event from the relay log 线程已经从中继日志读取一个事件,可以对事件进行处理了。
Has read all relay log; waiting for the slave I/O thread to update it 线程已经处理了中继日志文件中的所有事件,现在正等待I/O线程将新事件写入中继日志。
Waiting for slave mutex on exit 线程停止时发生的一个很简单的状态。
从库连接线程状态(State)值

这些线程状态发生在复制从库上,但与连接线程相关联,而不与I/OSQL线程相关联。文章来源地址https://www.toymoban.com/news/detail-598755.html

参数 含义
Changing master 线程正在处理CHANGE MASTER TO语句。
Killing slave 线程正在处理STOP SLAVE语句。
Opening master dump table 此状态发生在Creating table from master dump之后。
Reading master dump table data 此状态发生在Opening master dump table之后。
Rebuilding the index on master dump table 此状态发生在Reading master dump table data之后。

到了这里,关于show processlist 详解的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • MySQL数据库详解

    MySQL是一个广泛使用的开源关系数据库管理系统(RDBMS)。它使用了结构化查询语言(SQL)来管理存储在其系统中的数据。SQL是一种用于插入、更新、删除和检索数据库中数据的标准语言。 MySQL的主要特性包括: 性能优化:MySQL具有优秀的性能、可靠性和可扩展性,可以处理大

    2024年02月16日
    浏览(39)
  • 【数据库】 mysql用户授权详解

    目录 MySQL用户授权 一,密码策略 1,查看临时密码 2,查看数据库当前密码策略: 二, 用户授权和撤销授权 1、创建用户 2,删除用户 3,授权和回收权限 mysql刚安装时,临时密码会存储在 /var/log/mysqld.log 1,查看临时密码 方法一:直接给出密码   方法二:查到的语句的最后为

    2024年02月11日
    浏览(58)
  • MySQL数据库之事物(详解)

    目录 一.事物的概念 二.为什么需要事物 三.事物的执行机制 四.MySQL的事物基本使用 五.事物的ACID特性 5.1一致性 六 事物的隔离级别 6.1事物隔离的原因及解决思路 6.2MySQL事物的隔离级别 🎁个人主页:tq02的博客_CSDN博客-C语言,Java,Java数据结构领域博主 🎥 本文由 tq02 原创,首发

    2024年02月16日
    浏览(46)
  • Node.js程序如何访问MySQL数据库呢?Sequelize操作MySQL数据库详解

    当我们安装好MySQL后,Node.js程序如何访问MySQL数据库呢? 访问MySQL数据库只有一种方法,就是通过网络发送SQL命令,然后,MySQL服务器执行后返回结果。 我们可以在命令行窗口输入mysql -u root -p,然后输入root口令后,就连接到了MySQL服务器。因为没有指定–host参数,所以我们连

    2023年04月08日
    浏览(43)
  • 玩转MYSQL数据库之--视图详解

    从今天开始本系列文章就带各位小伙伴学习数据库技术。 数据库技术是Java开发中必不可少的一部分知识内容。也是非常重要的技术。本系列教程由浅入深, 全面讲解数据库体系。 非常适合零基础的小伙伴来学习。 全文大约 【1297】字 ,不说废话,只讲可以让你学到技术、

    2024年02月05日
    浏览(101)
  • Docker部署Mysql数据库详解

    目录   1. Docker部署Mysql 1.1 Mysql容器 1.1.1 创建Mysql容器 1.1.2 进入Mysql容器并登录Mysql 1.1.3 持久化数据  1.2 远程登录Mysql 1.2.1 修改root加密方式 1.2.2 在容器启动时配置加密方式为mysql_native_password  1.3 Mysql编码 1.3.1 Mysql编码问题  1.3.2 Mysql编码问题解决办法 送书活动   Docker是一种

    2024年02月13日
    浏览(42)
  • 【数据库】MySQL数据约束和表关系详解

    目录 1.数据库约束 1.1约束类型 1.2NULL约束 1.3UNIQUE:唯一约束 1.4DEFAULT:默认值约束 1.5PRIMARY:主键约束 1.6FOREIGH KEY:外键约束 2.表的关系 2.1一对一 2.2一对多 2.3多对多 数据库中的数据保存在数据表中,在表中为了更加准确的存储数据,保证数据的正确有效,可以在创建表的时候

    2024年02月04日
    浏览(45)
  • 使用C#连接MySQL数据库(详解)

    ✨前言✨ 本片文章,主要在于C#连接MySQL数据库,由于这之间无法建立直接联系,这时候就涉及到了第三方连接工具.NET,以此来建立C#与MySQL数据库的连接 🍒欢迎点赞 👍 收藏 ⭐留言评论 📝私信必回哟😁 🍒博主将持续更新学习记录收获,友友们有任何问题可以在评论区留

    2024年02月05日
    浏览(64)
  • MySQL 数据库导入命令 SOURCE 详解

    在 MySQL 数据库中,可以使用 SOURCE 命令来执行 SQL 脚本文件,并将其内容导入到当前数据库中。这是一个非常有用的命令,特别是当需要导入大量数据或者执行复杂的数据库操作时。本文将详细介绍 SOURCE 命令的使用方法,并提供相应的源代码示例。 使用 SOURCE 命令导入 SQL 脚

    2024年02月03日
    浏览(47)
  • MySQL数据库——MySQL字符集和校对规则详解

    在讲解字符集和校对规则之前,我们先来简单了解一下字符、字符集和字符编码。 字符(Character) 是计算机中字母、数字、符号的统称,一个字符可以是一个中文汉字、一个英文字母、一个阿拉伯数字、一个标点符号等。 计算机是以二进制的形式来存储数据的。平时我们在

    2024年02月05日
    浏览(42)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包