Saturday, August 7, 2010

Reset password của root - MySQL trên Windows - Linux

nguồn: http://www.hackingart.com/mysql-tren-centos/40-doi-password-set-password-trong-mysql-command.html
cách đổi rất đơn giản

Code:
mysql> use mysql; update user set Password=PASSWORD('new_pass') WHERE User='ten_user';
Nếu tài khoản có quyền root thì có thể set passwd cho bất kỳ ai

Code:
mysql> mysql --user=root --pass mysql

Enter password:

mysql> SET PASSWORD FOR 'root'@'%' = PASSWORD('new_pass');

mysql> flush privileges;
Nếu muốn đổi passwd của chính user login đó thì chỉ cần gõ:
HTML Code:
mysql>SET PASSWORD = PASSWORD('pass-mới');
http://hackingart.com/mysql_tren_cen...ows_linux.html



Trên Windows:
vào Start -> Run -> gõ
Code:
services.msc
Enter
Tìm services MySQL và stop lại

sau đó tìm thư mục cài đặt mySQL giả sử C:\mySQL
Vào Start-> Run -> gõ
Code:
cmd
Enter.
ta vào thư mục bin
Code:
cd C:\mysql\bin
và gõ lệnh
Code:
C:\mySQL\bin\>mysqld-nt --skip-grant-tables
Giữ nguyên cửa số đó và mở thêm 1 cửa sổ command mới
vào bin và gõ lệnh
Code:
C:\mySQL\bin\>mysql -u root
khi đó sẽ login vào root mà không cần password.
Để Reset password root ta dùng lệnh
Code:
mysql>use mysql; update user set Password=PASSWORD('new_pass') WHERE User='root';FLUSH PRIVILEGES;
trong đó new_pass chính là password của bạn.

Trên Linux:
Trường hợp cài đặt bằng gói RPM:
1. Gain root access to your Linux system - Lên quyền root:
Code:
[user@localhost ~]$ su -

Password:

[root@localhost user]#
2. First you have to stop the daemon - Dừng ngay mysql lại

Code:
[root@localhost root]# /etc/init.d/mysqld stop

[root@localhost root]#
3. Nếu sử dụng RedHat, CentOS... thì dùng
Code:
[root@localhost root]# mysqld_safe --skip-grant-tables --skip-networking

[root@localhost root]#
Nếu dùng OS khác (ubutun...) thì thay thế services mysqld_safe thành safe_mysqld
You will now start MySQL in safe mode without reading the grant tables with all MySQL database passwords and also you will disable networking. The "safe_mysqld" command will do this trick for you. Chạy mysql trong safe_mode mà không cần đăng nhập và bạn cũng sẽ disable networking cho mysql luôn - đề phòng thằng nào nhân cơ hội này nó vào ).

4. The "mysqladmin" command will now reset[rewrite] the root password. In this case we are setting it to "newpassword". sử dụng mysqladmin sẽ reset lại password. Trong trường hợp này ta phải sử dụng lệnh sau để set 1 pass mới.

Code:
[root@localhost root]# mysqladmin -u root flush-privileges password "newpassword"

[root@localhost root]#
5. Stop the running daemon - Dừng chạy cái mysql_safe:

Code:
kill `cat /var/run/mysqld/mysqld.pid`
6. And finally restart it - và cuối cùng khởi động lại:

Code:
[root@localhost root]# /etc/init.d/mysqld start

[root@localhost root]#
7. You can use now your new root password - Bây giờ thì xài pass mới xem:
Code:
[root@localhost root]# mysql -u root -p

Enter password:

Welcome to the MySQL monitor.  Commands end with ; or \g.

Your MySQL connection id is 2 to server version: 4.0.20-standard



Type 'help;' or '\h' for help. Type '\c' to clear the buffer.



mysql>
XOng.

Trường hợp cài = source:
Tìm thư mục cài đặt Mysql và tìm thư mục libexec bên trong nó. Bạn chạy lệnh :
Code:
[root@localhosthost libexec]./mysqld stop

