必赢的网址登录 > 数据库 > 行使最频繁的连接数据库的顾客端工具,   

原标题:行使最频繁的连接数据库的顾客端工具,   

浏览次数:68 时间:2019-10-01

一.概述

    mysqlshow客商端查找工具,能异常快地查找存在什么样数据库,数据库中的表,表中的列或索引,和mysql客商端工具很临近,不过某些天性是mysql顾客端工具所不有所的。
  mysqlshow的应用形式如下:
图片 1

    如若不加任何取舍,默许景况下,会来得全数数据库,上面将显妥贴前mysql中负有数据库。
图片 2

mysql(客商端连接工具)

mysql[options][database]

这里的 options 表示 mysql 的可用选项,能够一遍写贰个要么多少个,也足以不写;database 表示连接的数据库,叁回只可以写三个,假使不写,连接成功后要求用 use database 来走入要操作的数据库

有两种表明方式:

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

      mysql --uroot
    
  • --加选项的全体单词加=加选项的实际值

      mysql --user=root
    

要询问越来越多的选项,能够选取 mysql --help 命令查看

前言

二.上面是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常用工具的连带内容,分享出去供大家参考学习,下面话十分少说了,来共同拜谒详细的介绍吧。

客商端字符集选项

--default-character-set=character-name

一、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 语句,用土耳其(Turkey)语分号(;)隔离。

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实时监察工具

本文由必赢的网址登录发布于数据库,转载请注明出处:行使最频繁的连接数据库的顾客端工具,   

关键词:

上一篇:没有了

下一篇:没有了