MySQL中的常用工具的实例总结

mysql数据库以体积小、速度快、总体拥有成本低等优点,深受广大中小企业的喜爱,下面这篇文章主要给大家介绍了关于mysql中常用工具的相关资料,需要的朋友们可以参考学习,下面来一起看看吧。

前言

本文主要给大家介绍了关于MySQL常用工具的相关内容,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍吧。

一、mysql (客户端连接工具)

使用最频繁的连接数据库的客户端工具,使用语法如下:

mysql [options] [database]

登录后复制

这里的 options 表示 mysql 的可用选项,可以一次写一个或者多个,甚至可以不写;database 表示连接的数据库,一次只能写一个或者不写,如果不写,连接成功后需要用 “use database”命令来进入要操作的数据库。

1. 连接选项

选项的表达方式有多种,例如:

# 这三种方式都是可以的shell> mysql -u rootshell> mysql -urootshell> mysql -user=root

登录后复制

1. 连接选项

-u, –user=name    指定用户名

-p, –password[=name]    指定密码 

-h, –host=name    指定服务器 IP 或者域名 

-P, –port=#    指定连接端口

一般在在本地环境,为了方便,可以在 配置文件 my.cnf 中配置当前用户和密码,配置好后,直接执行 mysql 就可以连接到数据库:

[client]user=rootpassword=000000port = 3306socket = /tmp/mysql.sockdefault-character-set = utf8mb4

登录后复制

配置好后,直接执行 mysql 即可:

zj@bogon:~$ mysqlWelcome to the MySQL monitor. Commands end with ; or g.Your MySQL connection id is 19...

登录后复制

登录远程服务器,需要指定地址和端口:

shell> mysql -h 192.168.10.10 -P 3306 -uroot -p

登录后复制

注意: 在正式的生产环境中,为了安全起见,一般需要创建应用账号并赋予适当权限,而不会用 root 直接操作数据库;默认端口(3306)一般不要使用,可以改为任意操作系统未占用的端口。

2. 客户端字符集选项

--default-character-set=charset-name

登录后复制

作为服务器的字符集选项,这个选项也可以配置在 my.cnf 的 [mysqld] 组中。同样,作为客户端字符集选项,也可以配置在 my.cnf 的 [mysql]组中,这样每次用 mysql 工具连接数据库的时候就会自动使用此客户端字符集。当然,也可以在 mysql 的命令行中手工指定客户端字符集:

shell> mysql -u user -default-character-set=charset

登录后复制

相当于在 mysql 客户端连接成功后执行:

set names charset;

登录后复制

3. 执行选项

-e, --execute=name // 执行 sql 语句并退出

登录后复制

此选项可以直接在 MySQL 客户端执行 sql 语句,对于一些批处理脚本,这是方式尤其方便:

zj@bogon:~$ mysql mysql -e "select user,host from user"+-----------+-----------+| user | host |+-----------+-----------+| root | 127.0.0.1 || mysql.sys | localhost || root | localhost |+-----------+-----------+

登录后复制

可以按这种方式连续执行多个 sql 语句,用英文分号(;)隔开。

4. 格式化选项

-E, –vertical    将输出方式按照字段顺序竖着显示 

-s, –silent    去掉 mysql 中的线条框显示

“-E” 选项类似于 mysql 里面执行 sql 语句后加 “G”, 经常和 -e 一起使用。

二、myisampack (myisam 表压缩工具)

myisampack 是一个表压缩工具,可以使用很高的压缩率来对 myisam 存储引擎的表进行压缩,使得压缩后的表占用比压缩前小得多的空间。但是压缩后的表将成为一个只读表,不能进行 DML 操作。

三、mysqladmin(MySQL 管理工具)

mysqladmin 是一个执行管理操作的客户端程序。可以用它来检查服务器的配置和当前状态、创建并删除数据库等。它的功能与 mysql 客户端非常类似,主要区别在于它更侧重于一些管理方面的功能。

使用语法:

shell> mysqladmin [options] command [command-options]...

登录后复制