[root@localhosthost libexec]./mysqld --skip-grant-tables --user=root
sau đó có thể tiến hành đăng nhập không cần password và reset password như trên windows
http://hackingart.com/mysql_tren_cen...l_command.html

Tham khảo 1 cách tương tự: reset pass trên Linux Đôi khi các bạn lại quên mật khẩu đăng nhập vào dịch vụ MySQL để quản trị và cấu hình database. Các bạn có thể reset lại mật khẩu root với các bước sau. Các hướng dẫn sau dành cho hệ điều hành CentOS.

1. Đăng nhập vào server với quyển root

2. Ngừng dịch vụ MySQL
Code:

HTML Code:
[root@get2you.com /]# /etc/init.d/mysqld stop
3. Khởi động dịch vụ MySQL với chế độ không xác thực, chạy lệnh sau ở chế dộ background.
Code:

HTML Code:
[root@get2you.com /]# /usr/bin/mysqld_safe --skip-grant-tables &
4. Kết nối vào MySQL & cập nhật lại mật khẩu root với các lệnh sau:

Code:

HTML Code:
 [root@get2you.com /]#/usr/bin/mysql -u root



mysql> USE mysql;



mysql> UPDATE user SET PASSWORD = Password('your_password') WHERE User='root';



mysql> FLUSH PRIVILEGES;



mysql> exit;
5. Tắt dịch vụ MySQL

Code:

HTML Code:
[root@get2you.com /]#/usr/bin/killall mysqld
6. Khởi động lại dịch vụ MySQL

Code:

HTML Code:
 [root@get2you.com /]#/etc/init.d/mysqld restart
7. Kiểm tra lại kết nối đến MySQL Server

Code:

HTML Code:
 [root@get2you.com /]#/usr/bin/mysql -u root -p
Reset password root MySQL trên Linux - Hack2Learn

nguồn Reset Forgotten MySQL Root Password | HowtoForge - Linux Howtos and Tutorials
Code:
mysqld_safe --skip-grant-tables
You should see mysqld start up successfully. If not, well you have bigger issues. Now you should be able to connect to mysql without a password.

Code:
mysql --user=root mysql
Code:
update user set Password=PASSWORD('new-password');

flush privileges;

exit;


Thay đổi pass ROOT của MYSQL
Đêm nay ngồi config con sever linux, cài mysql, lại quên để pass mặc định là: abc
híc. nguy hiểm vì thế nên phải tìm cách change lại.
Login SSH
gõ:
Mã:
$ mysqladmin -u root -p'oldpassword' password newpass
trong đó:
oldpassword: là pass hiện tại của bạn.
newpass: là pass mới/
ENTER là change song.
THử lại
Mã:
mysql -u root -p
roài điền pass mới vào là thành công.
login thành công.


Tổng Hợp Cách Reset Pass Mysql ! (window và linux)

MySQL trên Windows
1.Dừng dịch vụ MySQL
C:\Program Files\MySQL\MySQL Server 5.0\bin\>net stop mysql
2.Đăng nhập vào MySQL server mà không cần mật khẩu
Mở CMD và chạy lệnh 2 lệnh này:
C:\Program Files\MySQL\MySQL Server 5.0\bin\>mysqld-nt –skip-grant-tables
Mở thêm cửa sổ CMD mới rồi chạy dòng lệnh dưới nhé:
C:\Program Files\MySQL\MySQL Server 5.0\bin\>mysql -u root
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 14 to server version: 5.0.24a-community-nt
Type ‘help;’ or ‘\h’ for help. Type ‘\c’ to clear the buffer.
mysql>use mysql;
Database changed
3.Thay đổi mật khẩu root tại đây:
Chạy câu lệnh SQL này
mysql>update user set Password=PASSWORD(‘mật khẩu mới’) WHERE User=’root’;
Query OK, 3 rows affected (0.01 sec)
Rows matched: 3 Changed: 3 Warnings: 0
mysql> flush privileges;
Query OK, 0 rows affected (0.02 sec)
mysql>exit
Bye
4.Hủy bỏ tiến trình mysqld-nt.exe và khởi động lại dịc vụ MySQL là xong.
C:\Program Files\MySQL\MySQL Server 5.0\bin\>taskkill /PID 1234
C:\Program Files\MySQL\MySQL Server 5.0\bin\>net start mysql

