Updating mysql for Drupal 8
As Drupal 8 now required a mysql version higher then my current manually installed version 5.1.46 released on April 23, 2010 I have to try yo get rid of that version and install the latest through homebrew.
brew install mysql
==> Downloading https://homebrew.bintray.com/bottles/mysql-5.6.23.mavericks.bottle.tar.gz
==> Pouring mysql-5.6.23.mavericks.bottle.tar.gz
==> Caveats
A "/etc/my.cnf" from another install may interfere with a Homebrew-built
server starting up correctly.
To connect:
mysql -uroot
To have launchd start mysql at login:
ln -sfv /usr/local/opt/mysql/*.plist ~/Library/LaunchAgents
Then to load mysql now:
launchctl load ~/Library/LaunchAgents/homebrew.mxcl.mysql.plist
Or, if you don't want/need launchctl, you can just run:
mysql.server start
==> /usr/local/Cellar/mysql/5.6.23/bin/mysql_install_db --verbose --user=clemens --basedir=/usr/local/Cellar/mysql/5.6.23 --datadir=/usr/local/var/mysql --tmpdir=/tmp
2015-05-10 18:04:30 1247 [Note] InnoDB: FTS optimize thread exiting.
2015-05-10 18:04:30 1247 [Note] InnoDB: Starting shutdown...
2015-05-10 18:04:31 1247 [Note] InnoDB: Shutdown completed; log sequence number 1600607
2015-05-10 18:04:31 1247 [Note] /usr/local/Cellar/mysql/5.6.23/bin/mysqld: Shutdown complete
Warning: The post-install step did not complete successfully
You can try again using `brew postinstall mysql`
==> Summary
/usr/local/Cellar/mysql/5.6.23: 9687 files, 339M
How did I start mysql in 2010?
Fortunate I blogged about this.
# Stop the old
sudo /Library/StartupItems/MySQLCOM/MySQLCOM stop
# Move config out of the way
sudo mv /etc/my.cnf /etc/my.cnf-5.1
brew postinstall mysql
mysql.server start
# Do I have the correct version now?
mysql -V
/usr/local/Cellar/mysql/5.6.23/bin/mysql -uroot
mysql.server stop
Now copy over a database to make sure the upgrade path works on the old databases.
sudo cp -r /usr/local/mysql/data/drupal_d7 /usr/local/var/mysql/
sudo chown -R clemens /usr/local/var/mysql/drupal_d7/
Database is available?
You will note the databases are not compatible with latest version.
$ mysql -uroot
mysql> use drupal_d7;
mysql> show tables;
mysql> select * from task;
ERROR 1146 (42S02): Table 'drupal_d7.task' doesn't exist
According to http://www.linux.org/threads/resolving-mysql-error-1146-table-doesnt-exist-when-doing-backup.2480/ quickest resolution is drop your database and import so that's what I'll have to do. To bad.
So I recreated all databases and imported through drush.
Make it permanent
mysql.server stop
launchctl load ~/Library/LaunchAgents/homebrew.mxcl.mysql.plist
mysql.server start
Restart computer
check logout / login ... I completely forgot this step which proved vital the other day. My mac crashed so a reboot was eminent. And next the old mysql started.
Remove the old code
http://community.jaspersoft.com/wiki/uninstall-mysql-mac-os-x
Remove old mysql-bin.00xxxx
I had 160GB of these mysql-bin files.
cd /usr/local/mysql/data
du -g -s -c mysql-bin.*
160 total
rm mysql-bin.000*
Yeah.