MySQL程序介绍<一>

目录

MySQL程序简介

[mysqld - MySQL 服务器](#mysqld - MySQL 服务器)

[​编辑 mysql - MySQL 命令⾏客⼾端](#编辑 mysql - MySQL 命令⾏客⼾端)

MySQL程序简介

1.MySQL安装完成通常会包含如下程序:

Linux系统程序⼀般在 /usr/bin⽬录下,可以通过命令查看

windows系统⽬录: 你的安装路径\MySQL Server 8.0\bin ,可以通过命令查看

每个 MySQL 程序都有许多不同的选项。⼤多数程序都提供⼀个 --help 选项,您可以使⽤该选项 来获取程序不同选项的描述。例如: mysql --help,可以通过在命令⾏或配置⽂件中指定选项来覆 盖 MySQL 程序的默认选项值

2.常⽤的MySQL程序

对于别的一些工具可以直接去查询mysql的官方文档进行学习

mysqld - MySQL 服务器

1.mysqld也被称为MySQL服务器,是⼀个多线程程序,对数据⽬录(可以理解为mysql的主要工作目录)进⾏访问管理(包含数据库和表)。数据⽬录也是其他信息(如⽇志⽂件和状态⽂件的默认存储位置
2.当 MySQL 服务器启动时,会侦听指定的端⼝、处理来⾃客⼾端程序的⽹络连接,并管理 不同客⼾端对数据库的访问
3.mysqld程序有许多选项可以在启动时指定 。运⾏以下命令查看完整的选项列表
mysqld --verbose --help

mysql - MySQL 命令⾏客⼾端

1.mysql的介绍
mysql是⼀个简单的 SQL shell, 可以输⼊命令和执⾏SQL语句,当执⾏SQL语句时,查询结果以
ASCII 表格式显⽰
MySQL的几种连接方式

使用短格式:mysql -u用户名 -p [指定要连接的数据库名]
使用长格式: mysql --user=用户名 --password [指定要连接的数据库名 ]

2.mysql 客⼾端选项

指定选项的方式:
1.在mysql后⾯的命令⾏中列出选项
2.在mysql后⾯指定配置⽂件的路径,以便在程序启动时读取配置⽂件中的选项并解析对应程序选项的值,并应用在启动参数中

对于第二种指定选项的方式的举例

在mysql.exe启动的时候,会去配置文件的路径中读取配置文件的内容,并解析相关选项值加以应用

mysql客户端命令常用选项

注:如果选项的值中包含空格,那么值需要包含在双引号中

在命令⾏中指定选项遵循的几个规则:

  1. 选项以单破折号" - "或双破折号" -- "号开头, - 表⽰短格式, -- 表⽰⻓格式,例如:-?和 -
    -help 都表⽰MySQL 程序显⽰他的帮助消息
  2. 选项名称区分⼤⼩写。 -v 和 -V 都是合法的,但含义不同,它们分别是 --verbose(尽可能详细的显示结果) 和 -- version 选项的相应缩写形式
    3.某些选项需要在后⾯指定⼀个值。如 -h 127.0.0.1 或 --host=127.0.0.1 表⽰向客 ⼾端程序指定 MySQL 服务器主机
    4.对于带值的⻓格式选项,通常⽤ = 符号分隔选项名称和值。对于带值的短选项,选项值可以紧跟在选项之后,也可以⽤空格隔开,例如:--host=127.0.0.1 , -h127.0.0.1 和 -h 127.0.0.1 是等价的。 但是对于密码选项的短格式,如果要指定密码,选项与值之间不能有空格的
bash 复制代码
# 以下两个等价
mysqld --verbose --help
mysqld -v 

# 以下两个等价
mysql --version 
mysql -V

mysql -h 127.0.0.1
msyql --host=127.0.0.1

mysql -ptest # test表⽰密码,但没有指定要访问的数据库
mysql -p test # test 表⽰指定了访问的数据库,但没有指定密码

注:在命令⾏中,第⼀个不带破折号 - 的值被解析为要访问的数据库名,所以 --database 选项⼀般可以省略

1.在选项名称中,破折号 ( - ) 和下划线 ( _ ) 在⼤多数情况下可以互换使⽤,但前导破折号不能转为下划线,例如: --skip-grant-tables 和 --skip_grant_tables 是等价的
2.对于采⽤数值的选项,该值可以带有后缀 K , M 或 G 以指⽰乘数 1024、1024^2或 1024^3,例如,以下命令告诉 mysqladmin对服务器执⾏ 1024 次 ping,每次 ping 之间休眠 3 秒
mysqladmin --count=1K --sleep=3 ping -uroot -p
3.在命令⾏中包含空格的选项值必须⽤引号引起来。例如, --execute (or -e ) 选项与mysql⼀
起使⽤时,表⽰将⼀个或多个 SQL 语句发送给服务器执⾏并显⽰结果
mysql -u root -p -e "SELECT VERSION();SELECT NOW();"

3.选项(配置)

⽂件⼤多数 MySQL 程序都可以从选项⽂件(配置⽂件)中读取启动选项。可以在选项⽂件中指定常⽤选项,这样就不⽤在每次运⾏程序时都在命令⾏中输⼊它们。⼤部分选项⽂件都是纯⽂本格式,可以使⽤任何⽂本编辑器创建

使⽤⽅法: 选项 --defaults-file 可以指定要使⽤的选项⽂件,客⼾端程序会读取并应⽤选项⽂件中的相关 配置
在Linux中: mysql --defaults-file=/etc/mysql/my.cnf -uroot -p 在windows中: mysql "--defaults-file=C:\ProgramData\MySQL\MySQL Server 8.0\my.ini" -uroot -p

在Linux下查看/etc/mysql下包含的文件:

查看其它两个快捷方式下的文件

虽然客户端与服务端的配置文件做了区分,但我们一般不会在对应的配置文件中分别配置,而是把所有的配置都写在默认的配置文件中,便于维护与管理


(1)选项⽂件位置及加载顺序

如果在使用MySQL程序时没有指定配置文件的路径,就会自动读取默认路径下的配置文件

对于默认路径下的配置文件下面介绍
MySQL 按以下表格中的顺序查找并读取选项⽂件。如果⽂件不存在则需要⼿动创建。
读取顺序从上到下,后读取的⽂件中配置的选项优先级越⾼
在 Windows 系统读取选项⽂件:

在 Unix 和 Linux 系统上读取的选项⽂件:

优先级是指对于两个配置文件中配置了相同的选项,那么优先级高的文件就会覆盖优先级低的文件中的选项

(2)选项⽂件语法
运⾏ MySQL 程序时在命令⾏上指定的任何⻓选项都可以在选项⽂件中指定,要获取选项列表可以
使⽤命令:

客⼾端程序

root@guangchen-vm:~# mysql --help

服务端程序

root@guangchen-vm:~# mysqld --verbose --help

语法1:选项⽂件中指定选项时,省略两个前导破折号,并且每⼀⾏表⽰⼀个选项

例如: --quick 和 --host=127.0.0.1 在选项⽂件中应表⽰成 quick 和 host=127.0.0.1

语法二:选项⽂件中的空⾏会被忽略。⾮空⾏可以采⽤以下任何形式:

注:1. 选项名称和值中的前导和尾随空格会⾃动删除

  1. 在windows系统中设置路径应该使⽤转义字符

如:

语法三:[client] MySQL发⾏版中所有客⼾端程序都会读取并应⽤这个组下的选项(除了mysqld),在这个组下可以指定适⽤于所有客⼾端程序的通⽤选项,例如配置⽤⼾名和密码(但要确保只有⾃⼰才可以访问这个⽂件以防⽌密码泄漏)

如:这样设置的话,在登录mysql时就不需要输入密码了

语法四:可以通过 [客⼾端程序名] 的形式为不同的客⼾端程序指定选项,例如 [mysql] ,当运⾏ mysql程序时会读取并应⽤该组下的配置,如果选项名与 [client] 重复,[client] 中的选项将会被覆盖(说明优先级是高于[client]的)

如:

其余的语法:

举例:设置客⼾端全局编码格式

在Linux下编辑全局配置⽂件默认位置 /etc/mysql/my.cnf ,在文件末尾加入:

注:每次修改配置文件之前都要做备份的,防止出错的

4.mysql 客⼾端命令

在mysql客户端中可以执行sql语句,也可以执行相应的命令

(1)使⽤mysql客⼾端程序连接到数据库服务器之后,可以发送SQL语句到服务器执⾏,并以 ";"(分 号)、\g 或 \G结束

  1. ; 与 \g 结束表⽰以表格形式展⽰结果
  2. \G 结束表⽰以⾏形式展⽰结果
  3. 如果当前已经输⼊了⼀部分SQL 语句想重新输⼊可以输⼊Ctrl+C中断当前输⼊

(2)在mysql中可以输⼊ help or \h 查看命令列表

关于其中一些命令的介绍

(3)使⽤help contents命令可以查看关于MySQL数据库使⽤的具体帮助,包括⽤⼾管理、SQL语法、 数据类型、组件等相关内容列表

通过help contents中的具体条⽬查看介绍,例如: help Data Types

继续输⼊help 具体的条⽬ 查看关于此条⽬的详细说明

5.从.sql⽂件执⾏ SQL语句

这里是有两种方式的

(1)使⽤source命令导⼊

先准备一个.sql文件,名为test_db.sql

先把该文件直接拖拽上传到Linux中

登录mysql使用source命令进行上传文件

在此之前

再使用source命令(如果失败的话,就看是否为root用户,有无权限的,非root的话就切换为root)

最后验证一下:

(2)使⽤mysql客⼾端导⼊
直接使⽤mysql客⼾端程序导⼊.sql⽂件并执⾏相应的SQL语句,可以使⽤以下命令

mysql db_name < text_file # 在指定的数据库下执⾏ SQL, 前提是数据库必须提前建⽴好
mysql < text_file # 不指定数据库 .sql 中必须有 USE [database_name], 来指定要操作的数据库

最后登录数据库进行验证是否成功

相关推荐
打鱼又晒网2 小时前
【MySQL】数据库精细化讲解:内置函数知识穿透与深度学习解析
数据库·mysql
tatasix3 小时前
MySQL UPDATE语句执行链路解析
数据库·mysql
天海华兮3 小时前
mysql 去重 补全 取出重复 变量 函数 和存储过程
数据库·mysql
武子康4 小时前
大数据-231 离线数仓 - DWS 层、ADS 层的创建 Hive 执行脚本
java·大数据·数据仓库·hive·hadoop·mysql
黑色叉腰丶大魔王5 小时前
《MySQL 数据库备份与恢复》
mysql
Ljw...5 小时前
索引(MySQL)
数据库·mysql·索引
OpsEye5 小时前
MySQL 8.0.40版本自动升级异常的预警提示
数据库·mysql·数据库升级
Ljw...5 小时前
表的增删改查(MySQL)
数据库·后端·mysql·表的增删查改
i道i13 小时前
MySQL win安装 和 pymysql使用示例
数据库·mysql
Oak Zhang14 小时前
sharding-jdbc自定义分片算法,表对应关系存储在mysql中,缓存到redis或者本地
redis·mysql·缓存