我遇到了我认为是一个很容易解决的问题,我只是没有可能的想法。
我有一个全新的Ubuntu14.04 x64服务器。我刚安装了MySQL。不是Apache、php或phpMyAdmin,只是普通的MySQL。
我已经运行了mysql_secure_installation并为我的根用户创建了一个密码。
然后,我将根密码放在/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文件并访问数据库。
发布于 2015-09-18 14:15:13
原来问题出在Sqitch和我的配置上。Sqitch是一个Perl应用程序,需要perl模块MySQL::Config来读取my.cnf文件并访问数据库。
发布于 2015-09-17 00:53:49
发布于 2015-09-17 01:50:40
mysql中有多个根用户。它们是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的连接,无论是来自本地主机还是来自主机名,都将被允许登录。
https://stackoverflow.com/questions/32620865
复制相似问题