使用MAMP通过Shell导出数据库时遇mysqldump错误:未知变量'column-statistics=0'
解决MAMP mysqldump报错"unknown variable 'column-statistics=0'"的方案
我之前也碰到过这个问题,大概率是参数位置不对或者mysqldump没有读取到你修改的配置文件导致的,给你几个可行的解决步骤:
1. 调整命令中参数的位置
你之前加的--column-statistics=0可能放错了位置,这个参数需要放在数据库名称之前,不然会被mysqldump当成表名的一部分,试试这个命令:
/Applications/MAMP/Library/bin/mysqldump -u root -p --column-statistics=0 databasename tablename > /Users/mir/Documents/data.sql
输入密码后再尝试导出,应该就能绕过这个变量报错。
2. 确认mysqldump实际读取的配置文件
有时候MAMP的mysqldump并不会默认加载/Applications/MAMP/conf/my.cnf,你可以先执行下面的命令,查看它加载配置文件的优先级:
/Applications/MAMP/Library/bin/mysqldump --help | grep -A 10 "Default options"
输出会显示类似这样的内容:
Default options are read from the following files in the given order: /etc/my.cnf /etc/mysql/my.cnf ~/.my.cnf
找到排在最前面的配置文件,打开它(如果没有就创建),在[mysqldump]段添加:
[mysqldump] column-statistics=0
保存后再执行导出命令,配置应该就能生效了。
3. 终极方案:直接跳过该变量
如果上面的方法都不行,你可以尝试用--skip-column-statistics参数替代--column-statistics=0,命令如下:
/Applications/MAMP/Library/bin/mysqldump -u root -p --skip-column-statistics databasename tablename > /Users/mir/Documents/data.sql
这个参数是直接禁用列统计功能,和设置为0效果一致,但有时候兼容性更好。
内容的提问来源于stack exchange,提问作者Mir Mumtaz
相关产品推荐
相关产品推荐

