金沙棋牌app手机下载

当前位置:金沙棋牌 > 金沙棋牌app手机下载 > 解析MYSQL显示表信息的方法,中的常用工具

解析MYSQL显示表信息的方法,中的常用工具

来源:http://www.logblo.com 作者:金沙棋牌 时间:2019-09-04 19:15

一.概述

    mysqlshow客商端查找工具,能非常快地查找存在怎么样数据库,数据库中的表,表中的列或索引,和mysql顾客端工具很邻近,可是有一点点天性是mysql顾客端工具所不有所的。
  mysqlshow的选择办法如下:
图片 1

    倘诺不加任何选择,暗中同意情状下,会议及展览示全数数据库,下边将显示当前mysql中装有数据库。
图片 2

mysql(顾客端连接工具)

mysql[options][database]

这里的 options 表示 mysql 的可用选项,可以二遍写多个或然八个,也得以不写;database 表示连接的数据库,叁回只可以写二个,假如不写,连接成功后要求用 use database 来步入要操作的数据库

有二种表达情势:

  • -加选项单词的缩写字符,加选项值

      mysql --uroot
    
  • --加选项的完好单词加=加选项的实际值

      mysql --user=root
    

要打听越来越多的选项,能够应用 mysql --help 命令查看

前言

在用mysql时(show tables),临时候必要查看表和字段的有关音信(表与某字段是不是存在等.)~~而PHP提供了这么的相关函数,如:mysql_list_dbs(),mysql_list_fields(),但mysql_list_田野(field)s() 函数等已不符合时机,所以要用show...那些SQL指令来索求。

二.底下是mysqlshow的一些常用选项

    2.1 --count 呈现数据库和表的总括音信

      假如不钦定数据库,则展现各样数据库的称呼,表数据,库总记录行数。下边是翻开全数数据库。
图片 3

      即使钦定数据库,则展现钦定数据库的每种表名,表字段数量,表记录总行数。 上面是查看mysql库。
图片 4

      要是钦赐数据库和表,则体现字段消息, 下边是查看mysql库的user表。
图片 5

    2.2 -k 突显钦命表中的具有索引 
     该采用呈现两部份,一是钦定表的表结构,二是内定表的脚下目录消息.下面是体现mysql库下的user表。
图片 6

--下面的sql语句显示与上面功能一样,查询mysql库下的user表,一是字段信息,二是索引信息
    SHOW FULL COLUMNS FROM mysql.`user`
    SHOW INDEX  FROM mysql.`user`

   2.3 -i 突显表的片段场合新闻

      该选用照旧很有用的,上边是展示mysql库下的user表状态音讯。
图片 7

图片 8

   更多mysqlshow信息

连年选项

-u 或者 --user=name 钦点顾客名

-p 或者 --password[=name]钦定密码

-h 或者 --host=name 钦命服务器 IP 大概域名

-P 或者 --port=# 钦定连接端口

正文主要给大家介绍了关于MySQL常用工具的有关内容,分享出去供大家参谋学习,上面话没多少说了,来一块看看详细的牵线吧。

