上面将展现当前mysql中持有数据库,表示连接的数

2019-09-19 23:49栏目:网络数据
TAG:

二.下边是mysqlshow的有些常用选项

    2.1 --count 显示数据库和表的计算音讯

      如若不点名数据库,则展现各种数据库的名称,表数据,库总记录行数。上面是翻开全体数据库。
图片 1

      如果内定数据库,则显示钦点数据库的各种表名,表字段数量,表记录总行数。 上边是翻开mysql库。
图片 2

      如果钦定数据库和表,则展现字段音讯, 下边是翻开mysql库的user表。
图片 3

    2.2 -k 显示钦定表中的具备索引 
     该选取展现两部份,一是钦定表的表结构,二是内定表的日前目录新闻.上面是展现mysql库下的user表。
图片 4

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

   2.3 -i 凸显表的一些情状新闻

      该采纳依旧很有用的,下边是显示mysql库下的user表状态信息。
图片 5

图片 6

   更多mysqlshow信息

字符集选项

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

那个选项在导出数据库的时候极其主要,假如客商端字符集和数据库字符集分歧等,数据在导出的时候就须要展开字符集转换,将数据库字符集转换为顾客端字符集,经过调换后的数码很恐怕形成乱码大概特殊字符,使得备份文件不可能恢复生机

你恐怕感兴趣的小说:

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

一.概述

    mysqlshow客商端查找工具,能极快地搜索存在怎么样数据库,数据库中的表,表中的列或索引,和mysql顾客端工具很类似,然则有一点个性是mysql客商端工具所不有所的。
  mysqlshow的应用方法如下:
图片 7

    假诺不加任何取舍,暗中同意意况下,会显得全数数据库,下边将呈现当前mysql中具备数据库。
图片 8

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

用来一点也不慢的检索存在如何数据库,数据库中的表,表中的列或索引

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

例如不加任何取舍,暗中同意情状下会呈现全体数据库

常用选项:

--count:显示数据库和表的总结音讯。假若不钦命数据库,则显得每一个数据库的名目,表数据,记录数据;假诺钦命数据库,则呈现钦点数据库的各种表名,字段数量,记录数据;固然钦命具体数据库中的具体表,则呈现表的字段音讯

-k 或者 --keys:展现内定表中的全部索引

-i 或者 --status:显示表的部分意况音信

  1. 输出内容选用

老是选项

-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 不含有数据

  1. 加 -r 选项,将方面包车型大巴结果输出到文件 resultfile 中。

mysqlimport(数据导入工具)

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

mysqlimport [options] dbname textfile1 [textfile2]...
root@bogon:/usr/local/mysql/bin# mkdir bak

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=# 钦赐地点间距内的具有日志

  1. 总是选项

mysqldump(数据导出工具)

mysqldump 客商端工具用来备份数据库或在差别数据库之间开展多少迁移。备份内容包罗成立表或装载表的 SQL 语句

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

mysqldump --help 查看更详实成效

-l --lock-tables (给全体表加读锁)

错误管理选项

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

-v 或者 --verbose 显示更加多消息

--show-warnings 突显警告音信

option 中有以下常用选项:

replace(文本替换工具)

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

-- 表示字符串停止,文件的初阶,能够跟八个源文件,替换完成后会覆盖原著件

< 表示后面包车型大巴公文作为输入,替换后的文件展现在专门的工作输出上,不会覆盖原作件

登入远程服务器,供给钦点地方和端口:

输出格式选项

--compact 使输出结果简洁,不包罗默许选项中的各样注释

-c 或者 --complete-insert 使得出口文件中的 insert 语句富含字段名称,暗中认可不满含

-T 将内定数量表中的数据被分成单纯的数据文本和建表 SQL 四个文本

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

实施选项

-e 或者 --execute=name 试行 SQL 语句并退出

此选项可以直接在 MySQL 客商端施行 SQL 语句,而不用接二连三到 MySQL 数据库后再实行

能够接连进行三个 SQL 语句,用分号隔开分离

