澳门新蒲京娱乐


Operating system error 3二(failed to retrieve text for this error. Reason: 1510五)

把文件或文件夹设置为受保护的操作系统文件或文件夹,文件夹操作系统

MySQL中的常用工具实例汇总,数据库对象查看工具

一.概述

    mysqlshow客户端查找工具,能相当慢地搜寻存在哪些数据库,数据库中的表,表中的列或索引,和mysql客户端工具很左近,不过有点本性是mysql客户端工具所不持有的。
  mysqlshow的使用办法如下:
图片 1

    假使不加任何选取,私下认可景况下,会显示全体数据库,上面将突显当前mysql中持有数据库。
图片 2

前言

2.上边是mysqlshow的部分常用选项

    二.① –count 呈现数据库和表的计算消息

      假诺不点名数据库,则展现各样数据库的名目,表数据,库总记录行数。下边是查看全数数据库。
图片 3

      假若钦定数据库,则展现钦定数据库的各类表名,表字段数量,表记录总行数。
下边是翻开mysql库。
图片 4

      假诺钦点数据库和表,则显得字段音信,
上边是翻开mysql库的user表。
图片 5

    2.二 -k 突显钦赐表中的有所索引 
     该选用展现两部份,1是钦命表的表结构,二是钦命表的眼下目录新闻.下边是显得mysql库下的user表。
图片 6

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

   贰.叁 -i 展现表的片段情景音讯

      该选拔照旧很有用的,上面是显得mysql库下的user表状态音信。
图片 7

图片 8

   更多mysqlshow信息

正文首要给大家介绍了关于MySQL常用工具的连带内容,分享出去供我们参考学习,上边话不多说了,来共同探访详细的介绍吧。

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

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

mysql [options] [database]

那边的 options 表示 mysql
的可用选项,能够二回写二个要么多少个,甚至能够不写;database
表示连接的数据库,1次只好写贰个照旧不写,假使不写,连接成功后必要用
“use database”命令来进入要操作的数据库。

一. 连连选项

慎选的表达情势有三种,例如:

# 这三种方式都是可以的
shell> mysql -u root
shell> mysql -uroot
shell> mysql -user=root
  1. 连接选项
  • -u, –user=name    钦点用户名
  • -p, –password[=name]    内定密码 
  • -h, –host=name    钦定服务器 IP 恐怕域名 
  • -P, –port=#    钦定连接端口

1般在在当甘露子境,为了便于,能够在 配置文件 my.cnf
中配备当前用户和密码,配置好后,直接执行 mysql 就能够连接到数据库:

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

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

zj@bogon:~$ mysql
Welcome 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)1般不要采取,能够改为随机操作系统未占用的端口。

二. 客户端字符集选项

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

三. 实施选项

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

此选项能够一贯在 MySQL 客户端执行 sql
语句,对于1些批处理脚本,那是艺术更是有利:

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 1起使用。

2、myisampack (myisam
表压缩工具)

myisampack 是多少个表压缩工具,能够行使很高的压缩率来对 myisam
存款和储蓄引擎的表展开压缩,使得压缩后的表占用比压缩前小得多的上空。不过压缩后的表将成为1个只读表,不能够进行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: 

4、日志管理工科具

是因为劳动器生成的二进制文件以2进制格式保存,所以假诺想要检查那么些文件的文本格式,就会用到
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. 以身作则准备:创制新日志,新建库 t一 和 t二, 以及个别新建表 test一 和 test二
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” 选项显示 五:00:00 ~ 五: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

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

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

有 ③ 种办法得以来调用 mysqlcheck:

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

option 中有以下常用选项:

相关文章

No Comments, Be The First!
近期评论
    功能
    网站地图xml地图