我已经使用Macports安装了mysql5,安装似乎已经结束,但我根本无法登录到服务器。
这就是我所做的:
sudo port install 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 password'new-password' / opt / local / lib / mysql5 / bin / mysqladmin -u root -h LeoMacBook.local password'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;时,它返回一个空集!有了这个,我试图通过调用命令来创建一个新用户:
创建用户'root'@'localhost'IDENTIFIED BY'root';
但这不起作用。我收到错误:
错误1290(HY000):MySQL服务器使用--skip-grant-tables选项运行,因此无法执行此语句
我不能让这个工作。我似乎非常接近,但root用户似乎不见了。
有什么想法吗?
伦纳德
答案 0 :(得分:4)
使用--skip-grant-tables启动mysql后,发出flush privileges;
查询。这将重新启用权限系统,并允许您运行常见的grant
和create user
查询。