mysql -uroot -p -e"select * from dbtest.xixi;select * from dbtest.haha"
  • -u, --user=name    钦赐客商名
  • -p, --password[=name]    内定密码 
  • -h, --host=name    钦命服务器 IP 可能域名 
  • -P, --port=#    钦命连接端口

myisampack(MyISAM 表压缩工具)

myisampack tname

压缩后产生只读表

分选的表达格局有各样,比如:

格式化选项

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

-s 或者 --silent 去掉 mysql 中的线条框突显,字段之间用 tab 举行私分,每条记下显示一行

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

mysql(顾客端连接工具)

mysql[options][database]

这里的 options 表示 mysql 的可用选项,能够一次写二个照旧多个,也足以不写;database 表示连接的数据库,二回只可以写五个,若是不写,连接成功后需求用 use database 来进入要操作的数据库

有两种表达格局:

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

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

      mysql --user=root
    

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

有三中艺术来调用 mysqldump:

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 优化表

-c 也许 --complete-insert 选项使得出口文件中的 insert 语句包罗字段名称,私下认可是不包涵字段名称的。

perror(错误代码查看工具)

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

示例:

客商端字符集选项

--default-character-set=character-name

六、mysqldump (数据导出工具)

mysqladmin(MySQL 管理工科具)

mysqladmin 是二个推行管理操作的客商端程序。可以用它来检查服务器的配置和脚下的情景,创制并删除数据库等。它的意义和 mysql 顾客端特别类似,重要不一样在于它更讲究于部分管理方面包车型地铁机能,比如关闭数据库

mysqladmin [options] command [command-options] [command [command-options]]...
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'

其余常用选项

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

-l 或者 --lock-tables:给持有表加读锁。能够在备份期间利用,使得数据无法被更新,进而使备份的多寡保持一致性,能够协作 -F 选项联合利用

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

此间的 options 表示 mysql 的可用选项,可以一回写二个照旧八个,以致能够不写;database 表示连接的数据库,贰遍只可以写三个只怕不写,要是不写,连接成功后须要用 “use database”命令来踏入要操作的数据库。

  1. 查看 bak 目录,发掘多少个文件
  • --add-drop-database     各种数据库创造语句前拉长 drop database 语句
  • --add-drop-table        在每一种表创造语句前增加 drop table 语句

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

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

shell> mysqldump -uroot --compact --default-character-set=utf8 t2 emp > emp.sql
  1. --start-position=# 和 --stop-position=#, 与日期范围类似,可是能够更规范的意味范围。

3. 实行选项

  • -T, --tab=name                  备份数据和建表语句
  • --fileds-terminated-by=name     域分隔符
  • --fileds-enclosed-by=name       域援引符
  • --fileds-optionally-enclosed-by=name    域可选援用符
  • --fileds-escaped-by=name        转义字符

mysqlshow 客商端对象查找工具,用来神速的研究存在什么数据库,数据库中的表、表中的列或索引,和 mysql 客商端工具很类似,可是有个别脾性是 mysql 客商端工具所不富有的。

option 有相当多增选:

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');

也等于在 mysql 顾客端连接成功后进行:

 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
  1. 修复表

能够按这种方式连接实践八个 sql 语句,用立陶宛共和国(Republic of Lithuania)语分号(;)隔绝。

作为服务器的字符集选项,那么些选项也足以计划在 my.cnf 的 [mysqld] 组中。同样,作为顾客端字符集选项,也能够布置在 my.cnf 的 [mysql]组中,这样每一回用 mysql 工具连接数据库的时候就能够自行使用此客商端字符集。当然,也足以在 mysql 的吩咐行中手工行业内部定客商端字符集:

  • -c, --check (检查表)
  • -r, --repair (修复表)
  • -a, --analyze (分析表)
  • -o, --optimize (优化表)
shell> mysql -h 192.168.10.10 -P 3306 -uroot -p
[client]
user=root
password=000000
port = 3306
socket = /tmp/mysql.sock
default-character-set = utf8mb4

