mysql常用命令之-用戶密碼修改
--創建用戶 CREATE USER 'user1'@'localhost' IDENTIFIED BY 'pass1'; GRANT SELECT,INSERT,UPDATE,DELETE ON *.* TO 'user1'@'localhost'; GRANT ALL ON *.* TO 'user1'@'localhost';
1.修改root密碼 方法1:使用mysqladmin命令
--適用於記得root舊密碼,修改root密碼 語法: mysqladmin -u用戶名 -p舊密碼 password 新密碼 例如: # mysqladmin -u root -proot password mysql --注意:如當舊密碼輸入錯誤時會報如下錯誤 # mysqladmin -u root -proot1 password mysql mysqladmin: connect to server at 'localhost' failed error: 'Access denied for user 'root'@'localhost' (using password: YES)'
方法2:直接更新user表password字段
--適用於忘記root密碼,而對root密碼進行重置 Step 1: 修改MySQL的登錄設置 # vi /etc/my.cnf --windows系統是my.ini文件 --在[mysqld]的段中加上一句:skip-grant-tables,如沒有[mysqld]字段,可手動添加上 [mysqld] datadir=/var/lib/mysql socket=/var/lib/mysql/mysql.sock skip-name-resolve skip-grant-tables Step 2: 重新啟動mysql [root@gc ~]# service mysql restart Shutting down MySQL..[確定] Starting MySQL...[確定] Step 3: 登錄並修改MySQL的root密碼 --此時直接用mysql即可無需密碼即可進入數據庫了 [root@gc ~]# mysql Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 2 Server version: 5.5.24 MySQL Community Server (GPL) Copyright (c) 2000, 2011, Oracle and/or its affiliates. All rights reserved. Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. mysql> use mysql; Database changed mysql> update user set password=password('new_password') where user='root'; Query OK, 5 rows affected (0.00 sec) Rows matched: 5 Changed: 5 Warnings: 0 mysql> flush privileges; Query OK, 0 rows affected (0.00 sec) --注意:如果沒做step1,直接用mysql登錄時會報如下錯誤 [root@gc ~]# mysql ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO) Step 4: 將MySQL的登錄設置修改回來 再刪除/etc/my.cnf文件中的skip-grant-tables Step 5: 重新啟動mysql [root@gc ~]# service mysql restart Shutting down MySQL..[確定] Starting MySQL...[確定]
2.修改mysql其它用戶密碼 同樣,普通用戶也可以用上面的方法
--使用mysqladmin命令 [root@njdyw ~]# mysqladmin -u user1 -ppass1 password pass2 --直接修改數據庫表 [root@njdyw ~]# mysql -u user1 -ppass1 –Dmysql mysql> update user set password=password('pass2') where user='user1'; mysql> flush privileges;