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], 来指定要操作的数据库

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

相关推荐
新知图书1 小时前
MySQL用户授权、收回权限与查看权限
数据库·mysql·安全
文城5211 小时前
Mysql存储过程(学习自用)
数据库·学习·mysql
沉默的煎蛋1 小时前
MyBatis 注解开发详解
java·数据库·mysql·算法·mybatis
C语言扫地僧1 小时前
MySQL 事务及MVCC机制详解
数据库·mysql
小镇cxy1 小时前
MySQL事物,MVCC机制
数据库·mysql
雾里看山2 小时前
【MySQL】 库的操作
android·数据库·笔记·mysql
꧁瀟洒辵1恛꧂3 小时前
从新手到高手的蜕变:MySQL 视图进阶全攻略
数据库·mysql
doubt。15 小时前
【BUUCTF】[RCTF2015]EasySQL1
网络·数据库·笔记·mysql·安全·web安全
小辛学西嘎嘎15 小时前
MVCC在MySQL中实现无锁的原理
数据库·mysql
咩咩大主教19 小时前
Go语言通过Casbin配合MySQL和Gorm实现RBAC访问控制模型
mysql·golang·鉴权·go语言·rbac·abac·casbin