可以执行的命令如下:

 create databasename Create a new database 新建数据库 debug  Instruct server to write debug information to log 把 debug 日志记录到日志文件中 drop databasename Delete a database and all its tables 删除数据库 extended-status Gives an extended status message from the server 查看 MySQL 服务器的状态信息 flush-hosts Flush all cached hosts flush-logs Flush all logs flush-status Clear status variables flush-tables Flush all tables flush-threads Flush the thread cache flush-privileges Reload grant tables (same as reload) kill id,id,... Kill mysql threads password [new-password] Change old password to new-password in current format ping  Check if mysqld is alive processlist Show list of active threads in server reload  Reload grant tables refresh  Flush all tables and close and open logfiles shutdown  Take server down status  Gives a short status message from the server start-slave Start slave stop-slave Stop slave variables  Prints variables available version  Get version info from server

登录后复制

举例:

zj@bogon:/usr/local/mysql/bin$ mysqladmin -uroot -p shutdownEnter password:

登录后复制

四、日志管理工具

由于服务器生成的二进制文件以二进制格式保存,所以如果想要检查这些文件的文本格式,就会用到 mysqlbinlog 日志管理工具。

用法如下:

shell> mysqlbinlog [option] log-file1 log-file2...

登录后复制

option 有很多选项:

-d,–database=name: 指定数据库名称,只列出指定的数据库相关操作。

-o, –offset=#: 忽略日志中的前 n 行命令。

-r, –result-file=name: 将输出的文本格式日志输出到指定文件

-s, –short-form: 显示简单格式,省略掉一些信息。

–start-datetime=name –stop-datetime=name: 指定日期间隔内的所有日志。

–start-position=# –stop-position=#: 指定位置间隔内的所有日志

1. 示例准备:创建新日志,新建库 t1 和 t2, 以及分别新建表 test1 和 test2

MySQL [(none)]> reset master;Query OK, 0 rows affected (0.01 sec)MySQL [(none)]> create table t1(id int,name varchar);ERROR 1046 (3D000): No database selectedMySQL [(none)]> reset master;Query OK, 0 rows affected (0.01 sec)MySQL [(none)]> create database t1;Query OK, 1 row affected (0.04 sec)MySQL [(none)]> create database t2;Query OK, 1 row affected (0.02 sec)MySQL [(none)]> use t1;Database changedMySQL [t1]> create table test1(id int, name varchar(30));Query OK, 0 rows affected (0.11 sec)MySQL [t1]> insert into test1 value (1,'zj');Query OK, 1 row affected (0.14 sec)MySQL [t1]> insert into test1 value (2,'zj2');Query OK, 1 row affected (0.02 sec)MySQL [t1]> use t2;Database changedMySQL [t2]> create table test2(id int,name varchar(30));Query OK, 0 rows affected (0.02 sec)MySQL [t2]> insert into test2 select * from t1.test1;Query OK, 2 rows affected (0.03 sec)Records: 2 Duplicates: 0 Warnings: 0MySQL [t2]> select * from t1.test1;+------+------+| id | name |+------+------+| 1 | zj || 2 | zj2 |+------+------+2 rows in set (0.02 sec)MySQL [t2]> select * from test2;+------+------+| id | name |+------+------+| 1 | zj || 2 | zj2 |+------+------+2 rows in set (0.00 sec)

登录后复制

2. 不加任何参数,显示所有日志

注意:必须拥有访问目标文件的权限

