如何获取mysql帮助信息

如何获取mysql帮助信息,第1张

获取mysql有关的帮助信息,直接在mysql提示符下输入help即可获得有关在mysql客户端相关的帮助信息。

这个方式与Oracle SQL*plus下的help 是类似的。

mysql>help

For information about MySQL products and services, visit:

http://www.mysql.com/

For developer information, including the MySQL Reference Manual, visit:

http://dev.mysql.com/

To buy MySQL Enterprise support, training, or other products, visit:

https://shop.mysql.com/

List of all MySQL commands:

Note that all text commands must be first on line and end with ''

? (\?) Synonym for `help'.

clear (\c) Clear the current input statement. --清除当前输入的语句

connect (\r) Reconnect to the server. Optional arguments are db and host. --重新连接,通常用于被剔除或异常断开后重新连接,SQL*plus下也有这样一个connect命令

delimiter (\d) Set statement delimiter. --设置命令终止符,缺省为;,比如我们可以设定为/来表示语句结束

edit (\e) Edit command with $EDITOR. --编辑缓冲区的上一条SQL语句到文件,缺省调用vi,文件会放在/tmp路径下

ego (\G) Send command to mysql server, display result vertically. --控制结果显示为垂直显示

exit (\q) Exit mysql. Same as quit. --退出mysql

go(\g) Send command to mysql server. --发送命令到mysql服务

help (\h) Display this help.

nopager (\n) Disable pager, print to stdout.--关闭页设置,打印到标准输出

notee (\t) Don't write into outfile. --关闭输出到文件

pager (\P) Set PAGER [to_pager]. Print the query results via PAGER. --设置pager方式,可以设置为调用more,less等等,主要是用于分页显示

print (\p) Print current command.

prompt(\R) Change your mysql prompt. --改变mysql的提示符

quit (\q) Quit mysql.

rehash(\#) Rebuild completion hash. --自动补齐相关对象名字

source(\.) Execute an SQL script file. Takes a file name as an argument. --执行脚本文件

status(\s) Get status information from the server.--获得状态信息

system(\!) Execute a system shell command.--执行系统命令

tee (\T) Set outfile [to_outfile]. Append everything into given outfile.-- *** 作结果输出到文件

use (\u) Use another database. Takes database name as argument. --切换数据库

charset (\C) Switch to another charset. Might be needed for processing binlog with multi-byte charsets. --设置字符集

warnings (\W) Show warnings after every statement. --打印警告信息

nowarning (\w) Don't show warnings after every statement.

--上面的所有命令,扩号内的为快捷 *** 作,即只需要输入“\”+ 字母即可执行

For server side help, type 'help contents'--注意这里的描述help contents将获得服务器端的相关帮助信息

--演示部分,演示常用命令

--connect命令

mysql>connect chardb localhost

Reading table information for completion of table and column names

You can turn off this feature to get a quicker startup with -A

Connection id:5

Current database: chardb

--设置分页,在多余一个页面显示时会不停的翻滚,用该命令可以设置分页,设置为调用系统命令

mysql>pager more --设置为more方式

PAGER set to 'more'

mysql>select table_name,table_type,engine from information_schema.tables --该查询会超出一屏显示后按空格键会自动翻滚到下一屏

mysql>pager tail -5 --设置输出尾部5行

PAGER set to 'tail -5'

mysql>select table_name,table_type,engine from information_schema.tables

| setup_timers | BASE TABLE | PERFORMANCE_SCHEMA |

| threads | BASE TABLE | PERFORMANCE_SCHEMA |

| animals | BASE TABLE | InnoDB |

| shop | BASE TABLE | InnoDB |

+----------------------------------------------+-------------+--------------------+

92 rows in set (0.02 sec)

mysql>pager --查看当前的pager设置

PAGER set to 'tail -5'

mysql>nopager --切换到标准(缺省)pager方式

PAGER set to stdout

--tee命令,输出日志文件

mysql>tee /tmp/query.log--开启输出到文件,相当与SQL*plus下的spool

Logging to file '/tmp/query.log'

mysql>select table_name,table_type,engine from information_schema.tables

+----------------------------------------------+-------------+--------------------+

| table_name | table_type | engine |

+----------------------------------------------+-------------+--------------------+

| CHARACTER_SETS | SYSTEM VIEW | MEMORY |

| COLLATIONS | SYSTEM VIEW | MEMORY |

.............

mysql>notee --关闭输出到文件,相当于SQL*Plus下的spool off

Outfile disabled.

mysql>system tail /tmp/query.log--查看输出的日志文件

| setup_consumers | BASE TABLE | PERFORMANCE_SCHEMA |

| setup_instruments| BASE TABLE | PERFORMANCE_SCHEMA |

| setup_timers | BASE TABLE | PERFORMANCE_SCHEMA |

| threads | BASE TABLE | PERFORMANCE_SCHEMA |

| animals | BASE TABLE | InnoDB |

| shop | BASE TABLE | InnoDB |

+----------------------------------------------+-------------+--------------------+

92 rows in set (0.02 sec)

--改变mysql提示符

mysql>prompt SessionA>

PROMPT set to 'SessionA>'

--恢复到缺省提示符

SessionA>prompt

Returning to default PROMPT of mysql>

--执行sql脚本文件

mysql>system more query.sql --注意,此时为当前目录

use chardb

select * from tb_isam

mysql>source query.sql

Reading table information for completion of table and column names

You can turn off this feature to get a quicker startup with -A

Database changed

+------+-------+

| id | value |

+------+-------+

|1 | a |

|2 | b |

|3 | c |

|4 | f |

+------+-------+

4 rows in set (0.00 sec)

--获取状态信息

mysql>status

--------------

mysql Ver 14.14 Distrib 5.5.37, for Linux (x86_64) using readline 5.1

Connection id: 6

Current database: chardb

Current user: root@localhost

SSL:Not in use

Current pager: less

Using outfile: ''

Using delimiter:

Server version: 5.5.37-log MySQL Community Server (GPL)

Protocol version: 10

Connection: Localhost via UNIX socket

Server characterset:latin1

Db characterset:utf8

Client characterset:latin1

Conn. characterset:latin1

UNIX socket:/var/lib/mysql/mysql.sock

Uptime: 3 hours 10 min 59 sec

Threads: 1 Questions: 97 Slow queries: 0 Opens: 313 Flush tables: 1 Open tables: 51 Queries per second avg: 0.008

--------------

--修改客户端字符集

1、mysql>help create table

2、mysql>help show create table

3、mysql>? select

4、mysql>? show

通用规律只有使用 --all-databases (-A) 会 ERROR 1356,那就看看他到底备份了什么东西。于是喊上同事一起 less 看了下,上下扫了两眼。突然发现:1. 备份 SQL 文件里 DROP 掉了 mysql.proc;2. 后CREATE了一个新的 mysql.proc;3. LOCK TABLES 和 UNLOCK TABLES 中间居然没有备份 CREATE ROUTINE 任何数据?这不就是相当于每次导入全备都给我一个没有任何 sys schema routines 的全新 mysql.proc 表?那这不就异常的尴尬?

---- Table structure for table `proc`--

---- Dumping data for table `proc`-

真相大白在官方文档【sys-schema-usage】官方文档明确的告诉我们不会备份 sys 库。但在使用 mysqldump 在执行 --all-databases 会清空 mysql.proc 导致 sys 无法正常使用;这是一个 BUG,并且只存在于 MySQL 5.7.x !

1、mysql_upgrade install or upgrade sys schema

这个方案适用于 sys 库已经因为 mysqldump 导入而损坏的情况下使用。

注意:mysql_upgrade 在修理 sys 库的同时,还修理 mysql 库和用户库表(期间加锁且速度一般),有极小可能会误伤;使用 mysql_upgrade 的时候要加上 --upgrade-system-tables,不然会扫描用户库表。

2、全备时同时备份 sys 库

这个方案适用于需要还原的数据库,sys 库也不太正常的情况下使用;在全备后额外再备份一份 sys 库用于修复。

注意:不适用于做主从时使用它。

3、使用 databases 全备

这个方案适用于所有场景的全备需求,100% 安全。

4、使用 mysql-sys 开源代码

如果你的数据库 sys 全部中招了,又是生产库。那你只能用这个方法;

mysql-sys:https://github.com/mysql/mysql-sys

中记录了 sys 库的创建语句将文件下载到本地,然后根据数据库版本,执行以下命令即可。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/6125833.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-03-15
下一篇 2023-03-15

发表评论

登录后才能评论

评论列表(0条)

保存