愈來愈多的項目開始選擇使用mysql5.7版本了。在這裏整理一下mysql5.7用戶管理及權限分配的一些經常使用命令,以供後期工做中的須要!html
mysql for yum源下載:mysql
centos7:https://repo.mysql.com//mysql80-community-release-el7-1.noarch.rpm sql
centos6:https://repo.mysql.com//mysql80-community-release-el6-1.noarch.rpm shell
mysql5.7默認root用戶密碼:centos
mysql5.7在安裝啓動後會默認設置root用戶的密碼,該祕密爲系統隨機產生,能夠經過mysql.log日誌文件獲取,以下圖,默認使用yum安裝mysql5.7後的默認日誌路徑:app
修改root用戶密碼:ide
shell>mysql -u root -p #輸入第一步獲取的隨機密碼ui
mysql>use mysql;this
mysql>update user set authentication_string = password('rootpasswd'), password_expired = 'N', password_last_changed = now() where user = 'root'; #注意:mysql5.7中passwd字段已經更新爲authentication_string,password_expired:在MySQL版本5.6.6版本起,添加了password_expired功能,它容許設置用戶的過時時間;centos7
mysql>flush privileges;
若是忘記root用戶密碼,能夠參考這篇帖子進行操做:https://www.cnblogs.com/activiti/p/7810166.html
用戶受權:
因爲mysql5.7版本不容許直接給用戶受權,因此給指定用戶受權前,先建立該用戶。
mysql>CREATE USER 'username'@'host' IDENTIFIED BY 'password'; #用戶默認必須含有字母、特殊字符,大小寫、數字、特殊字符的隨機數
mysql>GRANT ALL PRIVILEGES ON databasename.* TO server@'localhost' IDENTIFIED BY 'passwd' WITH GRANT OPTION;
mysql>FLUSH PRIVILEGES;
#若是不想設置的密碼那麼複雜,能夠經過下面的命令進行設置
mysql>set global validate_password_policy=0;
或配置文件中修改爲:
[mysqld]
validate_password_policy=0;
關於密碼過時問題的探討,請參考這篇帖子:https://blog.csdn.net/chszs/article/details/50651264
ERROR 1819 (HY000): Your password does not satisfy the current policy requirements 錯誤參考:https://www.cnblogs.com/ivictor/p/5142809.html
【mysql】You must reset your password using ALTER USER statement before executing this statement報錯處理
解決方式以下:
MySQL版本5.7.6版本之前用戶能夠使用以下命令:
mysql> SET PASSWORD = PASSWORD('rootpasswd');
MySQL版本5.7.6版本開始的用戶能夠使用以下命令:
mysql> ALTER USER USER() IDENTIFIED BY 'rootpasswd';