如何在Mac端MAMP中将brew安装的MariaDB设置为默认数据库
MAMP替换默认数据库为brew安装的mariadb@10.1 解决方法
- 完全关闭MAMP所有运行中的服务,执行命令停止brew安装的mariadb自启服务,避免端口冲突:
brew services stop mariadb@10.1
- 备份MAMP原有MySQL启停脚本,防止操作失误可回滚:
cp /Applications/MAMP/bin/startMysql.sh /Applications/MAMP/bin/startMysql.sh.bak cp /Applications/MAMP/bin/stopMysql.sh /Applications/MAMP/bin/stopMysql.sh.bak
修改startMysql.sh启动脚本
将脚本原有内容全部替换为以下内容,注意如果是Apple Silicon(M系列芯片)Mac,要把所有/usr/local/opt/mariadb@10.1替换为/opt/homebrew/opt/mariadb@10.1:
#!/bin/sh # 优先加载brew安装的mariadb路径 export PATH="/usr/local/opt/mariadb@10.1/bin:$PATH" # 启动参数保留MAMP原有数据目录、端口配置,避免原有数据库数据丢失 /usr/local/opt/mariadb@10.1/bin/mysqld_safe --datadir=/Applications/MAMP/db/mysql --pid-file=/Applications/MAMP/tmp/mysql/mysql.pid --port=8889 --socket=/Applications/MAMP/tmp/mysql/mysql.sock --user=_mysql > /dev/null &
如果需要修改端口为3306,直接修改--port参数即可。
修改stopMysql.sh停止脚本
同样替换原有全部内容,芯片路径规则同上:
#!/bin/sh export PATH="/usr/local/opt/mariadb@10.1/bin:$PATH" # 用对应版本的mysqladmin停止服务 /usr/local/opt/mariadb@10.1/bin/mysqladmin -u root -proot shutdown --socket=/Applications/MAMP/tmp/mysql/mysql.sock
注意如果你的MAMP数据库root用户密码不是默认的root,把上面命令里的-proot改成-p你的实际密码
赋权并验证
- 给修改后的两个脚本添加执行权限:
chmod +x /Applications/MAMP/bin/startMysql.sh /Applications/MAMP/bin/stopMysql.sh
- 打开MAMP启动MySQL服务,在终端执行以下命令验证版本是否匹配:
/Applications/MAMP/Library/bin/mysql --version
输出包含10.1.x-MariaDB即代表设置成功。
常见异常排查
- 启动失败:先检查mariadb@10.1是否已经被其他进程占用端口,执行
lsof -i:8889查看占用进程杀掉后重试 - 原有数据丢失:确保启动脚本的
--datadir参数指向的是/Applications/MAMP/db/mysql,没有改成brew默认的数据库目录
内容的提问来源于stack exchange,提问作者AdiOverRide
相关产品推荐
相关产品推荐