此选项能够向来在 MySQL 客商端施行 sql 语句,对于一些批管理脚本,那是方法尤其有利:

# 这三种方式都是可以的
shell> mysql -u root
shell> mysql -uroot
shell> mysql -user=root
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
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*/;
...

有 3 种方法能够来调用 mysqlcheck:

  1. 优化表
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)

主干用法:

选取语法:

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

1.创制备份目录

zj@bogon:/data/mysql$ mysqlcheck -o t2
t2.test1
note : Table does not support optimize, doing recreate + analyze instead
status : OK
t2.test2  

4. 格式化选项

shell> mysqlimport [options] db_name textfile1

此选项显示了两有的内容,一部分是钦点表的表结构,另一片段中是钦定表的此时此刻目录音信

  1. 出口格式选项
shell> mysqlbinlog [option] log-file1 log-file2...

1. 接连选项

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

内部,暗中认可选项是 -c (检查表)

-e, --execute=name // 执行 sql 语句并退出
root@bogon:/usr/local/mysql/bin# ./mysqldump t2 emp -T ./bak

演示:将 t2 数据库中的表 emp 导出为单独的数额文本和建表 sql 多少个文本,并寄放在时下路径下的 bak 目录下。

  1. -k 或然 --keys (突显钦点表中的富有索引)
  1. --count (展现数据库和表的总括音讯)
  1. 别的常用选项

五、mysqlcheck (myisam 表维护理工科人具)

  • -u, --user=name             // 钦定顾客名
  • -p, --password[=name]       // 钦定密码 
  • -h, --host=name             // 钦点服务器 IP 或许域名
  • -p, --port=#                // 钦点连接端口

在 MySQL 的运用进程中,或者会现出各种各样标 error。那些 error 有个别是出于操作系统引起的,比方文件可能目录不设有;有个别则是由于存款和储蓄引擎使用不当引起的。那一个error 一般都有八个代码,类似于 “error:#” 或者 “Errcode:#”,“#” 代表切实的错误号。perror 的法力正是分解那个错误代码的详实含义:

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

如上正是那篇小说的全体内容了,希望本文的源委对大家的求学也许工作能带动一定的帮衬,倘使有疑问我们能够留言交流,感谢咱们对剧本之家的扶助。

zj@bogon:/usr/local/mysql/bin$ mysqladmin -uroot -p shutdown
Enter password: 
  1. 检查表

四、日志管理工科具

sudo ./mysqlbinlog --no-defaults /data/mysql/mysql-bin.000001 --start-position=4 --stop-datetime=100
  1. 结果显示的源委非常多,显得比较乱,加 -s 选项将方面包车型大巴内容举办简要展现

“-E” 选项类似于 mysql 里面实施 sql 语句后加 “G”, 平时和 -e 一同行使。

用法如下:

  1. 不加任何参数,彰显全体日志

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

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

总结

zj@bogon:/data/mysql$ mysqlcheck -c t2
t2.test1      OK
t2.test2      OK
  1. 连年选项

假诺钦定数据库,则显得内定数据库的各类表名、字段数量,记录数据;

mysqladmin 是二个进行管理操作的顾客端程序。能够用它来检查服务器的安插和眼下景观、创制并删除数据库等。它的功力与 mysql 客商端极其接近,重要差异在于它更器重于一些管理方面包车型地铁效果。

zj@bogon:~$ mysql
Welcome to the MySQL monitor. Commands end with ; or g.
Your MySQL connection id is 19
...
  1. 查看五个文件的内容, .sql 结尾的是建表及插入数据的sql,.txt 结尾的是表数据

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

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*/;

一经不点名数据库,则展现每种数据库的名称、表数据、记录数据;

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
  • -E, --vertical    将出口格局依据字段顺序竖着显示 
  • -s, --silent    去掉 mysql 中的线条框呈现

七、mysqlimport (数据导入工具)

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

2. 客商端字符集选项

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

鉴于服务器生成的二进制文件以二进制格式保存,所以只要想要检查那么些文件的文本格式,就能用到 mysqlbinlog 日志管理工科具。

  1. 将 t2 数据库下的表 emp 备份到 bak 目录下
  1. -i 也许 --status (展现表的有个别气象消息)

