专注于 JetBrains IDEA 全家桶,永久激活,教程
持续更新 PyCharm,IDEA,WebStorm,PhpStorm,DataGrip,RubyMine,CLion,AppCode 永久激活教程

Linux下mysql相关配置总结

概述

由于工作和学习的需要,经常需要查看、编辑mysql配置,因此,本文将对相关的操作进行总结。这里只介绍Linux下的比较常见的配置(如没有特殊说明,这里mysql版本均为mysql8以上)。后续将持续拓展,更新。

安装mysql

redhat7安装mysql8,点此跳转

mysql启动失败的解决方案

如果通过如下命令,启动mysql,发现没有返回,并且检查mysql的状态是start,而不是running时。 可以通过查看mysqld.log文件定位问题,它的默认路径是/var/log/mysqld.log。

systemctl start mysqld

当mysqld.log文件出现如下错误时:

 Failed to connect to systemd notification socket named @/org/freedesktop/systemd1/notify.

这时候应该是mysql服务注册时,类型选错了,type属性应该修改为simple。我们可以修改 /usr/lib/systemd/system/mysqld.service这个文件,修改type属性:

Type=simple

保存文件,重启机器即可。

mysql与mysqld的区别

mysql是个命令行程序,而mysqld是服务。

查看安装文件路径

which mysql

查找配置文件my.cnf的位置

如果mysql已经启动了,通过查看mysql的线程,查看是否有明确指定加载my.cnf文件的路径。

 ps -aux | grep mysql | grep 'my.cnf'

如果查询不到,则mysql启动时会读取安装目录根目录以及默认目录下的my.cnf文件。首先确认服务器是否有my.cnf文件。

locate my.cnf

确认有my.cnf文件之后,查看mysql启动时读取配置文件的默认目录。

mysql --help|grep 'my.cnf'

查询结果可能如下图:

69_1.png这些就是mysql默认会搜寻my.cnf的目录,顺序排前的优先。

指定启动时读取配置的my.cnf文件路径

如果没有设置使用指定目录my.cnf文件及默认读取目录没有my.cnf文件,表示mysql启动时并没有加载配置文件,而是使用默认配置。这时候只需要在mysql默认读取的目录中,创建一个my.cnf文件,写入配置,重启mysql即可。

指定数据库目录

修改配置文件中的datadir属性。

相关命令所在的目录

/usr/bin (存放mysqladmin mysqldump等命令)

修改全局变量

修改全局变量有两种方式。

1、 直接修改配置文件,重启mysql服务。线上服务慎用。
2、 set global 变量名=变量值 或 set @@global.变量名=变量值。这个只修改了正在运行的mysql实例参数,下次重启时还是会失效,所以最终还是要修改配置文件。

mysql配置redo log

1、 通过配置文件中的的datadir属性,得知mysql的数据目录路径。默认情况下,InnoDB会在数据目录下创建两个5MB的redo log文件,名称分别是ib_logfile0和ib_logfile1。

69_2.png2.可以通过修改配置文件的innodb_log_group_home_dir属性,修改redo log文件的目录,而且必须确保这个目录已存在。如下所示,这里将目录修改为/var/lib/mysql/redo_log。保存配置,我们重启mysql,应该就能在这个目录下看到了。

chmod 777 /var/lib/mysql/redo_log
innodb_log_group_home_dir=/var/lib/mysql/redo_log

3、innodb_log_files_in_group属性用来定义日志组中的日志文件数。推荐的默认值为2。

innodb_log_files_in_group=2

4、innodb_log_file_size属性日志组中每个日志文件的大小(以字节为单位)。日志文件的总大小(innodb_log_file_size* innodb_log_files_in_group)不能超过略小于512GB的最大值。

mysql配置bin log

1、如下图,第一个参数表示打开binlog日志;第二个参数表示binlog日志的基本文件名,后面会追加标识来表示每一个文件;第三个参数指定的是binlog文件的索引文件,这个文件管理了所有的binlog文件的目录。在配置文件中也是相同的属性,保存修改,重启mysql后生效。

69_3.png

2、查看当前mysql的binlog情况,每当我们重启一次,会自动生成一个binlog文件。

show master status;

69_4.png

3、手动刷新binlog文件,同样会新建一个binlog文件。

 flush logs;

4、清空binlog文件:

reset master;

5、查看binlog文件的内容,使用mysqlbinlog,它是用于查看binlog日志的工具:

mysqlbinlog binlog.000001

查询长事务

我们可以在information_schema库的innodb_trx这个表中查询长事务。比如下面的这个语句,用于查找持续时间超过60s的事务。

select * from information_schema.innodb_trx where TIME_TO_SEC(timediff(now(),trx_started))>60

文章永久链接:https://tech.souyunku.com/26738

未经允许不得转载:搜云库技术团队 » Linux下mysql相关配置总结

JetBrains 全家桶,激活、破解、教程

提供 JetBrains 全家桶激活码、注册码、破解补丁下载及详细激活教程,支持 IntelliJ IDEA、PyCharm、WebStorm 等工具的永久激活。无论是破解教程,还是最新激活码,均可免费获得,帮助开发者解决常见激活问题,确保轻松破解并快速使用 JetBrains 软件。获取免费的破解补丁和激活码,快速解决激活难题,全面覆盖 2024/2025 版本!

联系我们联系我们