MySQL程序包括客户端程序和服务端程序.可以通过下面命令来查看
ll /usr/bin/mysql*

这里有很多程序,我只介绍这里面的集中,其他的我也没有用过,还有就是windows端的可以使用下面的命令来查看,就是你的安装目录,进入bin这个目录,然后再这个里打开黑窗口,输入命令就可以了
dir *.exe
当然你不在文件管理器里面打开也行,直接在黑窗口切换到安装目录,在进入bin这个目录,执行上面的命令也可以.
好下面就开始介绍客户端
mysqld
这个是MySQL的守护进程,即mysql服务器,要使用这个程序,mysqld必须处于运行状态.
他是一个多线程程序,对MySQL的数据目录进行管理,如果不知道MySQL数据目录是什么?就简单记住它里面放着数据,比如业务数据,表信息,日志文件,这些后面会说.
理解他的作用:我们可以想想平时写的项目,是不是要向数据库中写入数据,都是在和mysqld进行交互,比如说连接,处理sql语句等. 当然它还有很多启动选项,可以在启动mysqld的时候加上,可以通过下面命令来查看选项:
mysqld --verbose --help
里面内容很多,这里就不截图了.mysqld就说这些.
mysql
这个是MySQL的命令行客户端.我们最常使用的. 我们连接数据库,写sql语句都可以在这个客户端进行,可以理解为是一个简单的SQL_shell.
先说第一个操作,连接数据库,平时连接数据库一般都是使用下面的命令(简写:短格式):
mysql -uroot -p [db_name] #这个是短格式
上面是简写的方式,完整(长格式)的命令如下:
mysql --user=root --password [db_name]
上面写的这个操作就是为下面命令选项做铺垫的,就是一些选项,有短格式形式,有长格式形式.
我用表格的形式进行展示,展示常用的命令
|-------------------------|-----|--------------------------------------------------------------------------------|
| 长格式 | 短格式 | 说明 |
| --host | -h | 连接指定主机上的MySQL服务 |
| --port | -P | 端口号,如果装了多个MySQL,可以指定端口号启动指定的MySQL |
| --user | -u | 用户,用户名,就比如说root,当然也可以是其他用户 |
| --default-file | | --defaults-file=file_name 这个是配置文件,也可以说是选项文件,它后面指定你想要读取的配置文件 |
| --default-character-set | | --default-character-set=charset_name charset_name 将作为客户端和当前连接的默认字符集,例: utf8mb4 |
| --databane | -D | 要使用的数据库 |
| --compress | -C | 如果可能,压缩客户端和服务器之间传输的所有信息 |
| --reconnect | | 重连,如果出现问题.服务器会尝试重连 |
| --quick | -q | 不缓存查询结果,收到一行打印一行,如果服务被挂起,会影响性能(这里的挂起就是服务器卡住了,在某一行输出卡住了) |
| --protocol | | --protocol={TCP|SOCKET|PIPE|MEMORY} 用于连接到服务器的传输协议, 默认为TCP |
| --delimiter | | --delimiter=str 这个设置结束符,就是写sql语句的结束符号;这个是可以修改的 |
| --execute | -e | --execute=statement , -estatement 执行特定的sql语句并退出 |
| --version | -V | 版本信息 |
| --help | -? | 帮助,我这里列出的,都可以用这个命令查看 |
| | | |
上面多出一行,就列举这些,可以自己在命令行中自己练习.
配置文件
上面表格中说到了配置文件,这里说一下配置配置文件.
配置文件也可以说是选项文件.简单来说就是用来配置的,MySQL从这个文件中读取启动选项,就是上面
可以在很多地方配置,如果是默认情况下,读取的位置为: /etc/mysql/mysql.cnf

我们就在这个文件中写配置信息即可.从上面图片中看到了一个软连接,这个软连接,也是指向这个文件,都可以.
来看一下这个文件里面的内容


