文章目录
- 1、mysqld
- 2、mysql
- 常用命令介绍
- 3、配置文件
- 语法
1、mysqld
mysqld就是MySQL服务器,是一个多线程程序。对数据目录,即mysql的主要工作目录进行访问管理。当mysqld启动时,会侦听指定的端口,处理来自客户端程序的网络连接,并管理不同客户端对数据库的访问。
运行以下命令来查看mysqld程序的完整选项列表
mysqld --verbose --help
2、mysql
mysql是MySQL的命令行客户端,可以输入命令和执行SQL语句。
在启动mysql时,命令之后可以跟要使用的数据库的名来表示登录后直接连接这个数据库,比如连接mysql这个数据库:
mysql -u root -p mysql
登录的格式
# 连接MySQL服务器,⻓选项格式
mysql --user=user_name --password [db_name]
# 短选项格式
mysql -uuser_name -p [db_name]
# 输⼊密码
Enter password: your_password
上面是在mysql后面的命令行中列出选项。另一种登录格式在mysql后面指定配置文件的路径,以便在程序启动时读取配置文件中的选项,并解析对应程序选项的值,应用在启动参数中。
第二种登录方式的一个例子就是windows下的mysql。在windows里下载了mysql后,可以在开始菜单看到一些mysql服务,它们的属性里的目标就是第二种登录格式。
常用命令介绍
默认host是localhost或127.0.0.1。
默认port是3306。
默认user是root。
如果选项的值中有空格,就用双引号括起来。
选项后面指定一个值,短格式可以带空格或不带,长格式就得是=。比如-h127.0.0.1,-h 127.0.0.1,–host=127.0.0.1。但是对于密码来说,短格式带空格的含义不同:
mysql -ptest # test 表⽰密码,但没有指定要访问的数据库
mysql -p test # test 表⽰指定了访问的数据库,但没有指定密码
一个数值后可以紧跟K,M,G,也就是1KB,1MB,1GB。
可以多指令一起用。比如登录并查询版本和时间,中间要有-e选项。
mysql -u root -p -e "SELECT VERSION();SELECT NOW();"
3、配置文件
配置文件有mysql启动选项。大部分选项文件都是纯文本格式,可以使用任何文本编辑器创建。在登录时,可以指定配置文件,mysql --defaults-file=/etc/mysql/my.cnf -uroot -p
。
虽然客户端和服务端都有配置文件,但是通常都统一把配置写在默认的配置文件my.cnf中。mysql8.0下是这些文件。
像上面的命令,–defaults-file=file_name表示加载指定的配置文件,–defaults-extra-file=file_name表示加载所有配置文件。
windows中配置文件后缀是.ini或.cnf,Linux则是.cnf。
语法
运行mysql程序时在命令行上指定的任何长选项都可以在选项文件中指定,要获取选项列表可以使用以下命令
#客户端
mysql --help
#服务端
mysqld --vervose --help
关于长选项可以在官方文档中查看。在配置文件中写选项时,要去掉前面的两个破折号,比如–host,那么写的时候就写host即可,后面再跟=127.0.0.1这样的;并且每行只表示一个选项,写完就换行。
[client] MySQL发行版中所有客户端程序都会读取并应用这个组下的选项(除了mysqld),在这个组下可以指定适用于所有客户端程序的通用选项,例如配置用户名和密码(但要确保只有自己才可以访问这个文件以防止密码泄漏)。
可以通过 [客户端程序名] 的形式为不同的客户端程序指定选项,例如 [mysql] ,当运行mysql程序时会读取并应用该组下的配置,如果选项名与 [client] 重复, [client] 中的选项将会被覆盖。
指定编码格式是default-character-set=utf8mb4。
结束。