我有一台装有 Yosemite 的新 MBP。我安装了最新版本的 MySQL(通过 pkg 文件安装的 5.6.21),并成功设置了密码,并通过 Sequel Pro 查看了密码。但是,我无法登录 mysqladmin。通常,就像使用 Ubuntu 一样,我可以执行以下操作:
mysqladmin -u root -p
但是终端将我转至有用的帮助文件。当然,规则没有改变。帮助文件确认,如果我在 -p 参数后省略密码,TTY 将接管,但事实并非如此。
mysqladmin -u root --password
产生相同的帮助信息。
mysqladmin -u root -password 'password'
要求输入预期密码,但当我输入密码时,却出现未知命令“密码”。
我确实执行了 /usr/local/bin/mysql_secure_installation 脚本,但没有更改任何值。如果我的 root 密码已更改,为什么我仍然能够通过 sequel pro 和其他 PHP 连接进行连接?
我确信这是我忽略的东西,但我很感激我在谷歌搜索中没有找到一些东西,谢谢,山姆
答案1
该程序mysql管理员不是交互式客户端。它是一个基于客户端的实用程序。mysqladmin 允许您运行连接到 mysqld,从一组特定的命令中运行单个命令,然后断开连接。
示例 1
可以在mysql 客户端可以在 mysqladmin 中完成。
mysqladmin -uroot -ppassword flush-hosts
mysqladmin -uroot -ppassword processlist
示例 2
有些命令不能在mysql 客户端可以在 mysqladmin 中完成。
例如,可以按顺序关闭 mysqld 如下:
mysqladmin -uroot -ppassword shutdown
当然,service mysql stop
也可以。不幸的是,service mysql stop
当套接字文件消失时,它将不起作用。当有人service mysql start
在运行 mysqld 时发出问题时,有时会发生这种情况。这将删除套接字文件。运行mysqladmin -uroot -ppassword shutdown
需要套接字文件,因为您是以 的身份进行连接的root@localhost
。如果您已定义用户[email protected]
,您仍可以通过 mysqladmin 通过 TCP/IP 连接发出有序关闭,如下所示
mysqladmin -uroot -ppassword -h127.0.0.1 --protocol=tcp shutdown
我有很多关于这个的帖子,比如这些
Mar 06, 2013
:如何正确终止 MySQL?May 08, 2012
:如何在 Mac OS X 上正确停止 MySQL 服务器?
关于你原来的问题,如果你想测试密码,你应该使用mysql,而不是 mysqladmin。你应该这样做
mysql -uroot -p
另外,如果你仍然想使用mysql管理员, 做这个
mysqladmin -uroot -ppassword ping