MySQL8.0升级的踩坑历险记 |
鍓嶈█鏈杩戝繖浜嶧ighting鐨勯」鐩紝鎵浠ョ瑪鑰曟湁浜涙澗鎳堬紝瀹炰负涓嶈銆?/p> 鍒氬ソ閬囧埌闇瑕佷粠MySQL5.7.33鍗囩骇鍒癕ySQL8.0.x鐨勯渶姹傦紝浜庢槸璁板綍涓涓嬫暣涓崌绾ц繃绋嬶紝韪╁潙鑰岃繃銆?/p> 鑳屾櫙姊楁锛氭湰鍦癲ocker瀹瑰櫒涓娇鐢ㄧ殑MySQL鏄?.7.33锛堥暅鍍忕郴缁熺敤鐨勬槸ubuntu16.04锛夛紝鑰屾柊椤圭洰鍦ㄧ嚎涓婁娇鐢ㄤ簡MySQL8.0銆備粠绾夸笂瀵煎嚭鐨剆ql鏂囦欢锛堣〃缁撴瀯+鏁版嵁锛変腑鏈変竴绉嶄綆鐗堟湰MySQL涓嶄細鐢ㄥ埌鐨勫瓧绗︾紪鐮侊紝涓瀵煎叆灏辨姤閿欙紝閬囧埌鐨勫瓧绗﹂泦鎶ラ敊濡備笅鎵绀猴細 - Unknown collation: 'utf8mb4_0900_ai_ci' 涓椤挎悳绱箣鍚庯紝鎴戜篃鍐烽潤浜嗕笅鏉ワ紝鏈変袱绉嶆濊矾锛屼竴绉嶆槸琚垜绉颁负鎺╄崇洍閾冨紡瑙e喅鏂规硶锛屼竴绉嶆槸鏍规不鐨勫姙娉曘?/p> 鎺╄崇洍閾冿紝椤惧悕鎬濅箟锛屼笉瑙e喅鏈川闂锛岃屾槸閫氳繃鎵归噺鏇挎崲瀛楃闆嗙殑鏂瑰紡瑙e喅鎶ラ敊锛屼篃灏辨槸鎶婃枃浠朵腑鎵鏈夌殑utf8mb4_0900_ai_ci 鏇挎崲涓猴細utf8_general_ci銆?/p> 绗簩绉嶅氨鏄繚鎸佸拰绾夸笂鐨凪ySQL鐗堟湰涓鑷达紝杩欐牱灏辫兘鏀寔璇ュ瓧绗﹂泦銆?/p> 浜庢槸鎴戦噰鐢ㄧ浜岀鏂规硶锛屽崌绾ф垜鐨刣ocker瀹瑰櫒涓殑MySQL锛岄『渚夸篃鍙互鎵撳寘涓涓柊鐨勯暅鍍忋?/p> 鍗囩骇鐨勮繃绋嬩篃鏈夌偣鍧庡澐锛屼絾閫昏緫鏄竻鏅板湴銆?/p> 1.鍏堝交搴曞嵏杞界幇鏈夌増鏈琈ySQL銆?/h2>鍙互浣跨敤濡備笅鍛戒护锛?/p> #鍒犻櫎mysql鐨勬暟鎹枃浠? sudo rm -R /var/lib/mysql/ #鍒犻櫎mysql鐨勯厤缃枃浠? sudo rm -R /etc/mysql/ #鑷姩鍗歌浇mysql锛堝寘鎷瑂erver鍜宑lient锛? sudo apt-get autoremove mysql* --purge sudo apt-get remove apparmor 璁板緱涓瀹氳鍒犻櫎閰嶇疆鏂囦欢锛屽洜涓烘湁鍙兘涓嶅吋瀹广?/p> 2.涓嬭浇deb骞舵寜鐓ySQL8.x銆?/h2>鍙互鍘诲畼缃戜笅杞斤紝瀹樼綉鍦板潃涓篽ttps://dev.mysql.com/repo/apt 鎴戜滑閫夋嫨鏈鏂扮殑deb涓嬭浇锛岀綉鍧涓猴細 wget https://dev.mysql.com/get/mysql-apt-config_0.8.20-1_all.deb 涓嬭浇瀹屾垚涔嬪悗浣跨敤dpkg鍛戒护骞舵洿鏂癮pt婧愶紝鐒跺悗灏卞彲浠ヨ繘琛屽畨瑁呬簡锛屽畬鏁村懡浠ゅ涓嬫墍绀猴細 dpkg -i mysql-apt-config_0.8.20-1_all.deb apt-get update apt-get install -y mysql-server 鍦ㄦ渶鍚庝竴涓懡浠ゆ墽琛岃繃绋嬩腑锛屽畠浼氳浣犺緭鍏oot瀵嗙爜鍜屼竴浜涘熀鏈厤缃紝鐒跺悗灏卞彲浠ュ畬鎴愬畨瑁呬簡銆?/p> 鍥犱负鏄湪ubuntu閲岄潰瀹夎鐨凪ySQL锛屾墍浠ュ惎鍔ㄦ柟寮忎负锛?/p> service mysql start 浣犲彲浠ヤ娇鐢ㄥ懡浠ゆ煡鐪嬭繘绋嬭繍琛屾儏鍐碉紝姝e父鐨勬椂鍊欑被浼煎闇杈撳嚭锛?/p>
3.鍒涘缓鐢ㄦ埛鍜岄厤缃潈闄愩?/h2>MySQL8.0.x瀹為檯浣跨敤鐨勮繃绋嬩腑鍙戠幇鐢ㄦ埛鎺堟潈鍜屼箣鍓嶇増鏈湁鐐逛笉鍚岋紝闇瑕佸垎涓夋锛?/p>
鍏蜂綋鐨剆ql璇彞濡備笅锛岄『搴忎篃鏄弗鏍肩殑锛?/p> create user 'freephp'@'%' identified by '176serTTc8Cg'; grant all privileges on dev_database.* to 'freephp'@'%' with grant option; flush privileges; 涓婇潰鐨剆ql瑙i噴涓涓嬶紝绗竴鍙ユ槸鍒涘缓涓涓悕涓篺reephp鐨勭敤鎴凤紝瀵嗙爜涓?76serTTc8Cg锛?浠h〃鍙互浠绘剰涓绘満杩涜杩炴帴銆?/p> 绗簩鍙ョ殑鎰忔濇槸鎶奷ev_database鐨勬墍鏈夋潈闄愯祴浜堢敤鎴穎reephp銆?/p> 绗笁鍙ュ氨鏄珛鍗冲埛鏂版潈闄愶紝璁╂柊鍒涘缓鐨勬潈闄愮敓鏁堛?/p> 鑷鍘嗛櫓璁板ぇ鍔熷憡鎴愶紝MySQL8.0鐨勬柊鐗规ц繕闇瑕佹帰绱紝涓嬫鍐嶈亰銆?/p> 鎬荤粨鍒版杩欑瘒鍏充簬MySQL8.0鍗囩骇韪╁潙鐨勬枃绔犲氨浠嬬粛鍒拌繖浜?鏇村鐩稿叧MySQL8.0鍗囩骇韪╁潙鍐呭璇锋悳绱㈣剼鏈箣瀹朵互鍓嶇殑鏂囩珷鎴栫户缁祻瑙堜笅闈㈢殑鐩稿叧鏂囩珷甯屾湜澶у浠ュ悗澶氬鏀寔鑴氭湰涔嬪锛?/p> |