欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 汽车 > 维修 > mysql进阶(二)

mysql进阶(二)

2025/3/9 9:58:39 来源:https://blog.csdn.net/2202_76101487/article/details/146001021  浏览:    关键词:mysql进阶(二)

MySQL服务器配置与管理

1. MySQL服务器简介

        通常所说的MySQL服务器指的是mysqld程序,当运⾏mysqld后对外提供MySQL服务,包括:

        • 服务器⽀持的启动选项。可以在命令⾏和配置⽂件中指定这些选项。

         • 服务器系统变量。反映了启动选项的当前状态和值,其中⼀些变量可以在服务器运⾏时修改,系统变量可以被修改,

         • 服务器状态变量。这些变量包含了有关运⾏时操作的计数器和统计信息,状态变量不能被修改,只是代表了当前的状态,是一个指示器。

1.1 服务器配置和默认值

        查看服务器在运⾏时系统变量的值:

          mysql> SHOW VARIABLES;

         查看服务器在运⾏时的⼀些统计和状态指⽰器:

         mysql> SHOW STATUS;

MySQL :: MySQL 8.0 Reference Manual :: 7.1.4 Server Option, System Variable, and Status Variable Reference

注意:系统变量、状态变量的作⽤域分为: global(全局),session(当前会话或连接),或者两者都⽀持;

 2 系统变量和选项

2.1 简介

       当通过mysqld启动数据库服务器时,可以通过选项⽂件或命令⾏中提供选项,但是,在⼤多数情 况下,为确保服务器每次运⾏时都使⽤相同的选项,最好的⽅法是在选项⽂件中指定相应的选项。

        • mysqld从选项⽂件中的 [mysqld] 和 [server] 组(节点)中读取选项内容

        • mysqld接受的选项可以通过 mysqld --verbose --help 查看,列表中的有些项⽬是可以在 服务器启动时设置的系统变量,系统变量可以在连接MySQL后使⽤ 看,但有些内容只在--help 中存在,使⽤ SHOW VARIABLES 语句查 SHOW VARIABLES 时并没有显⽰,这是因为它们只是选项⽽不是系统变量。

2.2 常用选项

 2.3 使用系统变量

 

 

 

 

实例,配置系统变量:

2.4 查看状态变量

        MySQL服务器维护着当前系统信息的状态变量;show status;

3. MySQL数据⽬录

        MySQL服务器的管理信息、业务数据、⽇志⽂件、磁盘缓冲⽂件默认存储在数据⽬录下,数据⽬录⼀般包含以下内容:

4. ⽇志简介

        MySQLServer有以下⼏种⽇志,可以记录服务器正在发⽣的活动。 

        默认情况下,除Windows上的错误⽇志外,不启⽤任何⽇志,Linux下默认开启错误⽇志和⼆进制 ⽇志

        • 在服务器运⾏期间可以控制⼀般查询和慢查询⽇志的禁⽤与开启,也可以更改⽇志⽂件名

        ⼀般查询⽇志和慢查询⽇志记录可以写⼊⽇志表、⽇志⽂件或两者同时写⼊

        默认情况下,所有启⽤的⽇志将写⼊数据⽬录,可以通过刷新⽇志强制服务器关闭并重新打开⽇志 ⽂件

        通过 FLUSH LOGS 语句刷新⽇志来强制服务器关闭并重新打开⽇志⽂件,也可以使⽤ mysqladmin的 flush-logs 或 refresh 参数,或mysqldump的--flush-logs 或--master -data;

        中继⽇志仅⽤于主从复制过程中的从服务器。

4.1 ⼀般查询⽇志和慢查询⽇志的输出形式

        如果启⽤⼀般查询⽇志和慢查询⽇志,⽇志的输出⽅式可以指定为⽇志⽂件或mysql系统库中的的general_log 和 slow_log 表,也可以两者同时指定;

4.1.1 启动时的⽇志控制

 

        将⼀般查询⽇志和慢查询⽇志写⼊⽇志⽂件,并指定⾃定义的⽇志路径

 

4.1.2 运⾏时的⽇志控制

4.1.3 使用日志查询的优点

4.2 ⼀般查询⽇志 

 

 

4.3 慢查询⽇志

        当开启记录不使用索引的查询时,一定要记住配置一下每分钟记录的日志数。

4.4 错误⽇志

        错误⽇志⼀般会记录mysqld启动和关闭的次数、诊断消息,以及服务器运⾏期间发⽣的错误和警告;例如MySQL需要⾃动检查或修复⼀个表,就会在错误⽇志中写⼊⼀条记录。错误⽇志默认使⽤ UTF-8 ( utf8mb3 )编码格式,并使⽤英语⽣成记录。

在linux中错误日志的默认文件路径:

 当mysql服务器启动失败,首要就要查看一下错误日志。

