天天看点

mysql5.6 prompt的用法详解

--prompt=name 参数对于做运维的人来说很重要。我们登入mysql数据库后,mysql的提示符只是一个很简单内容 mysql> ,没有其他任何信息。通过--prompt=name可以自定义提示信息,通过配置显示登入的主机地址,登陆用户名,当前时间,当前数据库schema等待。

[root@zw-test-db ~]# mysql -uroot -p --prompt="\\u@\\h : \\d\\r:\\m:\\s>"

Enter password: 

Welcome to the MySQL monitor.  Commands end with ; or \g.

Your MySQL connection id is 33

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

Copyright (c) 2000, 2015, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its

affiliates. Other names may be trademarks of their respective

owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

root@localhost : (none) 05:45:21>use test

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

root@localhost : test 05:45:56>

2.也可以把参数加到my.cnf里面

vim /etc/my.cnf

[mysql]

prompt='\\u@\\h : \\d:\\D>'

##prompt="\\u@\\h :\\d\\r:\\m:\\s>"

[root@zw-test-db ~]# mysql -u root -p

Your MySQL connection id is 1

root@localhost : (none) 05:49:40>use test

[root@localhost ~]# mysql -uroot -p -S /tmp/mysql3307.sock 

Your MySQL connection id is 2

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

Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved.

root@localhost : (none):Thu Sep 14 19:36:09 2017>use test;

root@localhost : test:Thu Sep 14 19:36:15 2017>

参数如下:

Option  Description

\c  A counter that increments for each statement you issue

\D  The full current date

\d The default database

\h The server host

\l The current delimiter (new in 5.1.12)

\m  Minutes of the current time

\n  A newline character

\O  The current month in three-letter format (Jan, Feb, …)

\o  The current month in numeric format

\P  am/pm

\p The current TCP/IP port or socket file

\R  The current time, in 24-hour military time (0–23)

\r  The current time, standard 12-hour time (1–12)

\S  Semicolon

\s  Seconds of the current time

\t  A tab character

\U   www.jb51.net 

Your full user_name@host_name account name

\u Your user name

\v  The server version

\w  The current day of the week in three-letter format (Mon, Tue, …)

\Y  The current year, four digits

\y  The current year, two digits

\_  A space

\   A space (a space follows the backslash)

\'  Single quote

\"  Double quote

\\  A literal “\” backslash character

\x 

x, for any “x” not listed above

登陆数据库脚本:

[root@localhost ~]# cat /usr/local/bin/db

#!/bin/bash

source /etc/profile

Cmd1='mysql  -h127.0.0.1 -uroot -p'Zykj@558996' -S /tmp/mysql3307.sock -P3307 -Dtest'

Cmd2='mysql  -h127.0.0.1 -uroot -p'Zykj@558996' -S /tmp/mysql3307.sock -P3307 -Ds2166ptzy'

Test(){

    ${Cmd1} --prompt="[\u@\h:\p(\d) \R:\m:\s] mysql>" --default-character-set=utf8 -A "$@"

 RETVAL=$?

 return $RETVAL

}

S2166ptzy(){

     ${Cmd2} --prompt="[\u@\h:\p(\d) \R:\m:\s] mysql>" --default-character-set=utf8 -A "$@"

  RETVAL=$?

case $1 in

      test)

          Test

          RETVAL=$?

;;

    s2166ptzy)

          S2166ptzy

*)

echo "USAGE: $0 {test|s2166ptzy}"

esac

RETVAL=$?

 本文转自 wjw555 51CTO博客,原文链接:http://blog.51cto.com/wujianwei/1965388