can't start mysql56 after move datadir

Murray Eisenberg murrayeisenberg at gmail.com
Thu Feb 12 17:21:06 PST 2015


That wasn't the issue. The issue is that the server won't start after I changed to matador.

(mysql.server is just a convenient script to start or stop mysql; it reads datadir, among other things, from my.cnf).

 
> On 12 Feb2015, at 6:48 PM, Bradley Giesbrecht <pixilla at macports.org> wrote:
> 
> I am not familiar with mysql.server but using the mysql56-server port to start and stop mysqld works as expected:
> 
> sudo port install mysql56-server
> sudo port load mysql56-server
> /opt/local/lib/mysql56/bin/mysql -S /opt/local/var/run/mysql56/mysqld.sock -uroot -p -e 'show variables like "datadir";'
> # Enter password: 
> # +---------------+----------------------------+
> # | Variable_name | Value                      |
> # +---------------+----------------------------+
> # | datadir       | /opt/local/var/db/mysql56/ |
> # +---------------+----------------------------+
> # sudo port unload mysql56-server
> sudo mv /opt/local/var/db/mysql56 /Users/brad/
> sudo mv /opt/local/etc/mysql56/my{,-orig}.cnf
> sudo sh -c 'cat > /opt/local/etc/mysql56/my.cnf' << EOF
> [mysqld]
> datadir     = /Users/brad/mysql56
> EOF
> sudo port load mysql56-server
> /opt/local/lib/mysql56/bin/mysql -S /opt/local/var/run/mysql56/mysqld.sock -uroot -p -e 'show variables like "datadir";'
> # Enter password: 
> # +---------------+----------------------+
> # | Variable_name | Value                |
> # +---------------+----------------------+
> # | datadir       | /Users/brad/mysql56/ |
> # +---------------+----------------------+
> # sudo port unload mysql56-server
> sudo mv /opt/local/etc/mysql56/my{-orig,}.cnf
> sudo mv /Users/brad/mysql56 /opt/local/var/db/
> 
> 
> 
> Regards,
> Bradley Giesbrecht (pixilla)
> 
> 
> 
> On Feb 12, 2015, at 2:34 PM, Murray Eisenberg <murrayeisenberg at gmail.com> wrote:
> 
>> CORRECTION:  The command I use to start the mysql server is indeed the one for the Macports version, namely:
>> 
>>  sudo /opt/local/share/mysql56/support-files/mysql.server start
>> 
>> (Sorry for the typo.)
>> 
>>> On 12 Feb2015, at 5:05 PM, Murray Eisenberg <murrayeisenberg at gmail.com> wrote:
>>> 
>>> 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
> 

---
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