zj@bogon:/usr/local/mysql/bin$ sudo ./mysqlbinlog --no-defaults /data/mysql/mysql-bin.000001[sudo] password for zj: /*!50530 SET @@SESSION.PSEUDO_SLAVE_MODE=1*/;/*!50003 SET @OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0*/;DELIMITER /*!*/;# at 4#170920 20:44:49 server id 1 end_log_pos 123 CRC32 0x42fd5a4d Start: binlog v 4, server v 5.7.18-log created 170920 20:44:49 at startup......create table test2(id int,name varchar(30))/*!*/;# at 1366#170920 20:50:29 server id 1 end_log_pos 1431 CRC32 0x18a95938 Anonymous_GTID last_committed=6 sequence_number=7SET @@SESSION.GTID_NEXT= 'ANONYMOUS'/*!*/;# at 1431#170920 20:50:29 server id 1 end_log_pos 1509 CRC32 0x2fa8bd6c Query thread_id=4 exec_time=0 error_code=0SET TIMESTAMP=1505911829/*!*/;BEGIN/*!*/;# at 1509#170920 20:50:29 server id 1 end_log_pos 1622 CRC32 0x77ce6f3b Query thread_id=4 exec_time=0 error_code=0SET TIMESTAMP=1505911829/*!*/;insert into test2 select * from t1.test1/*!*/;# at 1622#170920 20:50:29 server id 1 end_log_pos 1653 CRC32 0x41b7a45b Xid = 29COMMIT/*!*/;SET @@SESSION.GTID_NEXT= 'AUTOMATIC' /* added by mysqlbinlog */ /*!*/;DELIMITER ;# End of log file/*!50003 SET COMPLETION_TYPE=@OLD_COMPLETION_TYPE*/;/*!50530 SET @@SESSION.PSEUDO_SLAVE_MODE=0*/;

登录后复制

3. 加 -d 选项,将只显示 t2 数据库的操作日志

zj@bogon:/usr/local/mysql/bin$ sudo ./mysqlbinlog --no-defaults /data/mysql/mysql-bin.000001 -d t2/*!50530 SET @@SESSION.PSEUDO_SLAVE_MODE=1*/;/*!50003 SET @OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0*/;......SET TIMESTAMP=1505911829/*!*/;insert into test2 select * from t1.test1/*!*/;# at 1622#170920 20:50:29 server id 1 end_log_pos 1653 CRC32 0x41b7a45b Xid = 29COMMIT/*!*/;SET @@SESSION.GTID_NEXT= 'AUTOMATIC' /* added by mysqlbinlog */ /*!*/;DELIMITER ;# End of log file/*!50003 SET COMPLETION_TYPE=@OLD_COMPLETION_TYPE*/;/*!50530 SET @@SESSION.PSEUDO_SLAVE_MODE=0*/;

登录后复制

4. 加 -o 选项, 忽略掉前 20 行命令

zj@bogon:/usr/local/mysql/bin$ sudo ./mysqlbinlog --no-defaults /data/mysql/mysql-bin.000001 -o 20/*!50530 SET @@SESSION.PSEUDO_SLAVE_MODE=1*/;/*!50003 SET @OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0*/;DELIMITER /*!*/;# at 4#170920 20:44:49 server id 1 end_log_pos 123 CRC32 0x42fd5a4d Start: binlog v 4, server v 5.7.18-log created 170920 20:44:49 at startup# Warning: this binlog is either in use or was not closed properly.ROLLBACK/*!*/;BINLOG 'wWLCWQ8BAAAAdwAAAHsAAAABAAQANS43LjE4LWxvZwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADBYsJZEzgNAAgAEgAEBAQEEgAAXwAEGggAAAAICAgCAAAACgoKKioAEjQAAU1a/UI='/*!*/;# at 1509#170920 20:50:29 server id 1 end_log_pos 1622 CRC32 0x77ce6f3b Query thread_id=4 exec_time=0 error_code=0use `t2`/*!*/;SET TIMESTAMP=1505911829/*!*/;SET @@session.pseudo_thread_id=4/*!*/;SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=0, @@session.unique_checks=1, @@session.autocommit=1/*!*/;SET @@session.sql_mode=1436549152/*!*/;SET @@session.auto_increment_increment=1, @@session.auto_increment_offset=1/*!*/;/*!C utf8mb4 *//*!*/;SET @@session.character_set_client=45,@@session.collation_connection=45,@@session.collation_server=45/*!*/;SET @@session.lc_time_names=0/*!*/;SET @@session.collation_database=DEFAULT/*!*/;insert into test2 select * from t1.test1/*!*/;# at 1622#170920 20:50:29 server id 1 end_log_pos 1653 CRC32 0x41b7a45b Xid = 29COMMIT/*!*/;SET @@SESSION.GTID_NEXT= 'AUTOMATIC' /* added by mysqlbinlog */ /*!*/;DELIMITER ;# End of log file/*!50003 SET COMPLETION_TYPE=@OLD_COMPLETION_TYPE*/;/*!50530 SET @@SESSION.PSEUDO_SLAVE_MODE=0*/;

