最近因爲工做調整,不少基礎工做都要準備。對咱們研發來說,代碼寫完了還須要部署到生產環境。那就沒法避免的要部署生產服務器的環境。因爲軟件一直會有更新迭代。這裏咱們就說下MySQL8.0在CentOS7安裝的一個全過程php
因爲默認源已經再也不有MySQL軟件信息了,因此須要本身去官方下載並安裝html
wget https://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm yum localinstall mysql80-community-release-el7-3.noarch.rpm yum install mysql-community-client mysql-community-server
service mysqld start #啓動 service mysqld restart #重啓 service mysqld stop # 停掉
根據上面的介紹,安裝以後咱們須要啓動服務mysql
啓動服務以後,默認會給root帳號設置一個默認密碼。默認密碼就在 /var/log/mysqld.log 中,以下圖linux
mysql -uroot -p #直接按enter健 而後輸入剛纔找到的臨時密碼
進去以後發現輸入任何密碼都會提示以下問題。新的版本安全方面作得很是好。情願麻煩點也要保證安全這種思路我是贊同的sql
ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.
ALTER USER "root"@"localhost" IDENTIFIED BY "xxxxxxx"; #執行如上命令 不巧的是會遇到其餘錯誤 ,整我的都很差了,哈哈 #ERROR 1819 (HY000): Your password does not satisfy the current policy requirements
遵循咱們遇到問題解決問題的方針堅持不易的執行下去。根據描述能夠看出來就是密碼不符合安全級別(默認須要大小寫字母特殊字符)。按照這種規則設置密碼以後就能夠執行重置密碼了數據庫
你們能夠到 http://www.54php.cn/game/tools/index 這裏去生成複雜密碼(承諾不會記錄任何密碼信息)centos
在使用數據庫客戶端工具鏈接的時候可能會出現以下錯誤。這個是由於8.0使用了更安全的校驗模式安全
Authentication plugin 'caching_sha2_password' cannot be loaded
這個解決方案有2個。bash
方案一:服務器
改變你使用帳號的校驗方式 。這種操做牆裂不建議改變root帳號。保證最高權限的帳號安裝是很是重要的
ALTER USER "root"@"localhost" IDENTIFIED WITH mysql_native_password BY "xxxxxxx"; FLUSH PRIVILEGES;
方案二:
新增長一個帳號使用支持的驗證方式,並嚴格限制該帳號的權限
CREATE USER root_virtual@localhost IDENTIFIED WITH mysql_native_password BY 'yyyy';