mysql -u root -p 等这些常用的参数外,你知道多少?来测试一下吧
一,mysql命令行参数
-
Usage: mysql [OPTIONS] [database]
-
-?, --help
-
-I, --help
-
--auto-rehash
-
-
-A, --no-auto-rehash
-
-B, --batch
-
(Enables --silent)
-
--character-sets-dir=name
-
--default-character-set=name
-
-C, --compress
-
-#, --debug[=#]
-
-D, --database=name
-
--delimiter=name
-
-e, --execute=name
-
-E, --vertical
-
-f, --force
-
-G, --named-commands
-
-
-
-
-
-
-
-g, --no-named-commands
-
-
-
-
-
-
-
-
-i, --ignore-spaces
-
--local-infile
-
-b, --no-beep
-
-h, --host=name
-
-H, --html
-
-X, --xml
-
--line-numbers
-
-L, --skip-line-numbers
-
-n, --unbuffered
-
--column-names
-
-N, --skip-column-names
-
-O, --set-variable=name
-
--sigint-ignore
-
-o, --one-database
-
--pager[=name]
-
--no-pager
-
-p, --password[=name]
-
-P, --port=#
-
--prompt=name
-
--protocol=name
-
-q, --quick
-
-r, --raw
-
--reconnect
-
-s, --silent
-
-S, --socket=name
-
--ssl
-
--ssl-ca=name
-
--ssl-capath=name
-
--ssl-cert=name
-
--ssl-cipher=name
-
--ssl-key=name
-
--ssl-verify-server-cert
-
-t, --table
-
--tee=name
-
--no-tee
-
-u, --user=name
-
-U, --safe-updates
-
-U, --i-am-a-dummy
-
-v, --verbose
-
-V, --version
-
-w, --wait
-
--connect_timeout=#
-
--max_allowed_packet=#
-
--net_buffer_length=#
-
--select_limit=#
-
--max_join_size=#
-
--secure-auth
-
--server-arg=name
-
--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
-
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;" -
-
f
-
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
参数有很多,个人觉得这些是比较常用的,还有参数有的可以排列组合的。在这儿就不试了。
(责任编辑:IT) |