登录后复制

5. 加 -r 选项,将上面的结果输出到文件 resultfile 中。

zj@bogon:/usr/local/mysql/bin$ sudo ./mysqlbinlog --no-defaults /data/mysql/mysql-bin.000001 -o 20 -r ./logfilezj@bogon:/usr/local/mysql/bin$ sudo more ./logfile/*!50530 SET @@SESSION.PSEUDO_SLAVE_MODE=1*/;/*!50003 SET @OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0*/;...

登录后复制

6. 结果显示的内容较多,显得比较乱,加 -s 选项将上面的内容进行简单显示

zj@bogon:/usr/local/mysql/bin$ sudo ./mysqlbinlog --no-defaults /data/mysql/mysql-bin.000001 -o 20 -s/*!50530 SET @@SESSION.PSEUDO_SLAVE_MODE=1*/;/*!50003 SET @OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0*/;DELIMITER /*!*/;ROLLBACK/*!*/;use `t2`/*!*/;SET TIMESTAMP=1505911829/*!*/;SET @@session.pseudo_thread_id=999999999/*!*/;SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=0, @@session.unique_checks=1, @@session.autocommit=1/*!*/;SET @@session.sql_mode=1436549152/*!*/;SET @@session.auto_increment_increment=1, @@session.auto_increment_offset=1/*!*/;/*!C utf8mb4 *//*!*/;SET @@session.character_set_client=45,@@session.collation_connection=45,@@session.collation_server=45/*!*/;SET @@session.lc_time_names=0/*!*/;SET @@session.collation_database=DEFAULT/*!*/;insert into test2 select * from t1.test1/*!*/;COMMIT/*!*/;SET @@SESSION.GTID_NEXT= 'AUTOMATIC' /* added by mysqlbinlog */ /*!*/;DELIMITER ;# End of log file/*!50003 SET COMPLETION_TYPE=@OLD_COMPLETION_TYPE*/;/*!50530 SET @@SESSION.PSEUDO_SLAVE_MODE=0*/;

登录后复制

7. 加 “–start-datetime –stop-datetime” 选项显示 5:00:00 ~ 5:01:00 之间的日志

zj@bogon:/usr/local/mysql/bin$ sudo ./mysqlbinlog --no-defaults /data/mysql/mysql-bin.000001 --start-datetime="2017/09/30 05:00:00" --stop-datetime='2017/09/30 05:01:00'

登录后复制

开始日期和结束日期可以只写一个。如果只写开始日期,表示范围开始日期到日志结束;如果只写结束日期,表示日志开始到指定的结束日期。

8. –start-position=# 和 –stop-position=#, 与日期范围类似,不过可以更精确的表示范围。

sudo ./mysqlbinlog --no-defaults /data/mysql/mysql-bin.000001 --start-position=4 --stop-datetime=100

登录后复制

五、mysqlcheck (myisam 表维护工具)

mysqlcheck 工具可以检查和修复 myisam 表,还可以优化和分析表。实际上,它集成了 mysql 工具中的 check、repair、analyze、optimize

有 3 种方式可以来调用 mysqlcheck:

shell> mysqlcheck [options] db_name [tables]shell> mysqlcheck [options] --database DB1 [DB2 DB3...]shell> mysqlcheck [options] --all-databse

登录后复制

option 中有以下常用选项:

-c, –check (检查表)

-r, –repair (修复表)

-a, –analyze (分析表)

-o, –optimize (优化表)

其中,默认选项是 -c (检查表)

示例:

1. 检查表

zj@bogon:/data/mysql$ mysqlcheck -c t2t2.test1      OKt2.test2      OK

登录后复制

2. 修复表

zj@bogon:/data/mysql$ mysqlcheck -r t2t2.test1note : The storage engine for the table doesn't support repairt2.test2      OK

