can't start mysql56 after move datadir
Murray Eisenberg
murrayeisenberg at gmail.com
Thu Feb 12 14:05:18 PST 2015
After upgrading from OS X Mavericks to Yosemite, I did the standard procedure for migrating macports. But I found that the mysql server would not start. So I uninstalled mysql56 completely and installed anew. Worked just fine.
But, I want my datadir to be someplace else from the default, so I edited my.cnf as shown below, then did an _exact_ copy (* preserving permissions *) of /opt/local/var/db/mysql56 to new location ~/Databases/mysql/data, i.e.,
/Volumes/MacHD/Users/thisuser/Databases/mysql/data.
When I execute
sudo /usr/local/mysql/support-files/mysql.server start
now I get the dreaded message
Starting MySQL
. ERROR! The server quit without updating PID file (/Volumes/MacHD/Users/thisuser/Databases/mysql/data/MyMachineName.local.pid).
In MyMachineName.local.err, I see the following:
===== extract from [MyMachineName].local.err ======
150212 16:53:28 mysqld_safe mysqld from pid file /Volumes/MacHD/Users/thisuser/Databases/mysql/data/MyMachineName.local.pid ended
150212 16:59:05 mysqld_safe Starting mysqld daemon with databases from /Volumes/MacHD/Users/thisuser/Databases/mysql/data
2015-02-12 16:59:05 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details).
2015-02-12 16:59:05 82301 [Warning] Setting lower_case_table_names=2 because file system for /Volumes/MacHD/Users/thisuser/Databases/mysql/data/ is case insensitive
150212 16:59:06 mysqld_safe mysqld from pid file /Volumes/MacHD/Users/thisuser/Databases/mysql/data/MyMachineName.local.pid ended
==== end extract =======
So the mysql server does seem to be using the datadir I specified. And the ownership on this datadir are the same (_mysql:_mysql) as on /opt/local/var/db/mysql56.
What's wrong?
Below is my /opt/local/etc/mysql56/my.cnf.
========== begin file my.cnf ===========
# Use default MacPorts settings
!include /opt/local/etc/mysql56/macports-default.cnf
[mysqld]
datadir = /Volumes/MacHD/Users/thisuser/Databases/mysql/data
port = 3306
socket = /opt/local/var/run/mysql56/mysqld.sock
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
[client]
socket = /opt/local/var/run/mysql56/mysqld.sock
============ end file =============
---
Murray Eisenberg murrayeisenberg at gmail.com
503 King Farm Blvd #101 Home (240)-246-7240
Rockville, MD 20850-6667 Mobile (413)-427-5334
More information about the macports-users
mailing list