0

我遇到了一个我认为很容易解决的问题,我只是没有可能的想法。

我有一个全新的 Ubuntu 14.04 x64 服务器。我刚刚安装了 MySQL。不是 Apache、php 或 phpMyAdmin,只是普通的 MySQL。

我已经运行mysql_secure_installation并为我的 root 用户创建了密码。

然后,我将我的 root 密码放入/etc/mysql/my.cnf该部分下的文件中[client]

我可以mysql -u root很好地运行并进入 MySQL 控制台。

但是,如果我跑步,sqitch deploy我会得到:
Access denied for user 'root'@'localhost' (using password: NO)

Sqitch 指的是:

[target "database name_v1"]
uri = db:mysql://root@/databasename_v1
[engine "mysql"]
target = db:mysql://root@/databasename_v1

编辑

事实证明问题出在 Sqitch 和我的配置上。Sqitch 是一个 Perl 应用程序,需要 perl 模块 MySQL Config 才能读取 my.cnf 文件并访问数据库。

4

3 回答 3

1

事实证明问题出在 Sqitch 和我的配置上。Sqitch 是一个 Perl 应用程序,需要 perl 模块MySQL::Config才能读取my.cnf文件并访问数据库。

于 2015-09-18T14:15:13.027 回答
0

如果您-v用于获取 MySQL 版本,这就是您的答案:-v 用于详细输出。mysql -V

有关更多详细信息,请参阅此线程。 “mysql -v”命令行错误(linux/ubuntu)

于 2015-09-17T00:53:49.283 回答
0

mysql中有多个root用户。它们的格式为user@remote.

您可以通过运行查询来检查是否为所有这些设置了用户密码select Host, User, Password from mysql.user where User="root";

输出应显示如下:

+--------------+----------+-------------------------------------------+
| Host         | User     | Password                                  |
+--------------+----------+-------------------------------------------+
| localhost    | root     | *XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX |
| testvm       | root     | *XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX |
| 127.0.0.1    | root     | *XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX |

如果密码为空,请通过 设置mysqladmin

从这里开始,您到 mysql 的连接,无论是来自 localhost 还是来自主机名,都将被允许登录。

于 2015-09-17T01:50:40.390 回答