登录后复制

test1 表的存储引擎为 innodb,不支持 repair。

3. 分析表

zj@bogon:/data/mysql$ mysqlcheck -a t2t2.test1      OKt2.test2      OK

登录后复制

4. 优化表

zj@bogon:/data/mysql$ mysqlcheck -o t2t2.test1note : Table does not support optimize, doing recreate + analyze insteadstatus : OKt2.test2

登录后复制

六、mysqldump (数据导出工具)

mysqldump 客户端工具用来备份数据库或在不同数据库之间进行数据迁移。备份内容包含创建表或装载表的 sql 语句。

有三中方式来调用 mysqldump:

mysqldump [OPTIONS] database [tables] // 备份单个数据库或者库中部分数据表mysqldump [OPTIONS] --databases [OPTIONS] DB1 [DB2 DB3...] //备份指定的一个或者多个数据库mysqldump [OPTIONS] --all-databases [OPTIONS] // 备份所有数据库

登录后复制

1. 连接选项

-u, –user=name             // 指定用户名

-p, –password[=name]       // 指定密码 

-h, –host=name             // 指定服务器 IP 或者域名

-p, –port=#                // 指定连接端口

示例:

shell> mysqldump -h192.18.10.10 -p3306 -uroot -p test > test.sql

登录后复制

2. 输出内容选项

–add-drop-database     每个数据库创建语句前加上 drop database 语句

–add-drop-table        在每个表创建语句前加上 drop table 语句

在默认情况下,这两个参数都自动加上。

-n, –no-create-db      不包含数据库的创建语句 

-t, –no-create-info    不包含数据表的创建语句

-d, –no-data           不包含数据

3. 输出格式选项

–compact 选项使得输出结果简洁,不包括默认选项中的各种注释。

root@bogon:/usr/local/mysql/bin# ./mysqldump --compact t2 emp > emp.sqlroot@bogon:/usr/local/mysql/bin# more emp.sql/*!40101 SET @saved_cs_client = @@character_set_client */;/*!40101 SET character_set_client = utf8 */;CREATE TABLE `emp` ( `id` int(11) NOT NULL DEFAULT '0', `name` varchar(10) DEFAULT NULL, `context` text, PRIMARY KEY (`id`)) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;/*!40101 SET character_set_client = @saved_cs_client */;INSERT INTO `emp` VALUES (1,'a','a'),(2,'b','b');

登录后复制

-c 或者 –complete-insert 选项使得输出文件中的 insert 语句包括字段名称,默认是不包括字段名称的。

root@bogon:/usr/local/mysql/bin# ./mysqldump -c --compact t2 emp > emp.sqlroot@bogon:/usr/local/mysql/bin# more emp.sql/*!40101 SET @saved_cs_client = @@character_set_client */;/*!40101 SET character_set_client = utf8 */;CREATE TABLE `emp` ( `id` int(11) NOT NULL DEFAULT '0', `name` varchar(10) DEFAULT NULL, `context` text, PRIMARY KEY (`id`)) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;/*!40101 SET character_set_client = @saved_cs_client */;INSERT INTO `emp` (`id`, `name`, `context`) VALUES (1,'a','a'),(2,'b','b');

登录后复制

-T 选项将指定数据表中的数据备份为单纯的数据文本和建表 sql 两个文件,经常和下面几个选项一起配合使用,将数据导出为指定格式显示。

-T, –tab=name                  备份数据和建表语句

–fileds-terminated-by=name     域分隔符

–fileds-enclosed-by=name       域引用符

–fileds-optionally-enclosed-by=name    域可选引用符

–fileds-escaped-by=name        转义字符

示例:将 t2 数据库中的表 emp 导出为单纯的数据文本和建表 sql 两个文件,并存放在当前路径下的 bak 目录下。

1.创建备份目录

root@bogon:/usr/local/mysql/bin# mkdir bak

登录后复制

2. 将 t2 数据库下的表 emp 备份到 bak 目录下

root@bogon:/usr/local/mysql/bin# ./mysqldump t2 emp -T ./bak

登录后复制

3. 查看 bak 目录,发现两个文件

