1. 程式人生 > >mysql(一)-客戶端Client相關

mysql(一)-客戶端Client相關

mysql

版本

CentOS Linux release 7.4.1708 (Core)       內核  3.10.0-693.el7.x86_64
Ver 15.1 Distrib 5.5.56-MariaDB
以yum方式安裝

客戶端指令

長命令    快捷縮寫
?         (\?) Synonym for `help‘.顯示幫助
clear     (\c) Clear the current input statement.
connect   (\r) Reconnect to the server. Optional arguments are db and host.
delimiter (\d) Set statement delimiter.
edit      (\e) Edit command with $EDITOR.使用系統定義的$EDITOR編輯器作為命令操作
ego       (\G) Send command to mysql server, display result vertically.
exit      (\q) Exit mysql. Same as quit.退出客戶端
go        (\g) Send command to mysql server.
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.
print     (\p) Print current command.
prompt    (\R) Change your mysql prompt.更改提示符
quit      (\q) Quit mysql.退出客戶端
rehash    (\#) Rebuild completion hash.
source    (\.) Execute an SQL script file. Takes a file name as an argument.導入sql腳本
status    (\s) Get status information from the server.顯示當前mysql服務器相關信息
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.變更連接時的字符集。charset utf8;
warnings  (\W) Show warnings after every statement.
nowarning (\w) Don‘t show warnings after every statement.

簡單演示幾條mysql客戶端命令

MariaDB [mysql]> system hostname
7-db-1
MariaDB [mysql]> \! hostname
7-db-1

變更mysql提示符

man mysql 查找prompt
參數
說明
\D 完整的日期
\d 當前數據庫
\h 服務器名稱
\u 當前用戶
\p 當前端口號
\U 當前完整名稱user_name@host_name
\v 數據庫版本
\m 當前分鐘
\s 當前秒
\R 當前小時,24小時制(0–23)
\r 當前小時,12小時制(1-12)
\P(大寫) am/pm
\w 當前星期 (Mon, Tue, ...)
\o 當前月份(1-12)
\O(大寫) 當前月份(Jan, Feb, ...)
\y 當前年份,2位數字(18)
\Y 當前年份,4位數(2018)
\S(大寫) 分號
\t TAB分隔符
\n 換行符
\_ 一個空格
\ 一個空格,包含\反斜杠
\′ 一個單引號
\" 一個雙引號
\\ 一個\反斜杠
\任意字符 就顯示任意字符

方法一:連接客戶端時通過參數指定來修改

mysql --prompt="(\u@\h) [\d]> "

方法二:連接上客戶端後,通過PROMPT命令修改

mysql> prompt (\u@\h) [\d]>\_

方法三:通過全局變量修改

export MYSQL_PS1="(\u@\h) [\d]> "

方法四:通過配置文件修改,註意前面多加個反斜杠

/etc/my.cnf or
  [mysql]
  prompt=(\\u@\\h) [\\d]>\\_

初始化安全設置

mysql_secure_installation  然後按提示完成

連接數據庫

# mysql -u root -h 127.0.0.1 -p123456 -D mysql -E -P 3306

常用選項
-h  服務端地址
-u  用戶名,-u和用戶名之間可以用空格
-p  以明文的方式指定密碼,-p與密碼之間不能有空格
-P(大寫)  服務端端口
-S  mysql.sock套接字路徑,單機多實例用到
-D  數據庫名稱,登錄後直接切換至指定數據庫,而不用use database;
-C  數據壓縮傳輸
-e  非交互模式執行SQL語句,後面接sql語句
    # mysql -u root -p123456 -D mysql -e ‘select user,host,password from user;‘
    +------+-----------+-------------------------------------------+
    | user | host      | password                                  |
    +------+-----------+-------------------------------------------+
    | root | localhost | *6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9 |
    | root | 127.0.0.1 | *6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9 |
    | root | ::1       | *6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9 |
    +------+-----------+-------------------------------------------+

-E:查詢結果縱向顯示
    ********************** 3. row ***************************
                  Host: ::1
                  User: root
              Password: *6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9
           Select_priv: Y
           Insert_priv: Y
           Update_priv: Y
           Delete_priv: Y
           Create_priv: Y

--protocol={TCP|SOCKET|PIPE|MEMORY}:

繞過mysql密碼登錄

1.修改當前mysql數據庫的配置文件,添加以下選項
[mysqld]
skip-grant-tables

2.重啟mysql服務

以此種方式啟動的mysql不可以使用內置的授權指令創建用戶和修改密碼,只能使得update表修改,記得最後刷新權限表。
修改完之後,記錄刪除這個選項。

客戶端配置

# vim /etc/my.cnf.d/client.cnf 

[client]
user=root                       指定用戶名
password=123456                 指定密碼
default-character-set= utf8  指定默認連接的字符集

mysql(一)-客戶端Client相關