mysql5 - 作为'root'不能创建数据库或做任何事情(访问被拒绝)

问题描述 投票:15回答:2

我在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'

我做了很多Googling试图弄清楚这个问题,似乎问题可能与oplocalvardbmysql5的文件系统权限有关,但我已经尝试改变这些权限,但无济于事。

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

我试过将所有者改为"_mysql", "mysql", 和 "root:wheel", 但都没有效果.

mysql macos osx-lion macports mysql5
2个回答
27
投票

FIXED -- 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';

希望这能帮到你!


3
投票

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

重启我的机器解决了这个问题,我等了整个Stack Overflow生涯才把这个作为答案发布出来,所以在这里。

关机再开机

© www.soinside.com 2019 - 2024. All rights reserved.