root@bogon:/usr/local/mysql/bin# ls ./bakemp.sql emp.txt

登录后复制

4. 查看两个文件的内容, .sql 结尾的是建表及插入数据的sql,.txt 结尾的是表数据

root@bogon:/usr/local/mysql/bin# more ./bak/emp.sql-- MySQL dump 10.13 Distrib 5.7.18, for Linux (x86_64)---- Host: localhost Database: t2-- -------------------------------------------------------- Server version 5.7.18-log/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;/*!40101 SET NAMES utf8mb4 */;/*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */;/*!40103 SET TIME_ZONE='+00:00' */;/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='' */;/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */;---- Table structure for table `emp`--DROP TABLE IF EXISTS `emp`;/*!40101 SET @saved_cs_client = @@character_set_client */;/*!40101 SET character_set_client = utf8 */;CREATE TABLE `emp` ( `id` int(11) NOT NULL DEFAULT '0', `name` varchar(10) DEFAULT NULL, `context` text, PRIMARY KEY (`id`)) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;/*!40101 SET character_set_client = @saved_cs_client */;/*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */;/*!40101 SET SQL_MODE=@OLD_SQL_MODE */;/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */;-- Dump completed on 2017-09-21 12:07:38

登录后复制

root@bogon:/usr/local/mysql/bin# more ./bak/emp.txt 1 a a2 b b

登录后复制

4. 字符集选项

mysqldump 导出的数据的字符集使用的是 mysqld 启动时的默认字符集,如果表的字符集用的不是默认字符集,导出的数据就有可能出现乱码。所以在导出时,应该先确定表的字符集,在导出时指定该字符集即可。

shell> mysqldump -uroot --compact --default-character-set=utf8 t2 emp > emp.sql

登录后复制

5. 其他常用选项

-F –flush-logs (备份前刷新日志)

加上此选项后,备份前将关闭就日志,生成新日志。使得进行恢复的时候直接从新日志开始进行重做,大大方便了恢复过程。

-l –lock-tables (给所有表加读锁)

可以在备份期间使用,使得数据无法被更新,从而使备份的数据保持一致性,可以配合 -F 选项一起使用。

七、mysqlimport (数据导入工具)

mysqlimport 是客户端数据导入工具,用来导入 mysqldump 加 -T 选项后导出的文本文件。

基本用法:

shell> mysqlimport [options] db_name textfile1

登录后复制

八、mysqlshow (数据库对象查看工具)

mysqlshow 客户端对象查找工具,用来很快的查找存在哪些数据库,数据库中的表、表中的列或索引,和 mysql 客户端工具很类似,不过有些特性是 mysql 客户端工具所不具备的。

使用方法:

shell> mysqlshow [option] [db_name [tbl_name [col_name]]]

登录后复制

如果不加任何选项,默认情况下会显示所有数据库。

常用选项:

1. –count (显示数据库和表的统计信息)

如果不指定数据库,则显示每个数据库的名称、表数量、记录数量;

如果指定数据库,则显示指定数据库的每个表名、字段数量,记录数量;

如果指定具体数据库中的具体表,则显示表的字段信息。

2. -k 或者 –keys (显示指定表中的所有索引)

此选项显示了两部分内容,一部分是指定表的表结构,另一部分中是指定表的当前索引信息

3. -i 或者 –status (显示表的一些状态信息)

九、perror (错误代码查看工具)

在 MySQL 的使用过程中,可能会出现各种各样的 error。这些 error 有些是由于操作系统引起的,比如文件或者目录不存在;有些则是由于存储引擎使用不当引起的。这些 error 一般都有一个代码,类似于 “error:#” 或者 “Errcode:#”,“#” 代表具体的错误号。perror 的作用就是解释这些错误代码的详细含义:

perror [options] [errorcode [errorcode]]zj@bogon:/usr/local/mysql/bin$ perror 30OS error code 30: Read-only file systemzj@bogon:/usr/local/mysql/bin$ perror 60OS error code 60: Device not a streamzj@bogon:/usr/local/mysql/bin$ perror 30 60OS error code 30: Read-only file systemOS error code 60: Device not a stream

