使用 Macports 默认安装后无法登录 mysql

Posted

技术标签:

【中文标题】使用 Macports 默认安装后无法登录 mysql【英文标题】:Cannot log in to mysql after default install with Macports 【发布时间】:2012-01-05 18:55:04 【问题描述】:

我已经使用 Macports 安装了 mysql5,并且安装似乎已签出,但我根本无法登录到服务器。

这就是我所做的:

sudo 端口安装 mysql5-server

这可以很好地构建和安装。

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

这也运行良好。它输出以下内容:

正在安装 MySQL 系统表... 好的 填写帮助表... 好的

要在启动时启动 mysqld,您必须复制 support-files/mysql.server 到您系统的正确位置

请记住为 MySQL root 用户设置密码! 为此,请启动服务器,然后发出以下命令:

/opt/local/lib/mysql5/bin/mysqladmin -u root 密码'new-password' /opt/local/lib/mysql5/bin/mysqladmin -u root -h LeoMacBook.local 密码 'new-password'

或者,您可以运行: /opt/local/lib/mysql5/bin/mysql_secure_installation

这还可以让您选择删除测试 默认创建的数据库和匿名用户。这是 强烈推荐用于生产服务器。

有关更多说明,请参阅手册。

您可以使用以下命令启动 MySQL 守护程序: cd /opt/local ; /opt/local/lib/mysql5/bin/mysqld_safe &

您可以使用 mysql-test-run.pl 测试 MySQL 守护程序 cd /opt/local/mysql-test ; perl mysql-test-run.pl

请报告 /opt/local/lib/mysql5/bin/mysqlbug 脚本的任何问题!

现在...让我们完全按照说明进行操作。我启动服务器:

sudo /opt/local/lib/mysql5/bin/mysqld_safe &

服务器运行良好。

当我尝试更改 root 密码时,我无法登录。

LeoMacBook:bin leonardteo$ /opt/local/lib/mysql5/bin/mysqladmin -u root password 'new-password' /opt/local/lib/mysql5/bin/mysqladmin:连接到 'localhost' 的服务器失败 错误:'用户'root'@'localhost'的访问被拒绝(使用密码:NO)'

我束手无策。

我已经使用 --skip-grant-tables 启动了服务器。有了这个,我可以从命令行很好地加载 mysql 并连接到服务器。当我运行 SELECT * FROM mysql.user; 时,它返回一个空集!有了这个,我尝试通过调用命令来创建一个新用户:

CREATE USER 'root'@'localhost' IDENTIFIED BY 'root';

但这不起作用。我得到错误:

ERROR 1290 (HY000): MySQL 服务器使用 --skip-grant-tables 选项运行,因此无法执行此语句

我无法正常工作。看来我已经很近了,但root用户似乎不见了。

有什么想法吗?

伦纳德

【问题讨论】:

【参考方案1】:

使用 --skip-grant-tables 启动 mysql 后,发出 flush privileges; 查询。这将重新启用权限系统并允许您运行通常的 grantcreate user 查询。

【讨论】:

宾果游戏。谢谢马克。早在尝试其他十几件事之前就应该问这个问题..... :)

以上是关于使用 Macports 默认安装后无法登录 mysql的主要内容,如果未能解决你的问题,请参考以下文章

安装 Xcode 4.3 后无法获得 MacPort 功能

如何解决 Homebrew 和 MacPorts 或 Fink 之间的冲突?

默认编译器 Macports

macports安装后如何启动spyder

无法更新 Macports(使用 Mac OS X Mavericks)

“无法打开用户默认数据库。登录失败。”安装 SQL Server Management Studio Express 后