mysql5 - As 'root' can't create database or do anything (Access denied)

macos, macports, mysql, mysql5, osx-lion

Solution

FIXED -- mysql created my 'root' account with no privileges (I'm a mysql newb).

I solved by starting mysql with

--skip-grant-tables

Then launching with:

mysql5

And running:

mysql> UPDATE mysql.user SET Grant_priv='Y', Super_priv='Y' WHERE User='root';
mysql> FLUSH PRIVILEGES;
mysql> GRANT ALL ON *.* TO 'root'@'localhost';

Hope this helps someone!

Problem

I'm on Mac OS X Lion and just installed mysql5 using MacPorts. Then I successfully ran: ``` sudo /opt/local/lib/mysql5/bin/mysql_install_db --user=mysql ``` I'm able to start the server and connect as 'root' fine, but I can't create any databases. ``` $ mysql5 -u root -p Enter password: Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 1 Server version: 5.1.61 Source distribution mysql> create database dbname; ERROR 1044 (42000): Access denied for user 'root'@'localhost' to database 'dbname' ``` I've done a lot of Googling trying to figure this out, and it appears that the problem might have to do with file system permissions for /opt/local/var/db/mysql5, but I've tried changing these to no avail: ``` $ ls -l /opt/local/var/db/ total 0 drwxrwxrwx 8 _mysql _mysql 272 Apr 12 11:55 mysql5 ``` I've experimented with the owner being '_mysql', 'mysql', and 'root:wheel', but none of them have made a difference.

Original source