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涓嬭浇锛岀綉鍧涓猴細
https://dev.mysql.com/get/mysql-apt-config_0.8.20-1_all.deb銆傚湪鍛戒护鍚庝娇鐢╳get鍛戒护杩涜涓嬭浇锛屽涓嬶細

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>

/usr/sbin/mysqld --basedir=/usr --datadir=/var/lib/mysql --plugin-dir=/usr/lib/mysql/plugin --log-error=/var/log/mysql/error.log --pid-file=/var/run/mysqld/mysqld.pid --socket=/var/run/mysqld/mysqld.sock

3.鍒涘缓鐢ㄦ埛鍜岄厤缃潈闄愩?/h2>

MySQL8.0.x瀹為檯浣跨敤鐨勮繃绋嬩腑鍙戠幇鐢ㄦ埛鎺堟潈鍜屼箣鍓嶇増鏈湁鐐逛笉鍚岋紝闇瑕佸垎涓夋锛?/p>

  1. 鍒涘缓鐢ㄦ埛銆?/li>
  2. 鍒嗛厤鏉冮檺銆?/li>
  3. 鍒锋柊鏉冮檺銆?br />

鍏蜂綋鐨剆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>