怎样查看mysql数据库的配置文件内容

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了怎样查看mysql数据库的配置文件内容相关的知识,希望对你有一定的参考价值。

一.首先把mysql的服务先停掉。
二.更改MySQL配置文件My.ini中的数据库存储主路径
三.将老的数据库存储主路径中的数据库文件和文件夹复制到新的存储主路径
将原文件夹中的所有文件和文件夹拷贝到你新建的文件夹目录下。
四.重启MySQL服务
五.验证更改数据库存储主路径的操作是否成功!
参考技术A 升级 MySQL 版本之后,许多用户在启动时并未更改配置文件,但发现新的的版本不再支持某些已弃用的选项,这会导致升级的 MySQL 服务关闭。在其他情况下,修改配置文件时错误输入无效的配置项会使得服务拒绝启动。在 MySQL 5.7 中,用户依赖于使用 'help' 和 'verbose' 选项以及服务器配置的组合来测试选项,即
./sql/mysqld --verbose --help --foo=barTo see what values a running MySQL server is using, type'mysqladmin variables' instead of 'mysqld --verbose --help'.2019-03-14T05:13:46.500953Z 0 [ERROR] Aborting

在 MySQL 8.0.16 中,引入了一个名为“validate-config”的新选项,以帮助用户快速测试服务配置,而无需运行。如果没有发现问题,服务器退出时退出代码为零。对于首次出现无效配置,服务器将以错误(错误号 1 )退出。
例如,让我们考虑在 MySQL 5.7 中弃用的服务器选项 'txreadonly' 并删除 MySQL 8.0:
./runtime_output_directory/mysqld --tx_read_only=on --validate-config2019-03-30T10:40:02.712141Z 0 [ERROR] [MY-000067] [Server] unknown variable'tx_read_only=on'.2019-03-30T10:40:02.712178Z 0 [ERROR] [MY-010119] [Server] Aborting

validate-config 选项还可以与配置文件一起使用,以检查配置文件中指定的选项。例如:
./runtime_output_directory/mysqld \--defaults-file=/home/nisha/workspace1/my.cnf --validate-config2019-03-07T06:23:31.411188Z 0 [ERROR] [MY-000067] [Server] unknown variable'tx_read_only=1'.2019-03-07T06:23:31.411250Z 0 [ERROR] [MY-010119] [Server] Aborting

请注意,使用 defaults-file 选项时,它应该是命令行上的第一个选项,如上所示。
由于服务器在第一次出现无效值时退出,请更正报告的问题并重新运行以查找配置设置中的任何其他问题。
默认情况下,仅报告错误消息。如果用户也对警告和信息消息感兴趣,则需要提及 logerrorverbosity 选项值大于1。
./runtime_output_directory/mysqld \--log-error-verbosity=2 --validate-config --read_only=s --transaction_read_only=102019-03-09T11:10:01.270676Z 0 [Warning] [MY-000076] [Server] option 'read_only': boolean value 's' was not recognized. Set to OFF.2019-03-09T11:10:01.270695Z 0 [Warning] [MY-000076] [Server] option 'transaction-read-only': boolean value '10' was not recognized. Set to OFF.

如上所示,报告有关配置设置的警告,并退出服务器。因为没有错误,所以为零。在下面的示例中,配置名称无效,因此报告错误以及警告和服务器退出错误代码 1。
./runtime_output_directory/mysqld \--log-error-verbosity=2 --validate-config --read_only=s --transaction_read_only=10 --foo=bar2019-03-09T11:17:32.236782Z 0 [Warning] [MY-000076] [Server] option 'read_only': boolean value 's' was not recognized. Set to OFF.2019-03-09T11:17:32.236796Z 0 [Warning] [MY-000076] [Server] option 'transaction-read-only': boolean value '10' was not recognized. Set to OFF.2019-03-09T11:17:32.242247Z 0 [ERROR] [MY-000067] [Server] unknown variable 'foo=bar'.2019-03-09T11:17:32.242327Z 0 [ERROR] [MY-010119] [Server] Aborting

'validate-config' 的范围仅限于在没有正常启动服务器去验证可以执行的选项。因此,'validate-config' 不包括特定于在服务器正常启动期间初始化的存储引擎和插件的选项。有关 'validate-config' 的信息也可以在 MySQL 文档中找到。我们希望这个新选项能让 MySQL 用户的工作更轻松,特别是在升级过程中。

MySQL是怎样运行的?打卡汇总

