MySQL - 2

这篇文章带来有关MySQL内容的讲解,将对于选项配置文件和mysql客户端命令进行一定讲解和如何从.sql文件执行SQL语句。希望大家能够有所收获

目录

选项(配置)文件

使用方法

选项文件位置及加载顺序

Windows下读取选项文件

Linux系统下读取配置文件

选项文件语法

mysql客户端命令

[命令结尾格式 ; \g \G](#命令结尾格式 ; \g \G)

[命令列表查看 - help/-h](#命令列表查看 - help/-h)

[help contents命令](#help contents命令)

从.sql文件执行SQL语句

source命令导入

使用mysql客户端直接导入


选项(配置)文件

大多数MySQL程序都可以从选项文件(配置文件)中读取启动选项。

可以在选项文件中指定常用选项,这样就不用在每次运行程序时都在命令行中输入它们。

大部分选项文件都是纯文本格式,可以使用任何文本编辑器创建。

使用方法

选项 --default-file 可以指定要使用的选项文件,客户端程序会读取并应用选项文件中的相关配置

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

大部分配置文件在linux中都是放在/etc下的,像mysql就是在/etc/mysql中放着对应的配置文件

选项文件位置及加载顺序

MySQL按以下表格的顺序查找并读取选项文件,如果文件不存在则需要手动创建

读取顺序从上到下,后读取的文件中配置的选项优先级越高(优先级越高的文件,配置相同选项,将覆盖对应的选项)

Windows下读取选项文件

文件名 说明
%WINDIR%\my.ini , %WINDIR%\my.cnf 全局
C:\my.ini , C:\my.cnf 全局
BASEDIR \my.ini , BASEDIR \my.cnf BASEDIR(mysql的安装路径) 全局
defaults-extra-file 如果存在其他选项⽂件可以通过 --defaults-extra-file 选项指定
%APPDATA%\MySQL\.mylogin.cnf 登录路径选项(仅限客⼾端)
DATADIR \mysqld-auto.cnf 系统变量(仅限服务器)

常用操作配置文件路径:C:\ProgramData\MySQL Server 8.0 \my.ini

Linux系统下读取配置文件

文件名 说明
/etc/my.cnf 全局
/etc/mysql/my.cnf 全局
$MYSQL_HOME/my.cnf 服务器特定选项(仅限服务器)
default-extra-file 如果存在其他选项文件可以通过 --default-extra-file选项指定
~/.my.cnf 用户特定选项
~/.mylogin.cnf 用户特定的登录路径选项(仅限客户端)
DATADIR/mysqld-auto.cnf 系统变量(仅限服务器)

所有的配置文件都会被加载

只使用指定的配置文件

在Windows系统中配置文件的后缀名为.ini或.cnf

在Linux系统中配置文件的后缀为.cnf

选项文件语法

运行MySQL程序时,在命令行上指定的任何长选项都可以在选项文件中指定,要获取选项列表可以使用如下命令:

客户端程序

mysql --help

服务器程序

mysqld --verbose --help

选项文件中指定选项时,省略两个前导破折号,并且每一行表示一个选项

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

选项文件中的空行会被忽略,非空行可以采取以下形式:

#comment, ;comment

注释行以% 或 ;开始,注释可以从一行的中间开始

group --- 节点

设置选项的程序或组的名称,不区分大小写。 ++如果选项组名称与程序名称相同,则组中的选项专门应用于该程序,例如,mysqldmysql组分别适用于mysqld服务端程序和mysql客户端程序++

opt_name

相当于命令行上的选项名

opt_name=value

选项名对应的值,可以使用转义序列\b, \t, \n, \r, \\ 和 \s来表示退格符、制表符、换行符、回车符、反斜杠和空格字符

Tips:

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

2.在Windows系统中设置路径应该使用转义字符

basedir="C:\\Program Files\\MySQL\\MySQL Server 8.0"

basedir="C:/Program Files/MySQL/MySQL Server 8.0"


1.client MySQL发行版中所有客户端程序都会读取并应用这个组下的选项(除了mysqld),在这个组下可以指定适用于客户端程序的通用选项,例如配置用户名和密码(要确保只有自己才可以访问这个文件,防止密码泄露)

2.可以通过客户端程序名的形式为不同的客户端程序指定选项,例如mysql,当运行mysql程序时会读取并应用该组下的配置,如果选项名与client重复,client中的选项将会被覆盖(客户端程序名优先级高于client

1.为特定MySQL版本设置选项可以使用mysqld-5.7mysqld-8.0的组名

2.在选项文件中使用!include 指令来包含其他选项文件,例如!include /home/mydir/myopt.cnf(具体的配置文件路径)

3.在选项文件中使用!includedir指令来搜索指定目录中的其他选项文件,但不保证目录中选项文件的读取顺序是否一致

例如:

!includedir /etc/mysql/conf.d/

!includedir /etc/mysql/mysql.conf.d/

Tips:

1.!includedir在Unix和Linux操作系统中会搜索指定目录下任何以.cnf为后缀的文件,在Windows中,会搜索指定目录下任何以.ini或.cnf为后缀的文件

2.只会读取包含文件中当前客户端的组配置,例如当前运行的是mysql程序,那么只会读取mysql组中的选项配置

在Windows中要确保在配置文件的最后一行加一个换行符,否则该行将被忽略


mysql客户端命令

命令结尾格式 ; \g \G

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

TIPS:

  1. ; 与 \g 结束表示以表格形式展示结果

  2. \G 结束表示以行形式展示结果

  3. 如果当前已经输入了一部分SQL语句想重新输入可以输入 Control+C 中断当前输入

命令列表查看 - help/-h

在当前模式下,mysql还可以通过help或者\h来查看命令列表

help contents命令

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

上面是展示可以通过help能够查看的具体帮助,下面例子就是使用help去查看其中的Data Types

从.sql文件执行SQL语句

source命令导入

++使用场景:开发环境--->测试环境--->生产环境++

有时候我们需要从 .sql 文件执行一些 SQL 语句 ,比如要把一个数据库从一台服务器 A 复制到另一台服务器 B 上,那么可以先从服务器 A 导出数据到 .sql 文件,然后在服务器 B 执行这个 .sql 文件 ,在上一小节,用 help 命令查看命令列表,可以看到有一个 source 命令如下所示:

source描述是:执行一个SQL脚本文件,以文件名作为参数

\. sql文件的绝对路径

tips: sql文件路径这里也可以用相对路径(执行mysql的路径),为了避免错误建议使用绝对路径

使用mysql客户端直接导入

直接使用 mysql 客户端程序导入 .sql 文件并执行相应的 SQL 语句,可以使用以下命令:

  1. mysql db_name < test_file

在指定的数据库下执行SQL,前提是数据库必须提前创建好

  1. mysql < test_file

不指定数据库,sql中必须要有use database_name,来指定要操作的数据库

当然也要记得在后面加上自己的用户和密码......

有了这个办法,就不需要登录mysql再去执行命令了,可以自己写一个对应的脚本就可以自动的帮我们完成这个任务!


相关推荐
无敌的牛13 小时前
redis学习过程
数据库·redis·学习
IT北辰13 小时前
神通数据库管理系统V7.0.251210 for Windows(x86 64bit)安装部署
数据库·神通
北顾笙98014 小时前
MySQL-day2
数据库·mysql
Demons_kirit14 小时前
新项目如何连接上自己本地的数据库
数据库
洪晓露15 小时前
将 rke2 集群证书延长至 10 年
运维·服务器·数据库
程序猿乐锅15 小时前
【MySQL | 第八篇】MySQL 视图
数据库·mysql
jieyucx16 小时前
SQL 查询终极高阶通鉴:从零基础拆解到工业级多表联查、窗口函数与索引优化
数据库·sql
ai_coder_ai17 小时前
论 NoSQL 数据库技术及其应用
数据库·nosql
AOwhisky18 小时前
Redis 学习笔记(第一期):概述、安装配置与核心理论
运维·数据库·redis·笔记·学习·云计算
ytttr87318 小时前
C# 定时数据库备份工具
开发语言·数据库·c#