我已经成功安装了 MySQL(在 Mac OS X 上),现在我想创建/显示数据库。MySQL 服务器状态显示它正在运行,但当我尝试从 /usr/local/mysql 运行 mysql 命令时,出现错误
错误 1045(28000):拒绝用户“用户名”@“localhost”访问(使用密码:是)
我正在尝试以下命令:
mysql> 显示数据库
但仍然遇到此错误,并进行了研究以避免这种情况,并使用此命令来避免授予权限
mysqld --skip-grant-tables
运行此命令后我收到另一个错误
mysqld:无法将目录更改为“/usr/local/mysql-5.7.13-osx10.11->x86_64/data/”(错误代码:13 - 权限被拒绝)
2016-08-16T18:42:00.489762Z 0 [警告] 带有隐式 DEFAULT 值的 TIMESTAMP 已弃用。请使用 --explicit_defaults_for_timestamp 服务器选项(有关更多详细信息,请参阅文档)。
2016-08-16T18:42:00.490049Z 0 [警告] -->secure-file-priv 的配置不安全:当前值不限制生成文件的位置。请考虑将其设置为有效的非空路径...
我一直在研究一个又一个错误,感觉我已经很接近了,但还是缺少一个或几个关键的东西。请帮我解决这个问题!
答案1
要无需密码访问 Mysql,您需要在安全模式下运行它。
1)停止mysql
# service mysql stop
2)使用您提到的选项在安全模式下运行它:
# mysqld_safe --skip-grant-tables &
3)检查它是否在安全模式下运行:
# pgrep -l mysql
你会看到类似
2515 mysqld_safe
2875 mysqld
4)现在您可以以 root 身份进入,无需密码:
# mysql -uroot