MySQL trên Unix
Trường hợp cài = source:
Làm tương tự như trên windows
1.Dừng dịch vụ MySQL
Chạy lệnh này
#service mysql stop
2.Đăng nhập vào MySQL server mà không cần mật khẩu
Nếu sử dụng RedHat, CentOS(Ubutun—>safe_mysqld –skip-grant-tables –skip-networking) thì chạy lệnh này:
# /mysqld_safe –skip-grant-tables –skip-networking
3.Thay đổi mật khẩu root tại đây:
#/usr/bin/mysql -u root
#mysql>use mysql;
#mysql>update user set Password=PASSWORD(‘mật khẩu mới’) WHERE User=’root’;FLUSH PRIVILEGES;
#/usr/bin/killall -9 mysqld
#service mysql start
Trường hợp cài đặt bằng gói RPM:
1.Dừng dịc vụ MySQL
# /etc/init.d/mysqld stop
2.Đăng nhập vào MySQL server mà không cần mật khẩu
Nếu sử dụng RedHat, CentOS(Ubutun—>safe_mysqld –skip-grant-tables –skip-networking) thì chạy lệnh này:
# /mysqld_safe –skip-grant-tables –skip-networking
3.Thay đổi mật khẩu root tại đây:
# mysqladmin -u root flush-privileges password “mật khẩu mới”
Hủy tiến trình mysql_safe
#kill ‘cat /var/run/mysqld/mysqld.pid’
#/etc/init.d/mysqld start
Thử sử dụng mật khẩu mới xem thế nào
#mysql -u root -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 2 to server version: 4.0.20-standard
Type ‘help;’ or ‘\h’ for help. Type ‘\c’ to clear the buffer.
mysql>
Vậy là ok .
http://www.diendanmaychu.vn/forum/showthread.php?t=820

Reset password root MYSQL với quyền root Khi bạn quên password root của My SQL server mà bạn vẫn có quyền của root trên máy local thì bạn hãy làm theo cách sau đây để lấy lại password cho root trên mysql

* Tắt dịch vụ mysqld trên *unix.
[root@Red admin]# pkill mysqld ; không được dùng với pkill -9

[root@Red admin]# /usr/libexec/mysqld --skip-grant-tables --user=root &
hoặc
[root@Red admin]# safe_mysqld --skip-grant-tables -u root &

Mở một console mới và đánh:
*[root@Red admin]# mysql

Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 1 to server version: 5.0.27
Type 'help;' or '\h' for help. Type '\c' to clear the buffer.

mysql> use mysql

Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A

Database changed

Thay đổi password cho root của mysql
mysql> update user set password=password("khongtenmien") Where user="root";

Query OK, 2 rows affected (0.01 sec)
Rows matched: 2 Changed: 2 Warnings: 0

mysql> flush privileges;

Query OK, 0 rows affected (0.00 sec)

mysql> exit


Tắt và chạy lại dịch vụ MYSQL
[root@Red admin]# pkill mysqld

[root@Red admin]# /etc/init.d/mysqld start

Starting MySQL: [ OK ]
[root@Red admin]# mysql


Bây giờ bạn có thế vào MYSQL với quyền của root với password bạn vừa thay đổi
[root@Red admin]# mysql -u root -p

Enter password: khongtenmien

Welcome to the MySQL monitor. Commands end with ; or \g.


* Nếu bạn có mật khẩu root của mysql và muốn đổi lại.Bạn login vào mysql với user root bạn đang có và bạn sử dụng lệnh để đổi lại mật khẩu:
mysql> mysql --user=root --pass mysql