刷新错误⽇志⽂件和重命名

         • 如果使⽤ FLUSH ERROR LOGS 、 FLUSH LOGS 语句或 mysqladmin flush-logs 命令刷 新错误⽇志,服务器会将正在写⼊的任何错误⽇志⽂件关闭并重新打开。

        • 如果要⼿动重命名错误⽇志⽂件,可以在重命名操作之后执⾏刷新操作,服务器会以原⽂件名⽣成 ⼀个新的错误⽇志⽂件,例如⽇志⽂件名为 host_name .err ,可以按以下步骤操作:

4.5 ⼆进制⽇志

        ⼆进制⽇志包含数据库更改的"事件",不会记录 SELECT 和 SHOW ,例如:记录表的创建操作或 表数据的更改,⼆进制⽇志还包含每个语句更新数据时花费的时间信息,启动⼆进制⽇志,对服务器性能稍微有些影响;

对服务器进行集群方式操作:

        • 除了基于⾏的⽇志模式,它还包含可能进⾏更改数据的语句事件,例如 DELETE 操作没有匹配到 查找到的⾏;

         • ⼆进制⽇志的作⽤:

        主从节点数据复制:从节点服务器读取主节点服务器上的⼆进制⽇志⽂件,并根据⼆进制⽇志 中记录的事件在从节点上执⾏相同的操作,保证主从节点服务器上数据⼀致,实现数据复制功 能。在主从复制专题中我们重点讲解复制过程;

         ◦ 数据恢复:从某个时间点恢复备份数据后,将重新执⾏备份时间点之后记录在⼆进制⽇志中的 事件。这些事件使数据库从备份点更新到当前最新状态。

• ⼆进制⽇志的语句中如果涉及⽤⼾的密码,则由服务器进⾏加密,不会以纯⽂本形式出现。

 

 

二进制日志文件默认保存30天,时间已过就会删除。

4.7 服务器⽇志维护

        MySQL服务器可以创建多种不同的⽇志⽂件来帮助我们查看服务器的活动。但是必须定期清理这 些⽂件,以免⽇志占⽤过多的磁盘空间。在启⽤⽇志的情况下,通常希望备份和删除旧的⽇志⽂件, 并把⽇志写到新⽂件。

        默认⼆进制⽇志的过期时间为30天,过期后将⾃动删除,要指定⾃定义过期时间,可以使⽤系统变 量 binlog_expire_logs_seconds=N 单位为秒,在下⼀次启动服务器和刷新⽇志时删除过期 ⽇志⽂件;

         • 强制使⽤新的⽇志⽂件可以⼿动刷新⽇志,当执⾏ logs 、 FLUSH LOGS 语句或 mysqladmin refresh 、 mysqldump --flush-logs 、 mysqladmin flush mysqldump - master-data 命令时,会发⽣⽇志刷新。此外当⼆进制⽇志⽂件⼤⼩达到 max_binlog_size 系统变量指定的值时,服务器会⾃动刷新⼆进制⽇志。

         • F LUSH LOGS ⽀持可选的修饰符以启⽤个别⽇志的选择性刷新:

        刷新⼀般查询⽇志、慢查询⽇志或错误⽇志只是关闭并重新打开⽇志⽂件,如果要备份可以先重命 名再执⾏刷新操作,⽐如⼀般查询⽇志、慢查询⽇志或错误⽇志⽂件名分别为: mysql-slow.log 和 err.log ,可以在命令⾏中使⽤如下⼀系列命令:

5. mysqlSystemSchema(mysql系统库)

         Mysql Schema是⼀个系统库,表中存储了MySQL服务器运⾏时所需的信息。⼴义上,mysql schema包含存储数据库对象元数据的数据字典和⽤于其他操作⽬的的系统表。数据字典表和系统表位 于数据⽬录下⼀个名为 mysql.ibd 的表空间⽂件中,使⽤的是InnoDB存储引擎。

        数据字典和系统表都是保存数据库对象属性的存储机构。

5.1 数据字典

5.2 系统表

6. 在⼀台机器上运⾏多个MySQL实例

        将在Windows系统中使⽤安装器演⽰配置多个MySQL实例的⽅法。

6.1 下载一个其他版本的mysql服务器

mysql安装视频_哔哩哔哩_bilibili;

6.2 配置不同的版本选项⽂件

        不同的MySQL版本启动时,会在默认的数据⽬录下读取相应版本的 my.ini ⽂件,⽐如5.7版本 启动时会读取C:\ProgramData\MySQL\MySQLServer5.7\my.ini⽂件,8.0版本启动时会读取 C:\ProgramData\MySQL\MySQLServer8.0\my.ini⽂件,为了让不同版本的实例在启动时避免冲 突,⽐如端⼝冲突,需要对不同版本的实例进⾏⼀些差异配置:

配置文件目录如下:C:\ProgramData\MySQL\MySQL Server 5.7

ps:本次的学习就到这里了,感谢还在努力的你!!!

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词