文章目录

  • 1.1 客户端工具mysql如何安装
  • 1.2 客户端工具mysql有啥作用
  • 1.3 客户端工具mysql读取文件
  • 1.4 客户端工具mysql常用参数


1.1 客户端工具mysql如何安装

当你安装好了MySQL软件包(MySQL Community Server)后,就会包含mysql这个客户端工具,
   你可以理解成是MySQL数据库自带的(非自带的不一定说就是第三方的)。

1.2 客户端工具mysql有啥作用

01:连接到MySQL服务端进行交互式操作,例如:

    [root@vm7-92 ~]# mysql -uroot -p -S /data/mysql/3306/run/mysql.sock
    mysql>
    mysql>
    mysql> show databases;
    +--------------------+
    | Database           |
    +--------------------+
    | information_schema |
    | binbin             |
    | chenliang          |
    | mysql              |
    | performance_schema |
    | sys                |
    +--------------------+
    6 rows in set (0.00 sec)

02:连接到MySQL服务端进行非交互操作,例如:
    [root@vm7-92 ~]# mysql -uroot -p -S /data/mysql/3306/run/mysql.sock -e "show databases;"
    Enter password: 
    +--------------------+
    | Database           |
    +--------------------+
    | information_schema |
    | binbin             |
    | chenliang          |
    | mysql              |
    | performance_schema |
    | sys                |
    +--------------------+

1.3 客户端工具mysql读取文件

这里不是说mysql读取某个文件,然后从文件中导入数据,我都还没有连接mysql实例,我导入啥数据。

Default options are read from the following files in the given order:
/etc/my.cnf /etc/mysql/my.cnf /usr/local/mysql/etc/my.cnf ~/.my.cnf 
The following groups are read: mysql client

找配置文件(my.cnf)的先后顺序依次为:/etc/my.cnf /etc/mysql/my.cnf /usr/local/mysql/etc/my.cnf ~/.my.cnf
找到配置文件(my.cnf)后读取[mysql]选项或者[client]选项下面的相关参数,到底是以[mysql]选项下面的相关参数为准还是以[client]选项下面的相关参数为准。这个就看:有没有同时存在。若同时存在,哪个在上面/前面,哪个在下面/后面了。

我当前的环境 我当前mysql 3306实例的部署位置

my.cnf所在位置:/data/mysql/3306/etc/my.cnf
socket所在位置:/data/mysql/3306/run/mysql.sock

需求 我想用root@localhost用户登录,但我不想在命令行敲:mysql -uroot -p -S /data/mysql/3306/run/mysql.sock

  • 第一种方法:通过/etc/my.cnf文件
#### 创建/etc/my.cnf文件,其结果如下所示
[root@vm7-92 ~]#
[root@vm7-92 ~]# cat /etc/my.cnf 
[mysql]
user=root
password=密码
socket=/data/mysql/3306/run/mysql.sock

#### 直接登录
[root@vm7-92 ~]# mysql
mysql> 
mysql> 
mysql> select current_user();
+----------------+
| current_user() |
+----------------+
| root@localhost |
+----------------+
1 row in set (0.00 sec)
  • 第二种方法:通过–defaults-file参数
#### 创建/tmp/a文件,其内容如下所示
[root@vm7-92 ~]# cat /tmp/a 
[mysql]
user=root
password=密码
socket=/data/mysql/3306/run/mysql.sock

#### mysql用--defaults-file去指定/tmp/a文件
[root@vm7-92 ~]# mysql --defaults-file=/tmp/a
mysql>
mysql>
mysql> select current_user();
+----------------+
| current_user() |
+----------------+
| root@localhost |
+----------------+
1 row in set (0.00 sec)
  • 第三种方法:通过我mysql实例真正的my.cnf
#### 其结果的如下所示
[root@vm7-92 ~]#
[root@vm7-92 ~]# head -5 /data/mysql/3306/etc/my.cnf 
[mysql]
user=root
password=密码
socket=/data/mysql/3306/run/mysql.sock

#### mysql用--defaults-file参数来指定
[root@vm7-92 ~]#
[root@vm7-92 ~]# mysql --defaults-file=/data/mysql/3306/etc/my.cnf 
mysql> 
mysql> 
mysql> select current_user();
+----------------+
| current_user() |
+----------------+
| root@localhost |
+----------------+
1 row in set (0.00 sec)

1.4 客户端工具mysql常用参数

获取mysql工具的帮助信息和版本信息

-I
	# 等于--help参数,例如:mysql -I
-V
	# 等于--version参数,查看mysql这个客户端工具的版本

连接mysql实例的相关参数

-u
	# 等于--user参数,指定连接mysql实例中帐户的用户名。

-p
	# 等于--password参数,指定连接用户的密码。

-h
	# 等于--host参数,指定连接mysql实例的主机名(IP),这个得看mysql实例中帐户中的主机段

-S  
	# 等于--socket参数,用于指定mysql实例的socket文件,这个得看mysql实例中帐户的主机段(localhost)

-P 
	# 等于--port参数,指定mysql实例的端口号