2010-11-30 43 views
0

嗨,我在这个我撕裂我的头发,我是一个noob生病承认当涉及到MySQL,我有我的本地Mac高清完美工作,我现在想将数据库存储到我的外部,因为数据库可能是100GB,MAC OSX,改变datadir mysql,仍然不能正常工作

Mac OSX在/ etc位置中似乎没有my.cnf作为默认设置,所以我抓取了一个“my-huge.cnf”将其存储并存储该文件夹中,我现在加入DATADIR =领域的[mysqld]在我的/新/位置 其中还包含诸如端口和插槽,

我也跑cp -R -p /etc/mysql/data /Volumes/Elements/database 我的老DATABSE值复制到新的E,I则改为 datadir = /Volumes/Elements/database

现在我的数据库无法正常工作, 我试图重启mysqld,即时得到

101130 15:13:11 [Warning] '--skip-locking' is deprecated and will be removed in a future release. Please use '--skip-external-locking' instead. 
101130 15:13:11 [Warning] Setting lower_case_table_names=2 because file system for /Volumes/Elements/database/ is case insensitive 
101130 15:13:11 [Note] Plugin 'FEDERATED' is disabled. 
mysqld: Table 'mysql.plugin' doesn't exist 
101130 15:13:11 [ERROR] Can't open the mysql.plugin table. Please run mysql_upgrade to create it. 
101130 15:13:11 InnoDB: Started; log sequence number 0 44233 
mysqld: Too many arguments (first extra is 'restart'). 
Use --verbose --help to get a list of available options 
101130 15:13:11 [ERROR] Aborting 

101130 15:13:11 InnoDB: Starting shutdown... 
101130 15:13:17 InnoDB: Shutdown completed; log sequence number 0 44233 
101130 15:13:17 [Note] mysqld: Shutdown complete 

当我尝试 “通过我的Java程序在Eclipse” 访问数据库 我现在得到 “成功发送到服务器的最后一个数据包是0毫秒前。该驱动程序还没有正式在一个完全丧失

此外,我认为这个问题可能是与插座,因为当我在终端,我得到

mysql的输入从服务器接收到任何数据包。”

Can't connect to local MySQL server through socket '/tmp/mysql.sock 

回答

0

一个非常简单的解决办法是符号链接旧的MySQL数据目录到新的位置。

ln -s /Volumes/Elements/database /etc/mysql/data

+0

感谢,但解决方案犯规工作,编号喜欢知道如何正确地更改my.cnf文件? – user524156 2010-11-30 15:55:02