If you have set a root password, but forgot what it was, you can set a new password with the following procedure: 1. Take down the mysqld server by sending a kill (not kill-9) to the mysqld server. The pid is stored in a `.pid' file, which is normally in the MySQL database directory: shell> kill `cat /mysql-data-directory/hostname.pid` You must be either the Unix root user or the same user mysqld runs as to do this. 2. Restart mysqld with the --skip-grant-tables option. 3. Set a new password with the mysqladmin password command: shell> mysqladmin -u root password 'mynewpassword' 4. Now you can either stop mysqld and restart it normally, or just load the privilege tables with: shell> mysqladmin -h hostname flush-privileges 5. After this, you should be able to connect using the new password. Alternatively, you can set the new password using the mysql client: 1. Take down and restart mysqld with the --skip-grant-tables option as described above. 2. Connect to the mysqld server with: shell> mysql -u root mysql 3. Issue the following commands in the mysql client: mysql> UPDATE user SET Password=PASSWORD('mynewpassword') WHERE User='root'; mysql> FLUSH PRIVILEGES; 4. After this, you should be able to connect using the new password. 5. You can now stop mysqld and restart it normally.
{"appId":"wx1584ddb8196cf859","nonceStr":"lwyJMknxw0YVBJqh","timestamp":1757152823,"url":"https:\/\/m.chineseinla.com\/page_forum\/task_vtopic\/t_8284.html","signature":"97cbca9956d3efd331e586d98b9e4ae6631e1abe","rawString":"jsapi_ticket=LIKLckvwlJT9cWIhEQTwfJzoAC9i202iYxncayIKHHCCz36kE4n-YybHEc5RV-P7kJDIYJUqX907p2VSlHJW5w&noncestr=lwyJMknxw0YVBJqh×tamp=1757152823&url=https:\/\/m.chineseinla.com\/page_forum\/task_vtopic\/t_8284.html","title":"What If You Forget Mysql Root Password","content":"What If You Forget Mysql Root Password","image":"https:\/\/c3.nychinaren.com\/images\/wx_share_logo.png"}
1. Kill the server (kill -9 mysqld, you will probably need to log in as OS
user 'root').
2. Start the server with the option skip-grant-tables, e. g.
mysqld --skip-grant-tables.
3. Connect to the server using MySQL Monitor, the command line tool: shell>
mysql (You can connect without username/password.)
4. On the SQL command line, do: GRANT ALL ON *.* TO 'superuser'@'localhost'
IDENTIFIED BY 'iwillremember' WITH GRANT OPTION;
5. Exit MySQL Monitor.
6. On the shell, do: mysqladmin -usuperuser -piwillremember shutdown
7. On the shell, do: mysqld (to start the server again)
Now, this new 'superuser' can create accounts for regular users.