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
localhoston 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
密码参数的使用
连接命令中,密码参数使用的注意事项;
- 使用
--passwd或-p来指定密码时,需要在--passwd或-p和密码之间不能有空格 - 当使用
--passwd或-p且后面不接密码时,客户端程序会提示你输入密码(输入时密码不会展示在屏幕上) - 当要明确指出连接不需要密码,且指定客户端不提示输入密码,可以使用
--skip-password参数
