我执行了以下步骤在Ubuntu中使用MySQL:
sudo aptitude install php5-mysql mysql-server
sudo service mysql stop
sudo mysqld_safe --skip-grant-tables &
sudo mysql -u root mysql更改根密码:
mysql> UPDATE mysql.user SET Password=PASSWORD('SecurePassword') WHERE
User='root';
mysql> FLUSH PRIVILEGES;
mysql> EXIT修改/etc/mysql/my.cnf:
[client]
user=root
password=SecurePassword
[mysqld]
...
default-time-zone = '+0:00'然后:
sudo service mysql start
mysql -u root
mysql> SHOW GRANTS FOR root@localhost
+--------------------------------------------------------------------------------------------------+
| Grants for root@localhost |
+--------------------------------------------------------------------------------------------------+
| GRANT USAGE ON *.* TO 'root'@'localhost' IDENTIFIED BY PASSWORD '[here is the Securepassword]' |
+-------------------------------------------------------------------------------------------------+
1 row in set (0.00 sec)
mysql>
GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' WITH GRANT OPTION;我收到一个错误:
拒绝用户'root'@'localhost‘的访问(使用密码: YES)
发布于 2013-11-27 09:18:13
你所做的是完全正确的,但我想这并不是因为一个小小的原因。
当您打算授予这样的特权时,您应该使用identified by password:
mysql> GRANT ALL PRIVILEGES ONE `*`.`*` TO 'root'@'localhost' IDENTIFIED BY PASSWORD
'*A4B6157319038724E3560894F7F932C8886EBFCF' WITH GRANT OPTION;发布于 2014-12-18 06:14:44
如果您收到这样的错误消息::
Warning: mysql_connect(): Access denied for user: ....那么问题是您的应用程序不能access the database。这可能有几个原因:
首先,确保db-config.php (应用程序的连接文件)中的数据库设置是正确的,特别是MySQL用户的name和password、database的名称和MySQL服务器的名称。
如果您正在运行您自己的服务器,您可能需要给您的MySQL用户适当的权限。以MySQL根用户身份登录到MySQL,并发出以下命令:
GRANT ALL PRIVILEGES ON database_name TO user@host IDENTIFIED BY 'password';
FLUSH PRIVILEGES;https://stackoverflow.com/questions/18328153
复制相似问题