登录后复制

总结

以上就是MySQL中的常用工具的实例总结的详细内容,更多请关注【创想鸟】其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。

发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/1797397.html

(0)
上一篇 2025年2月21日 12:06:32
下一篇 2025年2月21日 12:14:03

AD推荐 黄金广告位招租... 更多推荐

相关推荐

  • Linux LAMP怎样进行故障排查

    在linux环境下搭建的lamp(linux, apache, mysql, php)服务器可能会遇到各种问题,进行故障排查通常需要遵循以下步骤: 1. 确认问题类型 服务器无法启动:检查Apache、MySQL和PHP-FPM服务是否已启…

    编程技术 2025年5月2日
    000
  • 让PhpStudy运行CodeIgniter源码的配置要点

    选择在phpstudy上运行codeigniter是因为phpstudy提供了便捷的php、apache和mysql配置,结合codeigniter的轻量级特性,可以提高开发效率。1.确保phpstudy已安装并运行正常,启动apache和…

    2025年5月2日
    000
  • 软件app开发涉及的技术和过程有哪些?

    一、app开发涉及的技术 移动端编程:App开发包括在移动设备上设计和开发独立的应用程序。移动端编程需要熟悉移动操作系统,如Android和iOS,这些系统提供特定的移动设备编程接口(API),以便高效编写移动应用程序。 应用程序界面设计:…

    2025年5月2日
    000
  • Mysql中自定义函数的创建和执行方法是什么

    Mysql自定义函数的创建和执行 假设students表中包含id和name两个字段,创建一个函数,函数的作用是根据id查找name 1.创建表,插入数据 create table students(id int,name varchar(…

    2025年5月2日
    000
  • mysql查询慢日志怎么开启

    一、什么是MySQL查询慢日志 MySQL查询慢日志是MySQL自带的性能分析工具,用于记录超过指定时间阈值的查询请求。慢查询日志中记录了每个查询的不同性能指标,比如所需时间、执行次数以及执行计划等。开发人员可以通过这些指标识别出需要优化的…

    编程技术 2025年5月2日
    000
  • 评估 PHP 框架与外部技术的兼容性

    评估 php 框架兼容性的关键方面包括数据库支持、前端集成、缓存机制、外部服务集成和 api 开发。通过考虑这些因素,您可以选择一个兼容性高的框架,例如 laravel,它支持多种数据库、流行前端框架、内置和第三方缓存解决方案,以及与外部服…

    2025年5月2日
    000
  • PHP 与云计算:从初学者到高级的学习路径

    本指南提供了从初学者到高级的 php 与云计算学习路径:初学者:初学者了解 php 基础、本地开发环境,并构建简单 web 应用程序。初级:初级学习云计算概念,将 php 应用程序部署到云平台,并利用云服务。中级:中级掌握数据库管理、缓存、…

    2025年5月2日
    000
  • Linux 用户和组账户管理:详解配置文件与权限等级制度

    1.用户和组帐户管理 用户管理简介 linux操作系统是一个多用户操作系统linux用户相关命令,它允许多用户同时登陆到系统上并使用资源。系统会按照帐户来分辨每位用户的文件,进程,任务和工作环境,致使每位用户工作都不受干扰。 对安全要求高的…

    2025年5月2日 编程技术
    000
  • php项目有哪些技术

    PHP 项目的技术栈包括:后端技术:PHP 框架(如 Laravel)、数据库、ORM、微服务前端技术:核心 Web 技术(HTML、CSS、JavaScript)、前端框架、CSS 预处理器其他必需品:Web 服务器、版本控制系统、调试器…

    2025年5月2日
    000
  • 如何用命令查看数据库日志文件

    查看数据库日志文件的方法取决于你使用的数据库系统。没有一种放之四海而皆准的命令。以下我将针对几种常见的数据库系统,分别说明如何查看其日志文件,并分享一些我实际操作中遇到的问题和解决方法。 MySQL: MySQL 的日志文件位置和文件名取决…

    2025年5月2日
    000

发表回复

登录后才能评论