rpm -ivh MySQL-server-5.5.16-1.rhel4.i386.rpm MySQL-client-5.5.16-1.rhel4.i386.rpm MySQL-devel-5.5.16-1.rhel4.i386.rpm
拷貝至http://www.jb51.net/LINUXjishu/10981.html
錯誤描述: Mysql中添加用戶之後可能出現登錄時提示ERROR 1045 (28000): Access denied for user的錯誤.刪除user.user中值爲NULL的,或更新NULL爲test 1)delete from user where user is NULL 2)update user set user=‘test‘ where user is NULL.意外的情況: 如果上述方法沒有效果,依然出現空用戶,則可以利用圖形化用戶client刪除.
在重裝了CentOS後,發覺Mysql一直不好用。
# mysqladmin create dbname 命令老是返回mysqladmin: connect to server at ’localhost’ failed
# mysql -u root@localhost
>create database dbname;
也同樣返回錯誤ERROR 1045 (28000): Access denied for user
’root’@’localhost’ (using password: NO)
# mysql -u root -p
Enter password:
ERROR 1045 (28000): Access denied for user
’root’@’localhost’ (using password: NO)
使用網上介紹的方法修改root用戶的密碼:
# mysqladmin -uroot -p password ’newpassword’
Enter password:
mysqladmin: connect to server at ’localhost’ failed
error: ’Access denied for user
’root’@’localhost’ (using password: YES)’
現在終於被我找到了解決方法,如下(請先測試方法三,謝謝!):
方法一:
# /etc/init.d/mysql stop
# mysqld_safe --user=mysql --skip-grant-tables --skip-networking &
# mysql -u root mysql
mysql> UPDATE user SET Password=PASSWORD(’newpassword’) where USER=’root’;
mysql> FLUSH PRIVILEGES;
mysql> quit
# /etc/init.d/mysql restart
# mysql -uroot -p
Enter password: <輸入新設的密碼newpassword>
mysql>
方法二:
直接使用/etc/mysql/debian.cnf文件中[client]節提供的用戶名和密碼:
# mysql -udebian-sys-maint -p
Enter password: <輸入[client]節的密碼>
mysql> UPDATE user SET Password=PASSWORD(’newpassword’) where USER=’root’;
mysql> FLUSH PRIVILEGES;
mysql> quit
# mysql -uroot -p
Enter password: <輸入新設的密碼newpassword>
mysql>
配置遠程訪問
處於安全考慮,Mysql默認是不允許遠程訪問的,可以使用下面開啓遠程訪問
//賦予任何主機訪問數據的權限
mysql>GRANT ALL PRIVILEGES ON *.* TO 'root'@'%'WITH GRANT OPTION
//使修改生效
mysql>FLUSH PRIVILEGES
如果依然不能遠程訪問的話,那就很可能防火牆的原因了,可以在防火牆中開啓3306端口或者乾脆關掉防火牆。