-T 选项将钦命数量表中的数据备份为单独的数据文本和建表 sql 七个文件,平时和下边多少个选用一同合营使用,将数据导出为钦命格式突显。

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

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

能够推行的命令如下:

  • -d,--database=name: 钦定数据库名称,只列出钦点的数据库相关操作。
  • -o, --offset=#: 忽略日志中的前 n 行命令。
  • -r, --result-file=name: 将出口的文本格式日志输出到钦定文件
  • -s, --short-form: 突显不难格式,省略掉一部分消息。
  • --start-datetime=name --stop-datetime=name: 内定日期区间内的具备日志。
  • --start-position=# --stop-position=#: 钦点位置距离内的具备日志
shell> mysqlshow [option] [db_name [tbl_name [col_name]]]

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

zj@bogon:~$ mysql mysql -e "select user,host from user"
+-----------+-----------+
| user | host |
+-----------+-----------+
| root | 127.0.0.1 |
| mysql.sys | localhost |
| root | localhost |
+-----------+-----------+
  1. 字符集选项

示例:

起来日期和得了日期能够只写三个。假设只写起来日期,表示范围起头日期到日志甘休;假如只写甘休日期,表示日志开头到内定的利落日期。

mysqldump 导出的多少的字符集使用的是 mysqld 运维时的私下认可字符集,要是表的字符集用的不是默许字符集,导出的数据就有望出现乱码。所以在导出时,应该先确定表的字符集,在导出时钦定该字符集就可以。

在暗许景况下,那多少个参数都活动抬高。

本文主要给大家介绍了有关MySQL常用工具的连带内容,分享出来供我们参谋学习,上面话比相当少说了,来共同看看详细的介绍吧。

相似在在本地情况,为了便利,能够在 配置文件 my.cnf 中布署当前顾客和密码,配置好后,间接施行 mysql 就可以绵亘不绝到数据库:

  • -n, --no-create-db      不含有数据库的创始语句 
  • -t, --no-create-info    不富含数据表的成立语句
  • -d, --no-data           不分包数据

常用选项:

前言

zj@bogon:/data/mysql$ mysqlcheck -r t2
t2.test1
note : The storage engine for the table doesn't support repair
t2.test2      OK

能够在备份时期利用,使得数据不大概被更新,从而使备份的多寡保持一致性,可以兼容-F 选项联合行使。

  1. 演示计划:成立新日志,新建库 t1 和 t2, 以及个别新建表 test1 和 test2
  1. 加 -d 选项,将只展示 t2 数据库的操作日志

举例:

shell> mysqladmin [options] command [command-options]...
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*/;
mysql [options] [database]

注意: 在专门的学问的生育意况中,为了安全起见,一般须要创设应用账号并给予适当权限,而不会用 root 直接操作数据库;默许端口(3306)一般不要选择,能够改为随便操作系统未占用的端口。

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

  1. 分析表
  1. 加 “--start-datetime --stop-datetime” 选项突显 5:00:00 ~ 5:01:00 之间的日志

行使情势:

累加此选项后,备份前将关闭就日志,生成新日志。使得实行复原的时候一直从新日志开始开展重做,大大有助于了过来进程。

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');

myisampack 是三个表压缩工具,能够应用异常高的压缩率来对 myisam 存款和储蓄引擎的表展开压缩,使得压缩后的表占用比压缩前小得多的半空中。可是压缩后的表将成为三个只读表,不可能实行DML 操作。

--default-character-set=charset-name
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*/;
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*/;
set names charset;

test1 表的储存引擎为 innodb,不帮忙 repair。

布置好后,直接实践 mysql 就可以:

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

二、myisampack (myisam 表压缩工具)

三、mysqladmin(MySQL 管理工科具)

版权声明:本文由大奖888-www.88pt88.com-大奖888官网登录发布于网络数据,转载请注明出处:上面将展现当前mysql中持有数据库,表示连接的数