2MUCH

Mysql登录连接命令

2023-06-01


在Linux中使用Mysql,通常需要在命令行或shell脚本中连接数据库。这就涉及到Mysql数据库登录连接知识点。本文主要介绍在linux系统中登录连接命令的参数,以及如何实现免密登录(重要的是如何在保证安全的基础上实现免密登录)。

Mysql连接命令

参考官网说明: https://dev.mysql.com/doc/refman/8.0/en/connecting.html

mysql连接的基础命令行形式

最基础的连接命令是:mysql,也就是不指定任何参数的形式,此时使用到的一些必要参数是默认参数。比如hostname就是localhost,user name就是登录UNIX的用户名。

当然,也可以指定若干个参数值来实现特定的连接目的,比如:

mysql --host=localhost --user=myname --password=_password_ mydb mysql -h localhost -u myname -p_password_ mydb

其中,对于密码参数的指定,需要着重学习下。我在下面会单独说明。

网页中指出一个特殊情况,当我们连接本机的数据库时,如果不指定host,在UNIX中会默认使用socket来连接:

You can specify a port number for connections to a local server, too. However, as indicated previously, connections to localhost on Unix use a socket file by default, so unless you force a TCP/IP connection as previously described, any option that specifies a port number is ignored.

因此,这种形式端口号的指定会被忽视:

mysql --port=13306 --host=localhost

我们可以使用这种形式,就可以指定使用TCP/IP的特定端口连接:

mysql --port=13306 --host=127.0.0.1 
mysql --port=13306 --protocol=TCP

另外,也可以把常用的连接参数记录在“Option Files”

常用参数

--host / -h
--user / -u
--protocol # 可以指定一个传输协议
--passwd / -p
--port / -P
--default-character-set=字符集 #指定连接数据库时使用的字符集
--execute=语句 / -e #执行指定的 SQL 语句,并退出
--database / -D
--local-infile #启用或禁用

更多参数可参考: https://blog.csdn.net/embedded_sky/article/details/41966037

密码参数的使用

连接命令中,密码参数使用的注意事项;