亚洲一区二区免费视频_亚洲免费网_91经典在线_精品三级在线观看_午夜精品电影_激情综合五月天

MySQL 數(shù)據(jù)庫(kù)升級(jí)攻略:從 5.7.32 到 8.0.22,輕松解決字符集問(wèn)題

跟你們聊聊我最近博客升級(jí)數(shù)據(jù)庫(kù)遇到的事兒?jiǎn)h。雖然只是簡(jiǎn)單的升級(jí),但還挺有意思滴,運(yùn)氣好得很~

一、準(zhǔn)備出發(fā):導(dǎo)出表結(jié)構(gòu)和數(shù)據(jù)

systemctl stop httpd
tar cvzf /tmp/wordpress_bak.tar.gz wordpress/*
mysqldump -uroot -p --no-data --default-character-set=utf8mb4 --single-transaction --set-gtid-purged=OFF --databases wordpress > /tmp/wordpress.sql
mysqldump -uroot -p --no-create-info --master-data=2 --flush-logs --routines --events --triggers --default-character-set=utf8mb4 --single-transaction --set-gtid-purged=OFF --databases wordpress > /tmp/wordpress_data.sql
  • 1.
  • 2.
  • 3.
  • 4.

哦對(duì)了,我們得先搞定WordPress里面的所有數(shù)據(jù),就像搬家前要摸清楚家里東西放在哪兒的感覺(jué)。于是乎,我整出來(lái)倆文件,一個(gè)叫wordpress.sql,一個(gè)叫數(shù)據(jù)文件。之后,我直接把wp.sql克隆了一份,改個(gè)編碼讓它能用utf8mb4字符,這下子新家就能容納更多字符!

cp /tmp/wordpress.sql /tmp/wordpress_utf8mb4.sql
vim /tmp/wordpress_utf8mb4.sql
# :%s/utf8/utf8mb4/g 如果已有utf8mb4會(huì)被替換成utf8mb4mb4,注意別替換錯(cuò)了。
  • 1.
  • 2.
  • 3.

二、卸載舊版本,迎接新生活

老的MySQL5.7.32得先卸掉,跟搬家似的徹底清理。然后檢查現(xiàn)在到底在用哪個(gè)版本的MySQL?全部去掉,連/var/lib/mysql目錄也別留下,確保家里干凈利索。接下來(lái),更新一下庫(kù),安裝好mysql80-community;最后,最新的MySQL8.0.22給裝上,現(xiàn)在這地兒就像新裝修一樣嶄新。

三、配置新家:修改my.cnf文件

yum list installed | grep mysql
......
mysql-community-client.x86_64         5.7.32-1.el7                   @mysql57-community
mysql-community-common.x86_64         5.7.32-1.el7                   @mysql57-community
mysql-community-libs.x86_64           5.7.32-1.el7                   @mysql57-community
mysql-community-libs-compat.x86_64    5.7.32-1.el7                   @mysql57-community
mysql-community-server.x86_64         5.7.32-1.el7                   @mysql57-community
mysql80-community-release.noarch      el7-3                          @/mysql80-community-release-el7-3.noarch
......
yum remove mysql-community-client.x86_64 mysql-community-common.x86_64 mysql-community-libs.x86_64 mysql-community-libs-compat.x86_64 mysql-community-server.x86_64 mysql80-community-release.noarch
rm /var/lib/mysql/ -rf
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.

搞定搬家后,咱就來(lái)裝修一下服務(wù)器!先備份好/etc/my.cnf,再開(kāi)始搗鼓服務(wù)器。記住,binarylog別弄壞了,但utf8mb4字符集可得換成新的。一啟動(dòng)mysql數(shù)據(jù)庫(kù),原來(lái)的root密碼自然出來(lái)了。接下來(lái)運(yùn)行個(gè)安全設(shè)置的小腳本,弄個(gè)牛逼點(diǎn)的新root密碼,把匿名用戶刪掉,不讓root遠(yuǎn)程登錄,別忘了還得刪些沒(méi)用的測(cè)試庫(kù)。

四、避免裝修陷阱:錯(cuò)誤的配置

cd /etc/yum.repos.d/
mv mysql-community.repo.rpmsave mysql-community.repo
vim mysql-community.repo
# [mysql80-community]
# name=MySQL 8.0 Community Server
# baseurl=http://repo.mysql.com/yum/mysql-8.0-community/el/7/$basearch/
# enabled=1
# gpgcheck=1
# gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql
yum clean all
yum makecache
yum install mysql-community-server
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.

啊那時(shí)的裝修真是讓我害怕得不行!差點(diǎn)聽(tīng)從那些人的瞎話。越說(shuō)就越離譜,最后竟然把數(shù)據(jù)庫(kù)也給搞壞了。好在我立馬看清事實(shí),才免于被坑騙。

五、搬進(jìn)新家:導(dǎo)入數(shù)據(jù)及配置

房子裝好了,快去買家具溫馨提醒下,我在WP上都試過(guò),目前WordPress只支持后臺(tái)管理,比如新建賬號(hào)啊、更改別人的設(shè)置之類的就不行了,所以還是規(guī)規(guī)矩矩按照要求操作。

六、新家的第一天:測(cè)試和優(yōu)化

房子弄好了,我去看了看沒(méi)啥問(wèn)題。家里的東西用過(guò)后都挺好使的。還有,我給電腦動(dòng)了點(diǎn)小手術(shù),讓速度快了點(diǎn)兒。

七、新生活的開(kāi)始:總結(jié)和展望

搞定了!博客數(shù)據(jù)庫(kù)升級(jí)到了最新版的MySQL8.0.22,還用utf8mb4新增了很多字符。雖然過(guò)程有點(diǎn)繁瑣,但終究圓滿成功。博客速度飛快得很,還能顯示更多文字,就像是搬了個(gè)新家似的舒心。

cp /etc/my.cnf /etc/my.cnf.bak20201212
vim /etc/my.cnf
## mysql-8.0.x默認(rèn)開(kāi)啟binary log,不需要log-bin參數(shù),文件名binlog.
## mysql-8.0.x默認(rèn)字符集utf8mb4,這里字符集設(shè)置統(tǒng)一utf8mb4
#連接建立時(shí)執(zhí)行設(shè)置的語(yǔ)句,對(duì)super權(quán)限用戶無(wú)效
init_connect='SET NAMES utf8mb4'
#設(shè)置服務(wù)端校驗(yàn)規(guī)則,如果字符串需要區(qū)分大小寫,設(shè)置為utf8mb4_bin
character-set-server=utf8mb4
collation-server=utf8mb4_general_ci
#忽略應(yīng)用連接自己設(shè)置的字符編碼,保持與全局設(shè)置一致
skip-character-set-client-handshake
systemctl start mysqld.service
grep "temporary password" /var/log/mysqld.log
mysql_secure_installation
mysql -uroot -p
mysql> show variables like '%char%set%';
+--------------------------+--------------------------------+
| Variable_name            | Value                          |
+--------------------------+--------------------------------+
| character_set_client     | utf8mb4                        |
| character_set_connection | utf8mb4                        |
| character_set_database   | utf8mb4                        |
| character_set_filesystem | binary                         |
| character_set_results    | utf8mb4                        |
| character_set_server     | utf8mb4                        |
| character_set_system     | utf8                           |
| character_sets_dir       | /usr/share/mysql-8.0/charsets/ |
+--------------------------+--------------------------------+
8 rows in set (0.01 sec)
mysql> show variables like '%collation%';
+-------------------------------+--------------------+
| Variable_name                 | Value              |
+-------------------------------+--------------------+
| collation_connection          | utf8mb4_general_ci |
| collation_database            | utf8mb4_general_ci |
| collation_server              | utf8mb4_general_ci |
| default_collation_for_utf8mb4 | utf8mb4_0900_ai_ci |
+-------------------------------+--------------------+
4 rows in set (0.00 sec)
mysql> show variables like '%log_bin%';
+---------------------------------+-----------------------------+
| Variable_name                   | Value                       |
+---------------------------------+-----------------------------+
| log_bin                         | ON                          |
| log_bin_basename                | /var/lib/mysql/binlog       |
| log_bin_index                   | /var/lib/mysql/binlog.index |
| log_bin_trust_function_creators | OFF                         |
| log_bin_use_v1_row_events       | OFF                         |
| sql_log_bin                     | ON                          |
+---------------------------------+-----------------------------+
6 rows in set (0.00 sec)
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.
  • 21.
  • 22.
  • 23.
  • 24.
  • 25.
  • 26.
  • 27.
  • 28.
  • 29.
  • 30.
  • 31.
  • 32.
  • 33.
  • 34.
  • 35.
  • 36.
  • 37.
  • 38.
  • 39.
  • 40.
  • 41.
  • 42.
  • 43.
  • 44.
  • 45.
  • 46.
  • 47.
  • 48.
  • 49.
  • 50.
  • 51.
  • 52.
  • 53.
  • 54.
  • 55.
  • 56.
  • 57.
  • 58.
  • 59.
  • 60.

很高興看到你們還在。如果有類似經(jīng)驗(yàn)的,來(lái)分享下別忘了為這次的更新貢獻(xiàn)個(gè)贊,讓大伙兒看看我們有多努力!

THE END
主站蜘蛛池模板: 中国一级特黄真人毛片免 | 久久九九99热这里只有精品 | 精品国产乱码久久久久久免费 | 日本一区免费 | 99pao成人国产永久免费视频 | 亚洲精品自拍愉拍第二页 | 嫩草亚洲国产精品 | 毛片三级在线观看 | 国产成人av电影在线观看第一页 | 精品国产三级a在线观看 | 日韩一区二区三区精品 | 亚洲av永久无码精品网站色欲 | 久久精品私人影院免费看 | 亚洲欧美国产精品专区久久 | 日韩精品欧美成人 | 色婷婷久久久swag精品 | 黄色免费一级播放片 | 色天天天综合色天天 | 在线国产视频一区 | 国产高清www免费视频 | 少妇人妻系列1~100 | 中出内射颜射骚妇 | 亚洲中文字幕日本在线观看 | 国产欧美日韩另类 | 精品成人一区二区三区免费视频 | 午夜视频免费 | 久久只精品99品免费久23 | 日本日本熟妇中文在线视频 | 亚洲一区二区三区av天堂 | 亚洲综合图片小说 | 国产精品一区亚洲一区天堂 | 国产无套乱子伦精彩是白视频 | 野花社区视频在线观看 | 国产精品无打码在线播放9久 | 国产一级特黄高清在线大片 | 99久久精品免费看国产免费 | 一级毛片短视频 | 欧美爱爱网站 | 中无码人妻丰满熟妇啪啪 | 国产女主播高潮在线播放 | 久久综合中文字幕一区二区 |