方法1: 用SET PASSWORD命令
登錄[MySQL]
格式:mysql> set password for 用戶名@localhost = password('新密碼');
例子:mysql> set password for root@localhost = password('654321');
方法2:用mysqladmin
格式:mysqladmin -u用戶名 -p舊密碼 password 新密碼
例子:mysqladmin -uroot -p123456 password 654321
方法3:用UPDATE直接編輯user表
mysql> use mysql;
mysql> update user set password=password('123456') where user='root' and host='localhost';
mysql> flush privileges;
方法4:重置root密碼
windows
1. 關(guān)閉正在運(yùn)行的MySQL服務(wù)。
2. 打開(kāi)DOS窗口,轉(zhuǎn)到mysql\bin目錄。
3. 輸入mysqld --skip-grant-tables 回車。--skip-grant-tables 的意思是啟動(dòng)MySQL服務(wù)的時(shí)候跳過(guò)權(quán)限表認(rèn)證。
4. 再開(kāi)一個(gè)DOS窗口(因?yàn)閯偛拍莻€(gè)DOS窗口已經(jīng)不能動(dòng)了),轉(zhuǎn)到mysql\bin目錄。
5. 輸入mysql回車,如果成功,將出現(xiàn)MySQL提示符 >。
6. 連接權(quán)限數(shù)據(jù)庫(kù): use mysql; 。
6. 改密碼:update user set password=password("123456") where user="root";(別忘了最后加分號(hào)) 。
7. 刷新權(quán)限(必須步驟):flush privileges; 。
8. 退出 quit。
9. 注銷系統(tǒng),再進(jìn)入,使用用戶名root和剛才設(shè)置的新密碼123456登錄。
Linux
在配置文件/etc/my.cnf添加配置,重啟mysql
無(wú)密碼登錄
skip-grant-tables
客戶端連接mysql選擇mysql庫(kù)
mysql -uroot -p
use mysql;
修改root密碼5.7版本,5.7版本之后已經(jīng)沒(méi)有了password字段,而是用authentication_string加密字段代替
update mysql.user set authentication_string=password('123456') where user='root';
5.7版本以前
update mysql.user set password=password('123456') where user='root';
賬戶登錄授權(quán)
1.允許root用戶在任何地方進(jìn)行遠(yuǎn)程登錄,并具有所有庫(kù)任何操作權(quán)限
mysql>GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'password' WITH GRANT OPTION;
FLUSH PRIVILEGES;
2.允許root用戶在一個(gè)特定的IP進(jìn)行遠(yuǎn)程登錄,并具有所有庫(kù)任何操作權(quán)限
GRANT ALL PRIVILEGES ON *.* TO [root@"192.168.1.123"]IDENTIFIED BY "password" WITH GRANT OPTION;
3.允許root用戶在一個(gè)特定的IP進(jìn)行遠(yuǎn)程登錄,并具有所有庫(kù) 特定 操作權(quán)限
GRANT select,insert,update,delete ON *.* TO [root@"192.168.1.123"] IDENTIFIED BY "password";
4.允許從192.168.1.123登錄的用戶yuj可以操作data庫(kù)的table表,可以執(zhí)行
select,insert,update,delete,create操作
mysql>grant select,insert,update,delete,create,drop on data.table to yuj@192.168.1.123 identified by ‘123′;