Mac修改MySQL配置文件

因为最近在验证binlog相关功能,所以想修改log-bin参数以启用该功能,所以需要修改配置文件。以下是踩坑之后总结出的过程

配置文件的路径

查看官方文档后,知道下述方式均可修改启动配置文件,顺序是从上往下读,后面的会覆盖前面的

File Name Purpose
/etc/my.cnf Global options
/etc/mysql/my.cnf Global options
*SYSCONFDIR*/my.cnf Global options
$MYSQL_HOME/my.cnf Server-specific options (server only)
defaults-extra-file The file specified with --defaults-extra-file, if any
~/.my.cnf User-specific options
~/.mylogin.cnf User-specific login path options (clients only)

但通过命令mysqld --verbose --helpd的输出参数知道,我的电脑及MySQL版本实际支持下方描述的方式配置

1
2
Default options are read from the following files in the given order:
/etc/my.cnf /etc/mysql/my.cnf /usr/local/mysql/etc/my.cnf ~/.my.cnf
生成配置文件并修改权限
1
2
3
4
5
6
cd /etc
touch my.cnf
#把文件所有者修改为_mysql
sudo chown _mysql my.cnf
#把文件权限修改为644。如果权限是777,MySQL会忽略这个配置文件(坑)
sudo chmod 644 my.cnf

使用编辑器,修改配置文件(如果使用vim修改配置,需要在修改所有者之前修改配置,或者修改my.cnf权限为777之后修改配置,但这样改完配置后,还要改文件权限为644)。我是直接用sublime修改

1
2
3
4
[mysqld]
log-bin=/usr/local/mysql/mysql-bin/mysql-bin
binlog-format=ROW
server-id=1
创建文件夹及文件
1
2
3
4
5
6
7
8
cd /usr/local/mysql/
#创建文件夹并修改所有者
mkdir mysql-bin
chown _mysql mysql-bin
#创建文件并修改所有者
cd mysql-bin
touch mysql-bin.index
chown _mysql mysql-bin.index

在系统偏好设置->MySQL中启动

其他问题:
  1. 通过官方shell脚本启动或重启,一直提示错误,原因暂未找到
1
2
3
4
5
➜  ~ sudo /usr/local/mysql/support-files/mysql.server restart
ERROR! MySQL server PID file could not be found!
Starting MySQL
..^C
➜ ~
  1. 启动时的错误日志在/usr/local/mysql/data/mysqld.local.err,这个是最大的坑。因为日志使用时间是祖鲁时间,找了半天启动日志把这个日志忽略了。祖鲁时间比北京时间晚8个小时。
1
2022-05-27T19:08:37.136167Z 294 [Note] Access denied for user 'creasylai'@'localhost' (using password: NO)

如上时间,北京时间实际是,很容易让人忽略

http://blog-image-creasylai.oss-cn-shenzhen.aliyuncs.com/blog.images/img/2022/05/article01/01.png