里面有我随便配置的配置信息,先不看[client]及下面的内容,看!incluedir 后面的内容,这个是这个配置文件会读取的配置文件,一个是客户端的,一个是服务端的.也就是说服务器读取的是我打开的文件,这个文件又会读取这两个文件,所以就在这个文件中进行配置即可,不用在上面两个文件中单独配置服务端和客户端的配置文件.
然后接着向下看,我配置了一个节点[client]这个节点就表示客户端的配置,MySQL不是有很多程序嘛,都共用这些配置,其他特殊的配置不能写在这个节点下面.还有[server]这个节点,这个节点下面配置服务端的配置信息.
选项文件中指定选项时,省略两个前导破折号,并且每一行表示一个选项
上面表格中列出的有的可以配置有的不可以在配置文件中配置,有需求可以在官方文档查看
还有一点就是上面我有一个配置错了就是host,多谢了一个0.
mysql客户端命令
这个里其实不用怎么说的,直接就是一个命令: ? 输出结果如下:

直接看着用就行了.
这里说一个,就是执行sql文件,对应这个图片中的就是source这个命令后面跟文件路径,也可以不登录客户端,执行sql文件,直接就是 : mysql < 文件路径 -uroot -p,这样也可以执行sql文件.
mysqlcheck
表维护程序,对表进行分析,检查,优化或修复操作.
分析的作用是查看表的关键字分布,能够让sql生成正确的执行计划
检查的作用是检查表的的完整性及数据库表和索引是否损坏
优化的作用是回收空间,减少碎片,提高I/O
修复的作用是修复可能已经损坏的表
注意事项:
1.就是在使用这个工具的时候,要确保mysql服务器是启动状态
2,不是所有的存储引擎都支持这个工具,不支持的会报错
3.执行表修复操作之前,要提前备份好数据,可能会导致数据丢失
4.在执行这个工具的时候相应的表会被锁定,其他操作将会被挂起
使用方法:
mysqlcheck [option] db_name [table_name]
mysqlcheck [option] --databases table table_name
mysqlcheck [option] --all-databases
注意:第一个和第二个如果没有指定表名,会将整个数据库都检查
常用选项:
|--------------------------|---------------------------------------------------|
| 选项 | 说明 |
| --analyze,-a | 分析表 |
| --auto-repair | 如果检查的表有损坏,则自动修复它。所有表都检查过之后才进行必要的修复 |
| --check,-c | 检查表中的错误。mysqlcheck的默认操作 |
| --check-only-changed, -C | 仅检查自上次检查以来更改过的表 |
| --databases,-B | --databases db_name 多个数据库名用空格隔开 处理指定数据库中的所有表 |
| --force, -f | 即使发生SQL错误也要继续 |
| --optimize,-o | 优化表 |
| --repair,-r | 执行可能进行的任务修复操作,除了唯一键 |
| --skip-database | --skip-database=db_name 不需要执行检查的数据库名(区分大小写) |
| --tables | --tables=table_name 多个表名用空格隔开 在选项之后的所有名称参数都被视为表名。 |
| --use-frm | 对于MyISAM表的修复操作 |
Mysqldump
数据库备份程序
mysqldump客户端程序可以执行逻辑备份并生成一组SQL语句,其中包含原始数据库和表的定义
以及表中的数据,以便实现对数据库的简单备份或复制。mysqldump命令可以生成CSV、或XML格式的文件。
要注意的就是权限问题,如果是root用户,就不需要考虑这么多,还有就是它不适合备份大数据量的场景,因为是逐行转储数据.
使用方法:
和mysqlcheck一样,就是把mysqlcheck换成mysqldump.
它的常用选项也有很多,这里就不列举了,可以使用mysqldump --help查看

mysqladmin
mysqladmin 是一个执行管理操作的客户端。可以用来检查服务器的配置和当前状态,以及创建和删除数据库等
使用方法
mysqladmin [options] command [command-arg] [command [command-arg]] ...
注:语法中的command 表示命令,有些命令后面需要跟上一个参数
这里的命令都可以在官网查到,我害怕书写错误,建议从官网查阅.
mysqlshow
mysqlshow 客户端可用于快速查看存在哪些数据库、数据库中的表以及表中的列或索引。
使用方法:
mysqlshow [options] [db_name [tbl_name [col_name]]]
选项同样可以使用help来查看,也可以直接去官网.
另外两个常用客户端
还有两个常用的客户端程序:mysqldumpslow和mysqlbinlog,这两个就不介绍了,过程都差不多,要提一嘴的是日志文件的目录在:/var/lib/mysql,这里就不详细介绍日志了.这两个可以让ai给你介绍用法.