版本

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  指定默认连接的字符集