Homebrew, MySQL 8 support - mysql

Anyone have the inside scoop on when Homebrew will be updated to support MySQL 8's first general release (8.0.11)? I can't seem to find it by searching, but I bet someone here knows :)

Homebrew pushed MySQL 8.0.11 as an upgrade yesterday (Wed, 13 June 2018). I thought I had it pinned, but no such luck.
It's a total disaster:
MySQL 8.0.11 uses caching_sha2_password as the default authentication method (leave it to Oracle to do something like this in a point release, but there you have it).
So far, it breaks everything I've tried: phpMyAdmin, Nextcloud, and WordPress.
I'll be rolling back to 5.7.22 later today.
Update 17 June 2018 6:50PM CDT:
Three step solution:
Add to [mysqld] section of my.cnf file (found in /usr/local/etc/ for Homebrew's installation):
default-authentication-plugin=mysql_native_password
At shell prompt:
mysql -u root -p
> ALTER USER 'root'#'localhost'
IDENTIFIED WITH mysql_native_password
BY '[password]';
> exit
Reboot server
brew services restart mysql
Short version solution
Long version solution
Update 18 June 2018 11:53PM CDT:
The solution provided above is partial, at best. In my experience MySQL 8.0.11 is not nearly ready for production (or even development) use.

I managed to overcome this without removing my all database which from mysql version 5.7.
First, simply upgrade database with this command
mysql_upgrade -u root
https://stackoverflow.com/a/51486493/2342289
Last. Install sequel-pro-nightly. I need this because i can browse my db from the command but not from sequal-pro. So, luckily the nightly sequel-pro works.
brew cask install sequel-pro-nightly
Then, boom. Everything is back. Sigh.

It's waiting to be merged into homebrew-core.
https://github.com/Homebrew/homebrew-core/pull/27210

Removed MySql using the steps on this site.
Do brew install mysql#5.7.
Go to this site and follow the instructions starting at step 4.
Be sure to find out if the paths on step 5 actually exist on your machine. The paths listed on that site didn't work for me. I had to find them on my own. Start by looking in /usr/local and search out the mysql folder from there and dig until you find the files he has listed.
I stopped at step 7 because I was able to take it from there. Hopefully, you can as well.

Related

2 MySQL installations (now one lost)

Ok I have a mess of a problem. MySQL was installed on my machine (mac) already but I could not login via terminal (fairly new machine, to me). I had already been working with a couple databases via a SequelPro and decided to login via terminal for a couple jobs.
I couldn't and couldn't figure out why not. I ran brew install mysql and to my surprise it installed mysql. When logging in via terminal I was taken to this instance of MySQL that did not have my databases. Now, I restart SequelPro and it now logs into the new instance vs the one that has my data.
Any idea where I can find my databases and get them to use this new instance? Or any thoughts on how to clean things up in general?
---update---
The DB is InnoDB
/usr/local/bin/mysql
/usr/local/Cellar/mysql
/usr/local/Cellar/mysql/5.6.25/bin/mysql
/usr/local/Cellar/mysql/5.6.25/include/mysql
/usr/local/Cellar/mysql/5.6.25/include/mysql/mysql
/usr/local/Cellar/mysql/5.6.25/share/doc/mysql
/usr/local/Cellar/mysql/5.6.25/share/mysql
/usr/local/include/mysql
/usr/local/Library/LinkedKegs/mysql
/usr/local/opt/mysql
/usr/local/share/doc/mysql
/usr/local/share/mysql
/usr/local/var/mysql
/usr/local/var/mysql/mysql
/usr/local/var/mysql is where my databases from the first instance are. /Cellar is where homebrew installed MySQL. I got a recommendation in the comments to add a symlink...not sure which folder I should use as source or target in this case.
Also, not sure how I would start the database from the old location either.
Any help is most appreciated!
Short script to get the old db running:
GO to the working database data location
Go up one directory
Shutdown any mysqld.
mv database_directory database_directory.backup
Symlink the data directory of any other mysql:
ln -s old_data_directory database_directory

Patching MySQL Server from version 5.6.14 to 5.6.21

I would like to "update" a MySQL server from version 5.6.14 to the latest GA release 5.6.21. I have already reviewed the MySQL reference at http://dev.mysql.com/doc/refman/5.6/en/upgrading.html and Oracle's "How does Patching Work in MySQL?; How to Apply All the Latest Patches?; How to Find the Latest Patches (Doc ID 1589556.1)." But, these don't clearly explain the patching mechanism. The doc (id 1589556.1) instructs that "...to apply the latest patches to an existing installation, all that is required is to download and install the latest patch release." Well, will this not overwrite the existing server metadata and effectively make me loose the user, database, and privileges related info. in the existing server?
Please help with the exact patching steps or any link to a document with clearer instructions. Also, any gotchas, i.e., what do I need to watch out for?
Thank you.
https://dev.mysql.com/doc/refman/5.6/en/installing.html
Hi,
I did an upgrade from 5.6.14 to 5.6.22 recently on our dev environment. Please note this was on a Linux server
Backup database - I used MEB but MySQLDump or a cold backup is okay
Shutdown the database cleanly.
Upgrade the binaries (rpm -Uvh)
Start the database
I didn't need to run mysql_upgrade as the release has not changed.
Hope it helps.
I use yum update and its updated automatically into latest patchset.5.6.37.
So run "yum update" for centos or as per your linux distribution

phpMyAdmin - Error You should upgrade to MySQL 5.5.0 or later

I installed phpMyAdmin-4.2.9.1-english on a Centos 6.5 platform.
2.6.32-431.23.3.el6.x86_64 #1 SMP Thu Jul 31 17:20:51 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux
When I login I get the following screen:
phpMyAdmin - Error
You should upgrade to MySQL 5.5.0 or later.
I am using Server version: 5.1.73
What should I do?
I went to /usr/share/phpMyAdmin/libraries/common.inc.php and
comment out this lines:
#if (PMA_MYSQL_INT_VERSION < 50500) {
# PMA_fatalError(
# __('You should upgrade to %s %s or later.'),
# array('MySQL', '5.5.0')
# );
#}
and now I can admin my mysql .
UPDATE :
http://docs.phpmyadmin.net/en/latest/faq.html#faq1-17 but doesn't explain why
why :
https://sourceforge.net/p/phpmyadmin/bugs/4437/
https://github.com/phpmyadmin/phpmyadmin/commit/9112d7c9303b51b7e156cc98fa79ab8824b50e30
That particular version of phpMyAdmin is designed for more modern MySQL versions. To resolve the problem, you can either upgrade your MySQL installation or downgrade your phpMyAdmin. Upgrading your MySQL is probably going to involve upgrading to CentOS 7, so you probably aren't ready to do that. Fortunately, the phpMyAdmin team currently continues to support the 4.0.x branch, which requires only MySQL 5 or newer and PHP 5.2 or newer. So you can download 4.0.10.4 (or whatever the current 4.0.x release is) from http://www.phpmyadmin.net/home_page/downloads.php (where you can also see the listed requirements and anticipated end of life dates).
If you want to use PHPMyAdmin then recommend to upgrade your MySQL version to the latest [it is very important for security reasons]. For that, just follow few simple steps:
. Export all your databases and take backup on your local system.
- Upgrade your MySQL version to the latest one..
- Import all your database again from PHPMyAdmin panel.
Complete tutorials for export/import database from PHPMyAdmin...
You should not get much problem except password problem for already created database users. Just reset the password to fix it.
Use the instructions here to set up mysql repo and update your mysql to the latest version:
http://dev.mysql.com/doc/mysql-repo-excerpt/5.6/en/updating-yum-repo.html
It's better than hacking phpmyadmin down or using an old mysql version.
I did the upgrade, and everything goes to hell, I recommend to totally remove and do a clean mysql install from stratch in order to avoid headaches. Any way for a test environment you may use the hack answer commenting the lines in the "/usr/share/phpMyAdmin/libraries/common.inc.php" file or before install mysql, download and install the mysql-repo ad from there proceed to the PMA. Good luck.
Was getting this error only for one user on my cpanel hosting server.
I changed the max_questions: max_updates: max_connections: max_user_connections: values for the user facing the issue from "1" to "0"
Post this phpadmin started working.
You're using 5.1 but you should be using > 5.5. You'll need to upgrade or use a different tool like MySql workbench

MySQL Server start permission denied

I am a a newbie to database programming and I want to try out MySQL.
I just installed MySQL from the official website, I am running mac 10.8.2.
Anyways, whenever I try to run a simple command like $>mysql.server start
it says Permission denied.
I am able to open it through sudo but I would love to get this fixed as this is annoying me, that it wont work properly. I have been searching for the last two hours without finding a fix, so I was hoping anyone could give me a helping hand.
The easiest way is to install the MySQL Startup Item. Then you get a Preference pane for MySQL.
See http://dev.mysql.com/doc/refman/5.5/en/macosx-installation-startupitem.html for full instructions.
Re your comment:
It's often required for services like mysql.server need to run as a uid other than your user login. For instance, the MySQL data directory may only be writeable by the mysql uid. So starting such a service must be done from a user that can change the uid of the process. The root uid can do that, so it's necessary to use sudo to launch service processes like mysql.server.
TL;DR: YOU HAVE TO USE SUDO.
If you a absolute newbie to MYSQL and you just want to use the MYSQL server to test your code on you local MAC I would advice you to take a look at XAMPP / MAMP. Xampp offers a complete out of the box install for everything you need for a development servers (Apache server, MySQL, PHP, etc). Note, that I XAMPP / MAMP is not suitable for production server setting.
I personally use the XAMPP Windows version. I haven't tried MAMP but I have come across it many times . The XAMPP for Mac version seem not to have been update for a while so I suggest you give MAMP a try.
You could of course try to get your current install to work but that might require some work. Also with regard to firewall / security issues. With the out of the box version you will have to do a lot less. Why reinvent the wheel if you can easily install a out of the box version.

Should I reinstall Mysql?

I'm getting kind of desperate here trying to get mysql to work on osx lion.
I've been through nearly every article on the web these past few days looking for a way to fix the problem with the error.
When I try to start the server is gives this error:
Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)
when I try to create a database with 'rake db:create' it gives the same error.
sometimes it says that or I get errors about "please install gem-blabhalbhabhlb". And that gem doesn't exist.
I was able to install mysql in terminal using the dmg version from mysql's site but after I deleted the installation files it just stopped working- as in when I run
rake cd:create
I get the mysql.sock error.
I'm going insane.. please help
For me I often need to force mysql to not use unix sockets, but regular php sockets.
To do this, connect to 127.0.0.1 instead of localhost. Works 90% of the time, all the time.
Major credit to John P. for helping me get this working last night
The first thing was to uninstall mysql using 'brew uninstall mysql'.
Then to install mysql from their development site. The community .dmg 64 bits version.
Then to find out where the path was pointing.
So in updating the paths he had to find where bin/mysql was and make sure bash_profile had it's path there.
PATH=$PATH:/usr/local/mysql/bin
The essential step after that was to 'source' the file so he had me run this command.
source ~/.bash_profile
From there mysql works flawlessly.