MySQL 在 Ubuntu 上使用 Switch 时出现用户权限错误
MySQL User Permission Errors using Sqitch on Ubtunu
我正在 运行我认为这是一个很容易解决的问题,我只是没有可能的想法。
我有一个全新的 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 文件和访问数据库。
如果您使用 -v
获取 MySQL 版本,这是您的答案:mysql -V
-v 用于 详细 输出。
有关详细信息,请参阅此线程。
"mysql -v" command line error(linux/ubuntu)
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 的连接,无论是来自本地主机还是来自主机名,都将被允许登录。
事实证明问题出在 Sqitch 和我的配置上。 Sqitch 是一个 Perl 应用程序,需要 perl 模块 MySQL::Config 才能读取 my.cnf
文件和访问数据库。
我正在 运行我认为这是一个很容易解决的问题,我只是没有可能的想法。
我有一个全新的 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 文件和访问数据库。
如果您使用 -v
获取 MySQL 版本,这是您的答案:mysql -V
-v 用于 详细 输出。
有关详细信息,请参阅此线程。 "mysql -v" command line error(linux/ubuntu)
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 的连接,无论是来自本地主机还是来自主机名,都将被允许登录。
事实证明问题出在 Sqitch 和我的配置上。 Sqitch 是一个 Perl 应用程序,需要 perl 模块 MySQL::Config 才能读取 my.cnf
文件和访问数据库。