介绍
在本项目中,你将学习如何更改 MySQL 数据库服务器的默认错误日志位置。完成本项目后,你将能够:
- 为存储 MySQL 错误日志创建一个专用目录
- 为日志目录和文件设置适当的权限和所有者
- 修改 MySQL 配置文件以更改默认错误日志位置
👀 预览

🎯 任务
在本项目中,你将学习:
- 如何创建一个用于存储 MySQL 错误日志的新目录
- 如何更改日志目录和文件的用户、组和权限
- 如何修改 MySQL 配置文件以设置新的错误日志位置
🏆 成果
完成本项目后,你将能够:
- 将 MySQL 错误日志的位置自定义到更方便的目录
- 确保 MySQL 错误日志文件具有适当的权限和所有者
- 自信地浏览和修改 MySQL 配置文件以满足你的需求
创建 MySQL 日志目录并设置权限
在这一步中,你将创建 MySQL 日志目录并设置适当的权限。
在
~/project目录下创建mysql目录,并将my.log文件移动到该目录中。mkdir ~/project/mysql touch ~/project/mysql/my.log使用
sudo命令更改~/project/mysql/my.log文件和~/project/mysql目录的用户、用户组和权限模式。sudo chown mysql:mysql ~/project/mysql/my.log sudo chown mysql:mysql ~/project/mysql sudo chmod 755 /home/labex
此命令将 my.log 文件和 mysql 目录的所有者和组设置为 mysql:mysql,并将主目录(/home/labex)的权限设置为 755(所有者具有读写执行权限,组和其他用户具有读写权限)。
修改 MySQL 配置文件
在这一步中,你将修改 MySQL 配置文件以更改默认错误日志位置。
导航到
/etc/mysql/mariadb.conf.d目录。cd /etc/mysql/mariadb.conf.d使用文本编辑器打开
50-server.cnf文件。sudo vim 50-server.cnf在
[mysqld]部分,取消注释log_error选项,并将路径设置为"/home/labex/project/mysql/my.log"。[mysqld] log_error = /home/labex/project/mysql/my.log
4. 使用文本编辑器打开 50-mysqld_safe.cnf 文件。
sudo vim 50-mysqld_safe.cnf
在
[mysqld_safe]部分,注释掉skip_log_error选项。[mysqld_safe] #skip_log_error

这些更改将确保 MySQL 错误日志写入 ~/project/mysql 目录下的 my.log 文件,并且 skip_log_error 选项已被注释掉。
重启 MySQL 服务并验证更改
在这一步中,你将重启 MySQL 服务并验证更改是否已正确应用。
启动 MySQL 服务。
sudo service mysql start连接到 MySQL 命令行界面。
mysql -uroot使用 SQL 语句检查
log_error变量的值。SHOW VARIABLES LIKE 'log_error';MariaDB [(none)]> SHOW VARIABLES LIKE 'log_error'; +---------------+----------------------------------+ | Variable_name | Value | +---------------+----------------------------------+ | log_error | /home/labex/project/mysql/my.log | +---------------+----------------------------------+ 1 row in set (0.001 sec)
输出应显示 log_error 变量设置为正确的路径 /home/labex/project/mysql/my.log。
恭喜!你已成功将 MySQL 错误日志位置更改为 ~/project/mysql 目录下的 my.log 文件。
总结
恭喜!你已完成本项目。你可以在 LabEx 中练习更多实验来提升你的技能。



