可以将文章内容翻译成中文,广告屏蔽插件可能会导致该功能失效(如失效,请关闭广告屏蔽插件后再试):
问题:
I\'m new to mysql, I\'m trying to run Wordpress inmy windows desktop and it need Mysql.
I install everything with Web Platform Installer
which provided by microsoft. I never seta root password for mysql and in final step of installing wordpressit askfor root password of mysql.
What is the default password for root (if there is one)
and how to change it?
I try
mysql -u root password \'123\'
but it show me
Access denied for user \'root@localhost\' (using password:NO)
after this I try
mysql -u root -p
but it ask for a password which I don\'t have
Thank you in advance
Update : as Bozho said I did the following
1 - I stoped MySql Service from Windows services
2 - Open CMD
3 - change location to cd c:\\program files\\mysql\\bin
4 - write this command
mysqld --defaults-file=\"C:\\\\program files\\\\mysql\\\\mysql server 5.1\\\\my.ini\" --init-files=C:\\\\root.txt
5 - Command run with a warning about characterset which I mentioned below
6 - I start MySql Service from windows services
7 - in command line I write
mysql -u root -p
EnterPassword: 123 // 123 was the password
8 - the commandline shows following bug
Access denied for user \'root@localhost\' (using password:**YES**)
I\'m waiting to hear from you.
回答1:
You can reset your root password. Have in mind that it is not advisable to use root without password.
回答2:
for this kind of error; you just have to set new password to the root user as an admin. follow the steps as follows:
[root ~]# mysql -u root
ERROR 1045 (28000): Access denied for user \'root\'@\'localhost\' (using password:NO)
Stop the service/daemon of mysql running
[root ~]# service mysql stop
mysql stop/waiting
Start mysql without any privileges using the following option;
This option is used to boot up and do not use the privilege system of MySQL.
[root ~]# mysqld_safe --skip-grant-tables &
At this moment, the terminal will seem to halt. Let that be, and use new terminal for next steps.
enter the mysql command prompt
[root ~]# mysql -u root
mysql>
Fix the permission setting of the root user ;
mysql> use mysql;
Database changed
mysql> select * from user;
Empty set (0.00 sec)
mysql> truncate table user;
Query OK, 0 rows affected (0.00 sec)
mysql> flush privileges;
Query OK, 0 rows affected (0.01 sec)
mysql> grant all privileges on *.* to root@localhost identified by \'YourNewPassword\' with grant option;
Query OK, 0 rows affected (0.01 sec)
*if you don`t want any password or rather an empty password
mysql> grant all privileges on *.* to root@localhost identified by \'\' with grant option;
Query OK, 0 rows affected (0.01 sec)*
mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)
Confirm the results:
mysql> select host, user from user;
+-----------+------+
| host | user |
+-----------+------+
| localhost | root |
+-----------+------+
1 row in set (0.00 sec)
Exit the shell and restart mysql in normal mode.
mysql> quit;
[root ~]# kill -KILL [PID of mysqld_safe]
[root ~]# kill -KILL [PID of mysqld]
[root ~]# service mysql start
Now you can successfully login as root user with the password you set
[root ~]# mysql -u root -pYourNewPassword
mysql>
回答3:
1) You can set root password by invoking MySQL console. It is located in
C:\\wamp\\bin\\mysql\\mysql5.1.53\\bin
by default.
Get to the directory and type MySQL. then set the password as follows..
> SET PASSWORD FOR root@localhost = PASSWORD(\'new-password\');
2) You can configure wamp\'s phpmyadmin application for root user by editing
C:\\wamp\\apps\\phpmyadmin3.3.9\\config.inc.php
It looks like this:
$cfg[\'Servers\'][$i][\'verbose\'] = \'localhost\';
$cfg[\'Servers\'][$i][\'host\'] = \'localhost\';
$cfg[\'Servers\'][$i][\'port\'] = \'\';
$cfg[\'Servers\'][$i][\'socket\'] = \'\';
$cfg[\'Servers\'][$i][\'connect_type\'] = \'tcp\';
$cfg[\'Servers\'][$i][\'extension\'] = \'mysqli\';
$cfg[\'Servers\'][$i][\'auth_type\'] = \'config\';
$cfg[\'Servers\'][$i][\'user\'] = \'root\';
$cfg[\'Servers\'][$i][\'password\'] = \'YOURPASSWORD\';
$cfg[\'Servers\'][$i][\'AllowNoPassword\'] = false;
The error \"Access denied for user \'root@localhost\' (using password:NO)\"
will be resolved when you set $cfg[\'Servers\'][$i][\'AllowNoPassword\']
to false
Note: phpmyadmin is a separate tool which comes with wamp.
It just provide a interface to MySQL. if you change my sql root\'s password, then you should change the phpmyadmin configurations. Usually phpmyadmin is configured to root user.
回答4:
I was getting the same error on OS X El captain.
Mysql version 5.7 . I was able to connect to mysql with root after executing these steps.
Stop the mysql server
sudo mysql.server stop
Start mysql in safe mode
sudo mysqld_safe --skip-grant-tables
Using mysqld, Change the database to mysql and update the details for user \'root\'.
show databases;
use mysql;
UPDATE mysql.user
SET authentication_string = PASSWORD(\'MyNewPass\'), password_expired = \'N\'
WHERE User = \'root\' AND Host = \'localhost\';
exit;
After that kill the \'mysqld_safe\' process and start mysql normally. You should be able to login to mysql using root and new password. SQL docs for more details
回答5:
Make sure the MySQL service is running on your machine, then follow the instructions from MySQL for initially setting up root (search for \'windows\' and it will take you to the steps for setting up root):
http://dev.mysql.com/doc/refman/5.1/en/default-privileges.html
回答6:
For MySQL 5.7. These are the below steps:
Stop your MySQL server completely. This can be done by accessing the Services window inside Windows XP and Windows Server 2003, where you can stop the MySQL service.
Open your MS-DOS command prompt using \"cmd\" inside the Run window. Inside it navigate to your MySQL bin folder, such as C:\\MySQL\\bin using the cd command.
Execute the following command in the command prompt: mysqld.exe -u root --skip-grant-tables
Leave the current MS-DOS command prompt as it is, and open a new MS-DOS command prompt window.
Navigate to your MySQL bin folder, such as C:\\MySQL\\bin using the cd command.
Enter mysql and press enter.
You should now have the MySQL command prompt working. Type use mysql; so that we switch to the \"mysql\" database.
Execute the following command to update the password:
update user set authentication_string=password(\'1111\') where user=\'root\';
回答7:
Another solution if someone gets the error The specified password for user account ‘root’ is not valid, or failed to connect to the database server also with the right password, is the follow
•In the Windows registry, delete the mysql_pwd reg key under HKCU\\Software\\Microsoft\\WebPlatformInstaller
•Unistall older version of MySQL .NET connector
•Download and install the latest MySql .NET Connector.
回答8:
In your code replace the \'root\' with your Server username and password with your server password.
For example if you have DB and your php files on the server http://www.example.com
then obviously you would have to enter into this server site using your username and password.
回答9:
Some times it just happens due to installation of Wamp or changing of password options of root user.
One can use privilages-->root (user) and then set password option to NO to run the things without any password OR set the password and use it in the application.
回答10:
Simply edit my.ini
file in C:\\xampp\\mysql\\bin path. Just add:
skip-grant-tables
line in between lines of # The MySQL server [mysqld]
and port=3306
. Then restart the MySQL server.
Looks like:
回答11:
If you are using XAMPP just go to C:\\xampp\\phpMyAdmin
and then open config.inc.php
find $cfg[\'Servers\'][$i][\'password\'] = \'\'
line and put your password there.
回答12:
mysqladmin -u root -p password
enter your current
password
then
enter your new password