`

(转)mysql命令行用法

 
阅读更多
http://blog.51yip.com/mysql/1056.html

一,mysql命令行参数
查看复制打印?
Usage: mysql [OPTIONS] [database]   //命令方式 
-?, --help          //显示帮助信息并退出 
-I, --help          //显示帮助信息并退出 
--auto-rehash       //自动补全功能,就像linux里面,按Tab键出提示差不多,下面有例子 
 
-A, --no-auto-rehash  //默认状态是没有自动补全功能的。-A就是不要自动补全功能 
-B, --batch         //ysql不使用历史文件,禁用交互 
(Enables --silent) 
--character-sets-dir=name   //字体集的安装目录                     
--default-character-set=name    //设置数据库的默认字符集 
-C, --compress      //在客户端和服务器端传递信息时使用压缩 
-#, --debug[=#]     //bug调用功能 
-D, --database=name //使用哪个数据库 
--delimiter=name    //mysql默认命令结束符是分号,下面有例子 
-e, --execute=name  //执行mysql的sql语句 
-E, --vertical      //垂直打印查询输出 
-f, --force         //如果有错误跳过去,继续执行下面的 
-G, --named-commands 
/*Enable named commands. Named commands mean this program's
internal commands; see mysql> help . When enabled, the
named commands can be used from any line of the query,
otherwise only from the first line, before an enter.
Disable with --disable-named-commands. This option is
disabled by default.*/ 
-g, --no-named-commands 
/*Named commands are disabled. Use \* form only, or use
named commands only in the beginning of a line ending
with a semicolon (;) Since version 10.9 the client now
starts with this option ENABLED by default! Disable with
'-G'. Long format commands still work from the first
line. WARNING: option deprecated; use
--disable-named-commands instead.*/ 
-i, --ignore-spaces //忽视函数名后面的空格. 
--local-infile      //启动/禁用 LOAD DATA LOCAL INFILE. 
-b, --no-beep       //sql错误时,禁止嘟的一声 
-h, --host=name     //设置连接的服务器名或者Ip 
-H, --html          //以html的方式输出 
-X, --xml           //以xml的方式输出 
--line-numbers      //显示错误的行号 
-L, --skip-line-numbers  //忽略错误的行号 
-n, --unbuffered    //每执行一次sql后,刷新缓存 
--column-names      //查寻时显示列信息,默认是加上的 
-N, --skip-column-names  //不显示列信息 
-O, --set-variable=name  //设置变量用法是--set-variable=var_name=var_value 
--sigint-ignore     //忽视SIGINT符号(登录退出时Control-C的结果) 
-o, --one-database  //忽视除了为命令行中命名的默认数据库的语句。可以帮跳过日志中的其它数据库的更新。 
--pager[=name]      //使用分页器来显示查询输出,这个要在linux可以用more,less等。 
--no-pager          //不使用分页器来显示查询输出。 
-p, --password[=name] //输入密码 
-P, --port=#        //设置端口 
--prompt=name       //设置mysql提示符 
--protocol=name     //使用什么协议 
-q, --quick         //不缓存查询的结果,顺序打印每一行。如果输出被挂起,服务器会慢下来,mysql不使用历史文件。 
-r, --raw           //写列的值而不转义转换。通常结合--batch选项使用。 
--reconnect         //如果与服务器之间的连接断开,自动尝试重新连接。禁止重新连接,使用--disable-reconnect。 
-s, --silent        //一行一行输出,中间有tab分隔 
-S, --socket=name   //连接服务器的sockey文件 
--ssl               //激活ssl连接,不激活--skip-ssl 
--ssl-ca=name       //CA证书 
--ssl-capath=name   //CA路径 
--ssl-cert=name     //X509 证书 
--ssl-cipher=name   //SSL cipher to use (implies --ssl). 
--ssl-key=name      //X509 密钥名 
--ssl-verify-server-cert //连接时审核服务器的证书 
-t, --table         //以表格的形势输出 
--tee=name          //将输出拷贝添加到给定的文件中,禁时用--disable-tee 
--no-tee            //根--disable-tee功能一样 
-u, --user=name     //用户名 
-U, --safe-updates  //Only allow UPDATE and DELETE that uses keys. 
-U, --i-am-a-dummy  //Synonym for option --safe-updates, -U. 
-v, --verbose       //输出mysql执行的语句 
-V, --version       //版本信息 
-w, --wait          //服务器down后,等待到重起的时间 
--connect_timeout=# //连接前要等待的时间 
--max_allowed_packet=# //服务器接收/发送包的最大长度 
--net_buffer_length=# //TCP / IP和套接字通信缓冲区大小。 
--select_limit=#    //使用--safe-updates时SELECT语句的自动限制 
--max_join_size=#   //使用--safe-updates时联接中的行的自动限制 
--secure-auth       //拒绝用(pre-4.1.1)的方式连接到数据库 
--server-arg=name   //Send embedded server this as a parameter. 
--show-warnings     //显示警告 
二,mysql命令行实例
1,auto-rehash自动补全
说例子前,先说一下,你到google或baidu上面搜一下mysql auto-rehash,然后会出来结果,绝大部分都是一样的,并且内容里面有明显错误。mysqld_safe --user=mysql --auto-rehash &,这个根本就不对,为什么抄袭的人不知道自己测试一下,对于这种人,我也是很无语的。你自己写着玩到也无所谓,但是你会害人的。
[root@BlackGhost zhangy]# mysqld_safe --help |grep rehash
参数选项中根本没有auto-rehash
二种方法可以实现自动补全功能
---------------------------------------
[mysql]
#no-auto-rehash
auto-rehash
---------------------------------------
mysql -u root --auto-rehash
---------------------------------------   
查看复制打印?
mysql> use test 
Database changed 
mysql> select acc    //这里自动补全,只是提示表名,和表里面的字段名,不像php可以提示函数名 
account           account.acct_num  account.amount    acct_num 
2,-B的用法
查看复制打印?
D:\xampp\mysql\bin>mysql.exe -uroot -D bak_test -e "show tables;" -B 
Tables_in_bak_test 
comment 
user 
3,-E的用法
查看复制打印?
D:\xampp\mysql\bin>mysql.exe -uroot bak_test -e "show tables;" -E 
*************************** 1. row *************************** 
Tables_in_bak_test: comment 
*************************** 2. row *************************** 
Tables_in_bak_test: user 
4,-D的用法
[root@BlackGhost zhangy]# mysql -u root -D test 
进入后默认就在test数据库里面,不要用use test;
5,--default-character-set设置默认字符集
查看复制打印?
[root@BlackGhost zhangy]# mysql -u root -D test  --default-character-set=utf8 
6,--delimiter设置mysql命令结束符
[root@BlackGhost zhangy]# mysql -u root -D test   --delimiter=\| 
mysql默认的命令结束符是分号,现在把它设置成竖杠,要注意|前面的\
7,-e的用法
查看复制打印?
D:\xampp\mysql\bin>mysql.exe -uroot -D bak_test -e "show tables;" 
这个很有用的,因为我不用进入mysql客户里面去,就能把我要的数据取出来,这个可以配合shell脚本的话,能发挥很大的功能
8,-f的用法
查看复制打印?
D:\xampp\mysql\bin>mysql.exe -uroot bak_test -e "show databaseds;show tables;" - 

ERROR 1064 (42000) at line 1: You have an error in your SQL syntax; check the ma 
nual that corresponds to your MySQL server version for the right syntax to use n 
ear 'databaseds' at line 1 
+--------------------+ 
| Tables_in_bak_test | 
+--------------------+ 
| comment            | 
| user               | 
+--------------------+ 
忽略mysql的错误,继续向下执行
9,-N的用法
查看复制打印?
D:\xampp\mysql\bin>mysql.exe -uroot bak_test -e "select * from user" -N 
+---+------+---+ 
| 1 |   bb | 0 | 
| 2 | tank | 0 | 
+---+------+---+ 
10,-p的用法
[root@BlackGhost zhangy]# mysql -u root -o test -p   -S /tmp/mysql.sock 
Enter password 
11,-h的用法
[root@BlackGhost zhangy]# mysql -u root -h 192.168.1.102 
服务器可能不只一个,这个时间我们可以用-h来指定连接哪里
12,-H的用法
查看复制打印?
D:\xampp\mysql\bin>mysql.exe -uroot bak_test -e "show tables  " -H 
<TABLE BORDER=1><TR><TH>Tables_in_bak_test</TH></TR><TR><TD>comment</TD></TR><TR 
><TD>user</TD></TR></TABLE> 
13,-X的用法
查看复制打印?
D:\xampp\mysql\bin>mysql.exe -uroot bak_test -e "show tables  " -X 
<?xml version="1.0"?>  
 
<resultset statement="show tables
" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> 
<row> 
<field name="Tables_in_bak_test">comment</field> 
</row>  
 
<row> 
<field name="Tables_in_bak_test">user</field> 
</row> 
</resultset> 
14,--prompt的用法
[root@BlackGhost zhangy]# mysql -u root --prompt=\^\_\^ 
^_^show databases; 
+--------------------+ 
| Database           | 
+--------------------+ 
| information_schema | 
| biztojie           | 
mysql的提示符,我把它设置成笑脸了。
15,-S的用法
[root@BlackGhost zhangy]# mysql -u root -D test   -S /tmp/mysql.sock 
当我们一台服务器启动了二个不同mysql版本的时候,存放socket的文件是不能一样的,-S用来指定连接到那个
16,-v的用法
查看复制打印?
[root@BlackGhost zhangy]# mysql -u root -D test -e "show tables;"   -v 
-------------- 
show tables 
-------------- 
内容不止这么点,只说重点
17,-P的用法
[root@BlackGhost zhangy]# mysql -u root -o test  -P 13306  -S /tmp/mysql.sock 


----------------------------------------------------------------------------------
补充下,如果用-N的话,比如:
mysql -N -h*** -u*** -p -e "SELECT VARIABLE_NAME,VARIABLE_VALUE FROM INFORMATION_SCHEMA.GLOBAL_STATUS"
则不显示第1列:

+--------------------------------+--------------+
|                ABORTED_CLIENTS |       710001 |
|               ABORTED_CONNECTS |           31 |
|          BINLOG_CACHE_DISK_USE |            0 |
|               BINLOG_CACHE_USE |            0 |
|                 BYTES_RECEIVED |   2522947764 |
|                     BYTES_SENT |    348838502 |
|             COM_ADMIN_COMMANDS |      2890742 |

并且很好看的右对齐了
分享到:
评论

相关推荐

    MySQL命令行的几个用法MySQL命令行的几个用法

    MySQL命令行的几个用法MySQL命令行的几个用法MySQL命令行的几个用法MySQL命令行的几个用法MySQL命令行的几个用法MySQL命令行的几个用法

    mysql命令行下导出,导入

    ### MySQL命令行下的数据导出与导入 在数据库管理中,数据备份是非常重要的一个环节,尤其是在MySQL这样的关系型数据库管理系统中。通过命令行工具进行数据的导出与导入操作不仅高效,而且对于自动化运维有着非常...

    mysql命令行备份及恢复数据库

    在使用MySQL命令行工具进行数据库备份时,通常采用`mysqldump`命令。此命令能够将整个数据库或特定表的数据导出为SQL脚本文件,便于后续的存储或传输。 ##### 1. 进入MySQL目录下的bin文件夹 为了执行`mysqldump`...

    mysql命令行语句

    MySQL 命令行语句 MySQL 是一个功能强大且广泛使用的关系型数据库管理系统。掌握 MySQL 命令行语句是数据库...本文详细介绍了 MySQL 命令行语句的使用方法和实践经验,旨在帮助读者快速掌握 MySQL 命令行语句的使用。

    MySQL数据库常用的命令行教程

    综上所述,熟练掌握MySQL命令行的基本操作对于数据库管理和应用开发至关重要。无论是数据库的创建与管理,数据的增删改查,还是数据的导入导出,这些知识点都是IT专业人士不可或缺的技能。希望本文的深度解析能够...

    mysql命令行导入导出

    本文将深入探讨如何在MySQL命令行中正确地导入和导出数据,尤其是解决中文乱码问题。 首先,我们来看如何导出数据。MySQL提供了`mysqldump`命令来实现这一功能。例如,要导出名为`mydatabase`的数据库,你可以使用...

    MySQL命令行

    本文将深入解析MySQL命令行的使用方法及其重要功能,帮助读者更好地掌握和利用MySQL进行数据库操作。 #### 一、MySQL服务的启动与停止 MySQL服务的启动与停止是数据库管理的基础操作之一。通过以下命令,可以在...

    教你如何在MySQL命令行中使用SQL语句的规则

    在本文中,我们将会介绍如何在MySQL命令行界面中正确使用SQL语句。这是一个对初学者及希望加强数据库操作技能的专业人士非常实用的知识点。我们将详细阐述四个主要规则:SQL语句的结束方式、保留关键字的大小写规则...

    php连接不上mysql但mysql命令行操作正常的解决方法

    在PHP开发过程中,有时会遇到一个常见的问题,即PHP无法连接到MySQL数据库,但通过命令行界面使用MySQL命令可以正常进行操作。这个问题通常涉及到PHP与MySQL之间的通信配置,特别是socket配置。下面我们将深入探讨这...

    MySql无法退出Sql命令行编辑.doc

    ### MySQL无法退出SQL命令行编辑的...通过本文的介绍,我们不仅学习了如何正确使用MySQL命令行工具,还特别关注了在遇到无法正常退出命令行编辑情况时的解决办法。希望这些知识点能够帮助您更好地掌握MySQL的使用技巧。

    Mysql命令行导入sql数据

    ### MySQL命令行导入SQL数据详解 #### 一、引言 在进行数据库迁移或恢复时,经常需要将之前导出的SQL脚本重新导入到MySQL数据库中。通过MySQL命令行工具来实现这一过程是一种非常常见且高效的方式。本文将详细介绍...

    mysql命令行如何操作

    现在向大家介绍mysql命令行下,从数据库的建立到表数据的删除全过程,希望对大家有所帮助。 登陆mysql 打cmd命令终端,如果已经添加了mysql的环境变量,可以直接使用命令mysql -uroot直接回车,之后按提示输入密码。...

    MySQL命令行导出导入数据库实例详解

    在MySQL中,常见的备份方法有使用命令行工具mysqldump进行导出,而还原则是使用mysql命令行工具执行备份文件中的SQL语句,把数据恢复到数据库中。 在Windows环境下,进行MySQL命令行导出导入的具体步骤如下: 1. ...

    MySQL命令行导出与导入数据库

    5. 在MySQL命令行中,使用use命令选择要导入数据的数据库。例如,命令mysql&gt; use news将选择名为news的数据库。 6. 使用source命令导入.sql文件。例如,命令mysql&gt; source news.sql将在当前选定的数据库中执行news....

    命令行下mysql 连接器

    在本文中,我们将深入探讨命令行下MySQL连接器的相关知识,包括它的特点、用途、使用方法以及如何随身携带。 首先,让我们理解标题中的“命令行下MySQL连接器”。这个工具是指MySQL的命令行客户端(mysql.exe),它...

    mysql命令行中文乱码或无法显示的解决方法.md

    自己在使用mysql时出现了中文乱码的现象,然后到网上找各种方法,结果都没有说清楚,最后弄下来浪费了时间,所以在自己找到好的方法解决了之后,就在这里分享一下,希望对大家有帮助/

    mysql命令行中执行sql的几种方式总结

    如果你有一系列的SQL语句需要执行,可以将它们写入一个文本文件(例如`1.sql`),然后在MySQL命令行中使用`source`命令执行这个脚本。例如,输入`mysql&gt; source H:/1.sql`,脚本中的所有SQL语句将会按顺序执行。 3...

    linux下mysql关闭数据库命令行.docx

    - 或者在MySQL命令行中:`SET PASSWORD FOR '&lt;username&gt;'@'localhost' = PASSWORD('&lt;new_password&gt;');` 6. **增加新用户**: - 使用`grant`命令为新用户分配权限,例如:`grant select,insert,update,delete on ...

    MySQL 5.7安装好后打开命令行窗口闪退的解决方法

    1. 找到MySQL命令行客户端的快捷方式,这通常位于开始菜单中的MySQL相关程序组内。 2. 右键点击快捷方式并选择“属性”,在“属性”窗口中,可以看到“目标”字段。这里会显示客户端程序的完整路径。 3. 在路径的...

Global site tag (gtag.js) - Google Analytics