SHOW 指令(‘[..]'里的可选)
#来得mysql中享有数据库的名号
show databases;
#来得mysql中的相关表
show tables [ from db_name]
#突显数据表表状态信息
show table status
#翻开存款和储蓄进程气象
show procedure status
#列出表字段完整属性
show full fields from tbl_name
#显示表中列名称
show columns from table_name [ from database_name ] ; 或show columns from database_name.table_name;
#显示三个顾客的权能,呈现结果类似于grant 命令
show grants for user_name;
#列出表索引
show index from tbl_name
#显示表的目录
show index from table_name
#展示一些系统特定财富的音信,比方,正在周转的线程数量
show status [from   db_name]
#体现系统变量的名称和值
show [ global] variables
#展现系统中正在运作的装有进度,也正是当前正值实施的询问大好多客商能够查阅他们协和的经过,不过要是她们有所process权限,就足以查看全体人的历程,包蕴密码
show processlist
#呈现当前利用照旧钦点的database中的各个表的音信音信蕴含表类型和表的最新更新时间
show table status
#呈现服务器所协助的不及权限
show privileges
#展现create database 语句是不是能够创立钦点的数据库
show create database database_name
#呈现create database 语句是或不是能够创立钦赐的数据库
show create table table_name
#突显安装现在可用的存放引擎和暗中认可引擎
show engies
#浮现innoDB存款和储蓄引擎的气象
show innodb status
#来得BDB存款和储蓄引擎的日记
show logs   -----那么些曾经被放任了
#呈现最终三个推行的话语所发生的谬误、警告和通报
show warnings
#只展示最终三个施行语句所产生的失实
show errors
#来得安装后的可用存款和储蓄引擎和暗中同意引擎
show [storage] engines;
============================================================
mysqlshow,该指令只参显示数据库、表、列的新闻
例如:mysqlshow   -uroot   -pXXXX   mysql   #显示mysql数据库的音讯
例如:mysqlshow   -uroot   -pXXXX   mysql   user   #展现mysql数据库中user表的音信
例如:mysqlshow   -uroot   -pXXXX   mysql   user   user   #来得mysql数据库中user表中的user列的音信

客商端字符集选项

--default-character-set=character-name

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

你可能感兴趣的文章:

  • PHP获取mysql数据表的字段名称和详细信息的方法
  • MySQL中show命令方法获得表列及全体库的详细音讯(精品珍藏)
  • php 获取mysql数据库消息代码
  • php mysqli达成将数据库中一张表音信打字与印刷到表格里的艺术
  • PHP获取php,mysql,apche的版本音信示例代码
  • php mysql获取表字段名称和字段消息的二种方法
  • php获取mysql字段名称和别的音信的例证
  • MySQL笔记之系统信息函数详解
  • mysql 获取当天颁发的音讯的讲话
  • Sql查询MySql数据库中的表名和陈诉表中字段(列)音讯

实行选项

-e 或者 --execute=name 实践 SQL 语句并退出

此选项能够向来在 MySQL 顾客端试行 SQL 语句,而不用一而再到 MySQL 数据库后再推行

能够一而再进行四个 SQL 语句,用分号隔离

mysql -uroot -p -e"select * from dbtest.xixi;select * from dbtest.haha"

行使最频仍的总是数据库的客商端工具,使用语法如下:

格式化选项

-E 或者 --vertical 将出口格局依据字段顺序竖着突显,类似于 SQL 语句后加 G,能够将出口内容比非常多的行更清晰完整的展现,日常和 -e 选项联合使用

-s 或者 --silent 去掉 mysql 中的线条框彰显,字段之间用 tab 进行划分,每条记下展现一行

mysql [options] [database]

错误管理选项

-f 或者 --force 强制实行 SQL

-v 或者 --verbose 展现更加多新闻

--show-warnings 显示警告音讯

此地的 options 表示 mysql 的可用选项,能够一回写多个依然五个,以致足以不写;database 表示连接的数据库,三回只能写三个大概不写,假若不写,连接成功后须要用 “use database”命令来步入要操作的数据库。

myisampack(MyISAM 表压缩工具)

myisampack tname

减去后改为只读表

1. 连接选项

mysqladmin(MySQL 管理工科具)

mysqladmin 是八个进行管理操作的顾客端程序。能够用它来检查服务器的布局和日前的情事,创设并删除数据库等。它的效果与利益和 mysql 顾客端非常周边,主要分歧在于它更偏重于某些管理方面包车型客车法力,例如关闭数据库

mysqladmin [options] command [command-options] [command [command-options]]...

选择的表明方式有四种,比方:

mysqlbinlog(日志管理工科具)

是因为服务器生成的二进制日志文件以二进制格式保存,所以要是想要检查这个文件的文本格式,就能用到 mysqlbinlog 日志管理工科具

mysqlbinlog [options] log-files1 log-files2...

option 常用的选项如下:

-d 或者 --database=name 钦赐数据库名称,只列出钦赐的数据库相关操作

-o 或者 --offset=# 忽略掉日志中的前 n 行命令

-r 或者 -result-file=name 将出口的文本格式日志输出到钦赐文件

-s 或者 -short-form 呈现轻松格式,省略掉一部分音信

--set-charset=char-name 在出口为文本格式时,在文书的率先行加上 set names char-name

--start-datetime=name --stop-datetime=name 钦赐日期区间内的享有日志

--start-position=# --stop-position=# 钦赐地方距离内的持有日志

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

mysqlcheck(MyISM 表维护理工科人具)

mysqlcheck 顾客端工具得以检查和修补 MyISAM 表,还足以优化和解析表,实际上,它集成了 mysql 工具中的 check,repair,analyze,optimize 的功力

mysqlcheck [options] dbname [table]
mysqlcheck [options] --database db1[db2 db3...]
mysqlcheck [options] --all-database

option 中有以下常用选项:

-c 或者 --check 检查表(默认)

-r 或者 --repair 修复表

-a 或者 --analyze 分析表

-o 或者 --optimize 优化表

  1. 老是选项

mysqldump(数据导出工具)

mysqldump 客商端工具用来备份数据库或在不一致数据库之间开展多少迁移。备份内容满含创制表或装载表的 SQL 语句

mysqldump [options] dbname [tables]
mysqldump [options] --database db1[db2 db3]...
mysqldump [options] --all-database

mysqldump --help 查看更详尽功效

  • -u, --user=name    钦赐客商名
  • -p, --password[=name]    钦点密码 
  • -h, --host=name    钦点服务器 IP 大概域名 
  • -P, --port=#    钦点连接端口

出口内容选用

--add-drop-database 各类数据库成立语句前增进 drop database 语句

--add-drop-table 在各类表创设语句前增加 drop table 语句

上述那四个选项能够在导入数据库时不用先手工业删除旧的数据库,而是会自动删除,进步导入成效,不过导入前料定要办好备份并且承认旧数据库的确已经能够去除,否则误操作将会造成数据的损失。默许意况下,那多个参数都是活动抬高的

-n 或者 --no-create-db 不满含数据库的创始语句

-t 或者 --no-create-info 不含有数据表的创办语句

-d 或者 --no-data 不满含数据

诚如在在本地境况,为了便利,能够在 配置文件 my.cnf 中布局当前客户和密码,配置好后,直接实践 mysql 即可三翻五次到数据库:

输出格式选项

--compact 使出口结果简洁,不包含暗许选项中的各类注释

-c 或者 --complete-insert 使得出口文件中的 insert 语句蕴含字段名称,暗许不包罗

-T 将点名数量表中的多寡被分成单纯的多寡文本和建表 SQL 五个文本

[client]
user=root
password=000000
port = 3306
socket = /tmp/mysql.sock
default-character-set = utf8mb4

字符集选项

--default-character-set=name 能够设置导出的客户端字符集

本条选项在导出数据库的时候特别主要,假使客户端字符集和数据库字符集不雷同,数据在导出的时候就供给实行字符集转变,将数据库字符集转换为客商端字符集,经过转变后的多少很恐怕变为乱码或许特殊字符,使得备份文件不能恢复生机

安插好后,直接实践 mysql 就可以:

其它常用选项

-F 或者 --flush-logs:备份前刷新日志。加上此选项后,备份前将关闭旧日志,生成新日志。使得进行回复的时候一向从新日志先河开展重做,大大有利了苏醒进程

-l 或者 --lock-tables:给具备表加读锁。能够在备份时期选择,使得数据不恐怕被更新,进而使备份的数码保持一致性,能够同盟 -F 选项联合行使

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

mysqlimport(数据导入工具)

用来导入 mysqldump 加 -T 选项后导出的文本文件。它事实上是客商端提供了 load data infile 语句的叁个指令行接口

mysqlimport [options] dbname textfile1 [textfile2]...

签到远程服务器,须要钦定地址和端口:

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

用来赶快的搜寻存在哪些数据库,数据库中的表,表中的列或索引

mysqlshow [option] [dbname [tablename [colname]]]

假定不加任何取舍,暗许情状下会显得全部数据库

常用选项:

--count:呈现数据库和表的计算信息。假使不点名数据库,则体现每一个数据库的称号,表数据,记录数据;假如钦赐数据库,则显得钦命数据库的种种表名,字段数量,记录数据;若是钦赐具体数据库中的具体表,则展现表的字段音信

-k 或者 --keys:显示内定表中的具备索引

-i 或者 --status:呈现表的一部分场所信息

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

perror(错误代码查看工具)

perror [options] [errorcode [errorcode...]]

注意: 在正儿八经的生产条件中,为了安全起见,一般供给创立应用账号并授予适当权限,而不会用 root 直接操作数据库;默许端口(3306)一般不要选用,能够改为随便操作系统未占用的端口。

replace(文本替换工具)

replace from to [from to]... -- file [file]...
replace from to [from to]... < file

-- 表示字符串结束,文件的初叶,能够跟几个源文件,替换实现后会覆盖原来的小说件

< 表示前面包车型地铁文书作为输入,替换后的文本突显在行业内部输出上,不会覆盖原版的书文件

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 shutdown
Enter 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 selected
MySQL [(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 changed
MySQL [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 changed
MySQL [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: 0

MySQL [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)
  1. 不加任何参数,显示全体日志

注意:非得具备访谈指标文件的权能

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=7
SET @@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=0
SET 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=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 = 29
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*/;
  1. 加 -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 = 29
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*/;
  1. 加 -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 '
wWLCWQ8BAAAAdwAAAHsAAAABAAQANS43LjE4LWxvZwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAADBYsJZEzgNAAgAEgAEBAQEEgAAXwAEGggAAAAICAgCAAAACgoKKioAEjQA
AU1a/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=0
use `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 = 29
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*/;
  1. 加 -r 选项,将方面包车型地铁结果输出到文件 resultfile 中。
zj@bogon:/usr/local/mysql/bin$ sudo ./mysqlbinlog --no-defaults /data/mysql/mysql-bin.000001 -o 20 -r ./logfile
zj@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*/;
...
  1. 结果展现的剧情比较多,显得相比乱,加 -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*/;
  1. 加 “--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'

初步日期和甘休日期能够只写八个。假如只写起来日期,表示范围最先日期到日志甘休;假使只写停止日期,表示日志开端到钦定的告竣日期。

  1. --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 t2
t2.test1      OK
t2.test2      OK
  1. 修复表
zj@bogon:/data/mysql$ mysqlcheck -r t2
t2.test1
note : The storage engine for the table doesn't support repair
t2.test2      OK

test1 表的积攒引擎为 innodb,不协理 repair。

  1. 分析表
zj@bogon:/data/mysql$ mysqlcheck -a t2
t2.test1      OK
t2.test2      OK
  1. 优化表
zj@bogon:/data/mysql$ mysqlcheck -o t2
t2.test1
note : Table does not support optimize, doing recreate   analyze instead
status : OK
t2.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
  1. 输出内容选拔
  • --add-drop-database     每一种数据库成立语句前增加 drop database 语句
  • --add-drop-table        在各种表成立语句前增进 drop table 语句

在私下认可意况下,那多个参数都活动抬高。

  • -n, --no-create-db      不含有数据库的创始语句 
  • -t, --no-create-info    不包括数据表的创办语句
  • -d, --no-data           不分包数据
  1. 出口格式选项

--compact 选项使得出口结果简洁,不包罗暗中同意选项中的各样注释。

root@bogon:/usr/local/mysql/bin# ./mysqldump --compact t2 emp > emp.sql
root@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.sql
root@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
  1. 将 t2 数据库下的表 emp 备份到 bak 目录下
root@bogon:/usr/local/mysql/bin# ./mysqldump t2 emp -T ./bak
  1. 查阅 bak 目录,开掘五个文本
root@bogon:/usr/local/mysql/bin# ls ./bak
emp.sql emp.txt
  1. 翻看五个文件的剧情, .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 a
2 b b
  1. 字符集选项

mysqldump 导出的数额的字符集使用的是 mysqld 运行时的暗许字符集,假诺表的字符集用的不是暗中同意字符集,导出的多寡就有比不小可能率出现乱码。所以在导出时,应该先分明表的字符集,在导出时钦点该字符集就可以。

shell> mysqldump -uroot --compact --default-character-set=utf8 t2 emp > emp.sql
  1. 别的常用选项

-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 (显示数据库和表的计算新闻)

如若不点名数据库,则呈现每一个数据库的称谓、表数据、记录数据;

倘诺钦点数据库,则突显钦定数据库的每一个表名、字段数量,记录数据;

一经钦点具体数据库中的具体表,则显示表的字段音讯。

  1. -k 只怕 --keys (显示内定表中的享有索引)

此选项展现了两有的剧情,一部分是内定表的表结构,另一局地中是钦定表的当下目录音讯

  1. -i 大概 --status (展现表的片段动静音讯)

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

在 MySQL 的利用进程中,大概会油不过生有滋有味标 error。这几个 error 某个是由于操作系统引起的,例如文件可能目录不设有;有些则是出于存款和储蓄引擎使用不当引起的。那个error 一般都有二个代码,类似于 “error:#” 或者 “Errcode:#”,“#” 代表切实的错误号。perror 的成效正是表达那一个错误代码的详细含义:

perror [options] [errorcode [errorcode]]

zj@bogon:/usr/local/mysql/bin$ perror 30
OS error code 30: Read-only file system
zj@bogon:/usr/local/mysql/bin$ perror 60
OS error code 60: Device not a stream
zj@bogon:/usr/local/mysql/bin$ perror 30 60
OS error code 30: Read-only file system
OS error code 60: Device not a stream

总结

如上正是那篇小说的全体内容了,希望本文的从头到尾的经过对我们的就学可能专门的职业能带动一定的支持,假若有疑点我们能够留言沟通,多谢我们对台本之家的支撑。

你可能感兴趣的小说:

  • 5个常用的MySQL数据库管理工科具详细介绍
  • Mysql导入导出工具Mysqldump和Source命令用法详解
  • MYSQL ZIP免安装版配置步骤及图形化管理工科具mysql-workbench
  • MySQL品质剖析工具profile使用教程
  • Mysqlslap MySQL压力测验工具 轻巧教程
  • 行使Xtrabackup工具有份及回复(MySQL DBA的须求工具)
  • mysql中优化和修补数据库工具mysqlcheck详细介绍
  • Mysql自带profiling质量深入分析工具使用分享
  • 四款常用mysql slow log深入分析工具的可比分析
  • mytop 使用介绍 mysql实时监察和控制工具

本文由金沙棋牌发布于金沙棋牌app手机下载,转载请注明出处:解析MYSQL显示表信息的方法,中的常用工具

关键词: