嗨,我正在撕扯我的头发,这是一个noob生病的承认,当涉及到mysql,我已经完全在我的本地Mac HD上工作了,我现在想把数据库存储到我的外部作为数据库可能是100gb,
Mac osx似乎没有将my.cnf作为/ etc位置的默认值,所以我抓了一个“my-huge.cnf”将它运行并将其存储在此文件夹中,我现在添加了datadir = my / new /地点 在[mysqld]字段下,它还包含端口和套接字等信息,我也跑了cp -R -p /etc/mysql/data /Volumes/Elements/database
将我的旧数据库值复制到新数据库,然后我改变了
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
当我尝试通过eclipse中的java程序访问数据库时 我现在得到了 “成功发送到服务器的最后一个数据包是0毫秒之前。驱动程序没有从服务器收到任何数据包。”
我正式处于完全亏损状态
另外我认为问题可能出在套接字上,就像我在终端中输入mysql一样
Can't connect to local MySQL server through socket '/tmp/mysql.sock
答案 0 :(得分:0)
一个非常简单的解决方案是将旧的MySQL数据目录符号链接到新位置。
ln -s /Volumes/Elements/database /etc/mysql/data