启动选项和系统变量

  1. mysql配置方式之一,在命令行上使用选项配置。有长形式和短形式之分,同时等号=前后不能有空格。对于常用的选项提供短形式,也就是选项首字母前加‘-’前缀。这种方式只对当次启动有效。

  2. mysql配置方式之二,在配置文件中使用选项。会按照一定路径寻找配置文件,ini,cnf都为配置文件。配置文件内容可以分组。可以通过命令行指定配置文件的优先级,也可以指定使用特定的配置文件。

  3. mysq配置系统变量。查询系统变量,SHOW VARIABLES [LIKE 匹配的模式]; 可以通过启动选项或配置文件来设置系统变量。

  4. mysql系统变量的作用范围,GLOBAL和SESSION.

  5. mysql状态变量,自动生成,只支持查看。

 

字符集和比较规则

  1. 打卡: 1.字符集和比较规则,字符集需要界定清楚字符范围,映射规则,比较规则是转化成二进制后比较大小的规则,同一种字符集可以有多种比较规则。
  2. 一些重要的字符集。ASCII < ISO 8859-1 < GB2312 < GBK < utf8
  3. MySQL支持的字符集和排序规则。基本所有字符集都支持,但常用的就两个utf8mb3和utf8mb4;比较规则查看 SHOW COLLATION LIKE ‘utf8\_%‘, 名称后缀意味着该规则是否区分重音和大小写;
  4. MySQL四个级别的字符集和比较规则,服务器级别,数据库级别,表级别,列级别。当插入的数据不是字符集所支持的数据,则会报错或乱码。
  5. 修改字符集或比较规则的任一方,另外一方都会自动修改。
  6. MySQL中字符集的转换,系统变量character_set_client为服务器解码请求时使用的字符集,系统变量character_set_connection 为服务器处理请求时会把请求字符串转为这个字符集,系统变量character_set_results为服务器向客户端返回数据时使用的字符集。统一设置这三个系统变量的值为同一个字符集 SET NAMES utf8;
  7. 如果character_set_connection代表的字符集和具体操作列的字符集一致,则直接进行相关操作,否则得先转换为具体操作的列的字符集之后再进行操作

InnoDB记录结构

  1. innoDB页概念,以页为单位在磁盘和内存中进行交互,一页大小为16kb
  2. innoDB行格式,存放数据到磁盘的方式,有四种,compact、Redundant、Dynamic、Compressed,其中innoDB默认的为Dynamic。指定行格式的语法为create table test()row_format=compact;
  3. COMPACT行格式,变长长字段长度列表,NULL值列表,记录头信息,记录真实数据。其中边长字段长度列表记录变长字段(VARCHAR(M)、VARBINARY(M), TEXT真实数据占用的字节长度按照列的顺序,逆序存放。并且只存放非NULL的列内容占用的长度。
  4. NULL值列表,统计允许为NULL值的列中,为null值则存1,不为null则存1,逆序存储在二进制位里,最少一个字节,不足补0,不够则加一个字节。
  5. 记录头信息,固定的5个字节组成,存储其他信息
  6. 记录真实数据,三个隐藏列(row_id(主键id,6字节,自己设置了,则这个没有), transaction_id(事务ID, 6字节), roll_pointer(回滚指针, 7字节))
  7. CHAR(M)列的存储格式,存储一个空字符串也会占用字符集对应的最少字节数,这样设计不容易产生碎片但比较占空间。
  8. Redundant行格式。字段长度偏移列表(所有列都会存长度信息,按照字段的偏移量来存长度)。对NULL值处理时,将列对应的偏移量值的第一个比特位作为是否为NULL的依据,如果为1则是NULL,否则不是。
  9. 行溢出数据。数据量超过16kb则会出现行溢出,本页存储768个字节,剩下数据分散存储到其他页,本页20个字节记录其他页地址。
  10.  一个行中的所有列(不包括隐藏列和记录头信息)占用的字节长度加起来不能超过65535个字节。
  11. Dynamic行格式,跟上面所说的compact行格式的区别是,Dynamic行格式会把所有的真实数据存储到其他的页面中。

以上是关于怎样查看mysql数据库的配置文件内容的主要内容,如果未能解决你的问题,请参考以下文章

怎样查看mysql pid文件路径 文件位置

Mysql 连接数与配置文件不一致问题

mysql数据库的最大连接数怎么查询?

mysql最大连接数设置多少合适

怎样把mysql导出表中某一列的内容用逗号隔开?

在mysql中怎样显示表里的内容