buser 发表于 2018-10-7 13:14:55

mysql5.6 prompt的用法详解

  --prompt=name 参数对于做运维的人来说很重要。我们登入mysql数据库后,mysql的提示符只是一个很简单内容 mysql> ,没有其他任何信息。通过--prompt=name可以自定义提示信息,通过配置显示登入的主机地址,登陆用户名,当前时间,当前数据库schema等待。
  # 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>  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
  
  prompt='\\u@\\h : \\d:\\D>'
  ##prompt="\\u@\\h :\\d\\r:\\m:\\s>"
  # mysql -u root -p
  Enter password:
  Welcome to the MySQL monitor.Commands end with ; or \g.

  Your MySQL connection>  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:49:40>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
  # mysql -uroot -p -S /tmp/mysql3307.sock
  Enter password:
  Welcome to the MySQL monitor.Commands end with ; or \g.

  Your MySQL connection>  Server version: 5.6.36-log MySQL Community Server (GPL)
  Copyright (c) 2000, 2016, 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):Thu Sep 14 19:36:09 2017>use test;
  Database changed
  root@localhost : test:Thu Sep 14 19:36:15 2017>
  参数如下:
  OptionDescription
  \cA counter that increments for each statement you issue
  \DThe full current date
  \d The default database
  \h The server host
  \l The current delimiter (new in 5.1.12)
  \mMinutes of the current time
  \nA newline character
  \OThe current month in three-letter format (Jan, Feb, …)
  \oThe current month in numeric format
  \Pam/pm
  \p The current TCP/IP port or socket file
  \RThe current time, in 24-hour military time (0–23)
  \rThe current time, standard 12-hour time (1–12)
  \SSemicolon
  \sSeconds of the current time
  \tA tab character
  \U   www.iyunv.net
  Your full user_name@host_name account name
  \u Your user name
  \vThe server version
  \wThe current day of the week in three-letter format (Mon, Tue, …)
  \YThe current year, four digits
  \yThe 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
  登陆数据库脚本:
  # 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=$?
  return $RETVAL
  }
  case $1 in
  test)
  Test
  RETVAL=$?
  ;;
  s2166ptzy)
  S2166ptzy
  RETVAL=$?
  ;;
  *)
  echo "USAGE: $0 {test|s2166ptzy}"
  ;;
  esac
  RETVAL=$?

页: [1]
查看完整版本: mysql5.6 prompt的用法详解