mysql 管理位址 mysql8使用者管理

2021-10-17 15:14:28 字數 1954 閱讀 4063

檢視當前登入使用者:

建立使用者:

create user '使用者名稱'@'主機位址' identified with mysql_native_password by '密碼';

修改密碼:

alter user '使用者名稱'@'主機位址' identified with mysql_native_password by '新密碼';

原因是:在mysql 5.7.9版本以後廢棄了password欄位和password()函式,並加密方式預設不是使用mysql_native_password再mysql8以上版本中caching_sha2_password和sha256_password認證外掛程式比mysql_native_password外掛程式提供的密碼加密更加安全,並且caching_sha2_password加密比sha256_password的加密效能更好。由於caching_sha2_password這樣優秀的安全和效能特性,讓他作為mysql8.0的預設首選認證外掛程式,這也是預設的認證外掛程式外掛程式而不是mysql_native_password。

所以mysql8預設是caching_sha2_password加密,5.7.9版本後的版本預設是mysql_native_password

可以在建立和修改時使用identified with mysql_native_password來指定加密方式

mysql8使用alter user來修改使用者密碼:

相容8版本下的修改密碼方式只需要將加密方式寫成mysql_native_password即可:

官方手冊 alert user的手冊

官方解釋文件手冊位址 新密碼認證方式,官方解釋

檢查使用者資訊:

命令: select user,host,plugin,authentication_string from mysql.user;

mysql的使用者資訊都儲存在mysql資料中的user表中,其實這就是查詢這些對應字段而已

以上掌握了基本的使用者建立,密碼修改,和檢視使用者資訊,但怎麼修改乙個賬號的許可權呢?

答:授權所有許可權

grant all privileges on *.* to '使用者名稱'@'主機位址';

授權基本的查詢修改許可權,指定指定許可權授權給賬號

grant select,insert,update,delete,create,drop,alter on *.* to '使用者名稱'@'主機名';

select是查詢 insert是插入 update是更新 delete是刪除 create是建立 drop是刪除 alter是修改等許可權

檢視使用者許可權

show grants for '主機名'@'主機位址';

MySQL8使用者管理

mysql create user user1 localhost identified by 123456 identified by 後面是密碼,直接寫就可,不需再加password 函式。使用剛剛建立的使用者登入,然後執行show databases會發現只有乙個名為information s...

mysql8問題 mysql8中的問題

only full group by 對於group by聚合操作,如果在 select 中的列,沒有在 group by 現,那麼這個sql是不合法的,因為列不在group by從句中。no auto value on zero 該值影響自增長列的插入。預設設定下,插入0或null代表生成下乙個自...

mysql8建立不了使用者 mysql8建立使用者

假如是mysql8版本的話,使用 grant all privileges to 使用者 localhost identified by 自定義密碼 會報錯,因為要先建立使用者再進行賦權,不能同時進行 建立使用者 create user 使用者名稱 localhost identified by 密...