使用 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;
查询。这将重新启用权限系统并允许您运行通常的 grant
和 create user
查询。
【讨论】:
宾果游戏。谢谢马克。早在尝试其他十几件事之前就应该问这个问题..... :)以上是关于使用 Macports 默认安装后无法登录 mysql的主要内容,如果未能解决你的问题,请参考以下文章
如何解决 Homebrew 和 MacPorts 或 Fink 之间的冲突?
无法更新 Macports(使用 Mac OS X Mavericks)
“无法打开用户默认数据库。登录失败。”安装 SQL Server Management Studio Express 后