在macos系统中,我们可以通过brew 非常方便的安装和管理mariadb/mysql数据库, 安装后数据库文件的默认存储路径即配置中的 datadir 路径默认为 /usr/local/var/mysql 。 默认的my.cnf配置文件路径为 /usr/local/etc/my.cnf 这个文件中使用了目录包含语句!includedir /usr/local/etc/my.cnf.d , 他会将 /usr/local/etc/my.cnf.d 目录中的所有配置文件加载为mysql的配置文件。
brew安装的mysql的应用程序路径为 /usr/local/Cellar/mariadb@10.11/10.11.8/ 蓝色为数据库的版本号, 另外还有一个软路径为 /usr/local/opt/mariadb@10.11 一般情况我们在用户配置文件和程序中都是使用的这个软路径。
macos mariadb/mysql datadir 自定义数据库文件保存路径
macos中对于 datadir 路径的配置和其他平台的不太一样, 这个datadir的路径配置需要再mysql安装目录下的 .plist文件中配置才会生效。 即这个文件 /usr/local/Cellar/mariadb@10.11/10.11.8/homebrew.mxcl.mariadb@10.11.plist, 这里配置的文件,在每次启动的时候会自动拷贝到 ~/Library/LaunchAgents/homebrew.mxcl.mariadb@10.11.plist 。
修改mysql的datadir路径我们只需要修改安装路径下的 homebrew.mxcl.mariadb@10.11.plist 和 homebrew.mariadb@10.11.service 文件中的 datadir 的值即可,至于 配置文件中的 WorkingDirectory 这个是工作路径,这个保持默认即可,不需要修改。
配置完成后是这样的
mariadb/mysql datadir配置文件
LaunchAgents plist启动文件
这个文件在每次启动时都会从数据库安装目录下的plist文件拷贝过来覆盖,所以可以放心删除他
homebrew.mxcl.mariadb@xxx.plist配置文件
/usr/local/Cellar/mariadb@10.11/10.11.8/homebrew.mxcl.mariadb@10.11.plist
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>KeepAlive</key>
<true/>
<key>Label</key>
<string>homebrew.mxcl.mariadb@10.11</string>
<key>LimitLoadToSessionType</key>
<array>
<string>Aqua</string>
<string>Background</string>
<string>LoginWindow</string>
<string>StandardIO</string>
<string>System</string>
</array>
<key>ProgramArguments</key>
<array>
<string>/usr/local/opt/mariadb@10.11/bin/mysqld_safe</string>
<string>--datadir=/Volumes/data/docker/opt/mariadb1011/data</string>
</array>
<key>RunAtLoad</key>
<true/>
<key>WorkingDirectory</key>
<string>/usr/local/var</string>
</dict>
</plist>
homebrew.mariadb@xxx.service配置文件
/usr/local/Cellar/mariadb@10.11/10.11.8/homebrew.mariadb@10.11.service
[Unit]
Description=Homebrew generated unit for mariadb@10.11
[Install]
WantedBy=default.target
[Service]
Type=simple
ExecStart=/usr/local/opt/mariadb@10.11/bin/mysqld_safe --datadir\=/Volumes/data/docker/opt/mariadb1011/data
Restart=always
WorkingDirectory=/usr/local/var
工作目录WorkingDirectory
这个是mysql的工作目录,我们保持默认 的/usr/local/var 目录即可, 一般情况下可以不必修改。
~/.bash_profile Mysql库信息 可执行路径配置
vi ~/.bash_profile 编辑这个文件,在文件尾部加入以下内容即可
# for mariadb
export PATH="/usr/local/opt/mariadb@10.11/bin:$PATH"
export LDFLAGS="-L/usr/local/opt/mariadb@10.11/lib"
export CPPFLAGS="-I/usr/local/opt/mariadb@10.11/include"
export PKG_CONFIG_PATH="/usr/local/opt/mariadb@10.11/lib/pkgconfig"