我在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", 但都没有效果.
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';
希望这能帮到你!
我知道这是个老问题,但我在运行Catalina的新Macbook上遇到了这个问题。我正在做的项目要求我运行一个旧版本的MySQL(5.7),所以我通过Homebrew安装了它,并遇到了同样的问题;无法做几乎所有的事情,甚至作为 root
用户。
重启我的机器解决了这个问题,我等了整个Stack Overflow生涯才把这个作为答案发布出来,所以在这里。
关机再开机