Enter password:

mysql> update user set Password=PASSWORD('new_pass') WHERE User='root';mysql> flush privileges;

-->

Reset pw acc 'root' trong phpMyAdmin

Loay hoay mãi vì lúc cài đặt XAMPP thì mình để pass cho account root default là trống. Giờ muốn đổi pass cho nó. Search mãi, cuối cùng cũng ra một cách. Ghi lại đây, biết đâu có lúc giúp đc cho ai đó ^^

Bước 1: Nếu đang chạy MySQL, nhớ stop nó đã nhé ^^
1. Start
2. Run
3. Gõ vào mysql -u root -p (Nếu gõ lệnh này báo lỗi, thì kiểm tra xem biến môi trường đã trỏ đến thư mục bin của MySQL chưa nhé)
4. <Enter>
5. Tại dấu nhắc lệnh <mysql>_> Gõ vào <UPDATE mysql.user SET Password=PASSWORD('password') WHERE User='root';
6. <Enter>
7. Tại dấu nhắc lệnh <mysql>_> Gõ vào FLUSH PRIVILEGES;
8. <Enter>
9. Tại dấu nhắc lệnh <mysql>_> Gõ vào exit;
10. <Enter>

Xong bước thứ nhất.
Đừng có nôn nóng mà vào luôn localhost/phpMyAdmin, chưa đc đâu :D

Bước 2: Chỉnh lại file config của phpMyAdmin, vì trong trường hợp này, file config của phpMyAdmin đang để mặc định account root không có password.
1. Vào folder phpmyadmin mở file config.inc.php
2. Tìm đến dòng

$cfg['Servers'][$i]['auth_type'] = ''; //Dòng 1
$cfg['Servers'][$i]['user'] = ''; //Dòng 2
$cfg['Servers'][$i]['password'] = ''; //Dòng 3

Sửa dòng 1 thành: $cfg['Servers'][$i]['auth_type'] = 'http';
Dòng 2, dòng 3 bỏ đi (xóa hẳn đi, hoặc comment nó lại thì tùy, nhỡ sau này có muốn dùng đến)
3. Save
Làm vậy để mỗi lần truy cập vào phpmyadmin nó sẽ hỏi accountpassword. Cách này làm tăng độ bảo mật của server hơn là để ở chế độ autologin.

Đấy, giờ thì okie rồi...
Cách đổi pass của mình nè:

Tìm file xampp\phpMyAdmin\config.inc.php
$cfg['Servers'][$i]['auth_type'] = 'config';//giữ nguyên
$cfg['Servers'][$i]['user'] = 'root';//giữ nguyên
$cfg['Servers'][$i]['password'] ='pass_mới_ở_đây';//Đổi nè

save file và restart lại apache

Set / Change / Reset the MySQL root password on Ubuntu Linux


Tested on
- Ubuntu Linux 7.10 Gutsy Gibbon and MySQL 5.0.45. (2007-10-21)
- Ubuntu Linux 6.06 Dapper Drake and MySQL 4.1.15.

Set / change / reset the MySQL root password on Ubuntu Linux. Enter the following lines in your terminal.
  1. Stop the MySQL Server.
    sudo /etc/init.d/mysql stop

  2. Start the mysqld configuration.
    sudo mysqld --skip-grant-tables &

  3. Login to MySQL as root.
    mysql -u root mysql

  4. Replace YOURNEWPASSWORD with your new password!
    UPDATE user SET Password=PASSWORD('YOURNEWPASSWORD') WHERE User='root'; FLUSH PRIVILEGES; exit;
Note: This method is not regarded as the securest way of resetting the password. However it works.


References

MySQL 5.0 Reference Manual: How to Reset the Root Password

No comments:

Router Packet Networking

Đây là video ngắn khá hay, mô tả đường đi của một gói tin trên Mạng Internet.