示例 1

示例 1

我有一台装有 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

我有很多关于这个的帖子,比如这些

关于你原来的问题,如果你想测试密码,你应该使用mysql,而不是 mysqladmin。你应该这样做

mysql -uroot -p

另外,如果你仍然想使用mysql管理员, 做这个

mysqladmin -uroot -ppassword ping

试一试 !!!

相关内容