20

我在 Mac OS X Lion 上,刚刚使用 MacPorts 安装了 mysql5。

然后我成功运行:

sudo /opt/local/lib/mysql5/bin/mysql_install_db --user=mysql

我可以启动服务器并以“root”身份连接,但我无法创建任何数据库。

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

我已经做了很多谷歌搜索试图解决这个问题,似乎问题可能与 /opt/local/var/db/mysql5 的文件系统权限有关,但我尝试更改这些无济于事:

$ ls -l /opt/local/var/db/
total 0
drwxrwxrwx  8 _mysql  _mysql  272 Apr 12 11:55 mysql5

我已经尝试过所有者是“_mysql”、“mysql”和“root:wheel”,但它们都没有改变。

4

2 回答 2

31

已修复——mysql 创建了我没有权限的“root”帐户(我是 mysql 新手)。

我通过启动mysql解决了

--skip-grant-tables

然后启动:

mysql5

并运行:

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

希望这对某人有帮助!

于 2012-04-13T21:20:31.723 回答
4

我知道这是一个老问题,但我在运行 Catalina 的新 Macbook 上遇到了这个问题。我正在进行的项目需要我运行旧版本的 MySQL (5.7),所以我通过 Homebrew 安装它并遇到了同样的问题;root即使作为用户,也无法做几乎所有事情。

重新启动我的机器解决了这个问题,我一直在等待我的整个 Stack Overflow 职业生涯来发布这个作为答案,所以这里是:

将其关闭并重新打开

于 2020-05-06T18:55:01.273 回答