2017-06-30 11 views
1

当尝试一个数据库导出具有:不能使用mysqldump导出数据库:未知变量 'DATADIR =在/ var/lib中/ MySQL的'

mysqldump -u root -p --opt databasename > databasename.sql 

它失败,并显示:

mysqldump: unknown variable 'datadir=/var/lib/mysql' 

我在互联网上进行了研究,发现mysql配置文件有:

[mysqldump] 
datadir=/var/lib/mysql 

在这些情况下,解决方案是删除该变量,但在我的情况下,我没有在我的任何配置文件中的变量,因此该解决方案对我没有用处。


要查看所有可能的配置文件位于我的系统,我用mysqld --verbose --help,结果表明:

Default options are read from the following files in the given order: 
/etc/my.cnf /etc/mysql/my.cnf /usr/etc/my.cnf ~/.my.cnf 

一些配置文件不存在,和那些存在甚至不具备[mysqldump]可变组,例如我/etc/my.cnf有:

[mysqld] 
datadir=/var/lib/mysql 
socket=/var/lib/mysql/mysql.sock 
default-storage-engine=MyISAM 
innodb_file_per_table=1 
max_allowed_packet=268435456 
local-infile=0 
max_connections=1024 
table_definition_cache=400 
performance_schema=0 
open_files_limit=10000 

[client] 
datadir=/var/lib/mysql 
socket=/var/lib/mysql/mysql.sock 

那么什么是事业等lution?

回答

1
[client] 
datadir=/var/lib/mysql 

删除datadir=/var/lib/mysql[client]。客户端不需要知道MySQL服务器在哪里存储数据。