在M1芯片的Macbook上使用docker-compose啟動(dòng)mysql,并利用 NaviCat Premium 客戶端進(jìn)行連接
1、查看芯片版本
? 先打開控制臺(tái),使用 uname -m 來查看自己CPU芯片的架構(gòu)
? yourPrj % uname -m
? arm64
? 蘋果的M系列芯片使用的是ARM64架構(gòu),因此,需要安裝相應(yīng)版本的一些列工具。
2、安裝docker
????????因?yàn)槲沂荕1芯片,所以安裝docker desktop時(shí)候,當(dāng)然要安裝Apple silicon版本,這樣也可以下載支持ARM的mysql鏡像了。
????????順便說一下,直接使用VSCode的插件功能安裝docker desktop,會(huì)給安裝成amd64版本,很奇怪。
?? ? ? ?docker desktop下載主頁:https://docs.docker.com/desktop/install/mac-install/
????????Apple silicon版安裝包下載地址: https://desktop.docker.com/mac/main/arm64/Docker.dmg?utm_source=docker&utm_medium=webreferral&utm_campaign=docs-driven-download-mac-arm64
????????Intel chip版安裝包下載地址: https://desktop.docker.com/mac/main/amd64/Docker.dmg?utm_source=docker&utm_medium=webreferral&utm_campaign=docs-driven-download-mac-amd64
????????M1也可以安裝amd64版本的docker desktop,但是就不能安裝arm的鏡像了。
3、安裝mysql
????????登錄hub.docker.com,搜索mysql,查看支持arm64的鏡像。
發(fā)現(xiàn)只有mysql8及以上的版本才支持arm64。
?????????我手頭只有NaviCat 11 premium 連接,不能使用最新的MySql8.0鏡像,否則會(huì)報(bào)錯(cuò)說client版本過低。
????????解決方法只有兩個(gè):
??????????A、docker desktop不安裝Apple silicon版本,安裝Intel chip的;然后就可以安裝MySql 5.7,然后NaviCat 11 就可以用了;
??????????B、升級(jí)NaviCat版本。
????????方案B顯然比較容易,上Navi主頁www.navicat.com上一看,好家伙,最新版 NaviCat 16 premium 買斷價(jià)是11999,也可以1799月付。如果只買Mysql版本,個(gè)人用也需要1099。果然是土豪才能用的工具啊。以后再也不敢小看這個(gè)貴婦貓了。
?
????????方案A的話雖然試過可以安裝成功,但m1芯片安裝amd的docker,再拉amd的mysql心里十分糾結(jié)。想想方案B換個(gè)路子,也許能更香。
????????訪問mac.mac89.com/mac/3447.html ,可以繼續(xù)愉快的使用MySQL,且是最新的8了。
?
4、mysql8和5.7的區(qū)別(來自ChatGPT3.5)
MySQL 8 和 MySQL 5.7 是兩個(gè)不同的版本,它們之間有一些顯著的差異。
以下是它們之間的一些區(qū)別:
? 1、數(shù)據(jù)字典:MySQL 8 中引入了數(shù)據(jù)字典,它是一個(gè)用于存儲(chǔ)數(shù)據(jù)庫(kù)對(duì)象信息的內(nèi)部系統(tǒng)表,MySQL 5.7 中沒有數(shù)據(jù)字典。
? 2、角色管理:MySQL 8 引入了角色管理系統(tǒng),可以創(chuàng)建、管理和分配角色,MySQL 5.7 中沒有角色管理系統(tǒng)。
? 3、加密功能:MySQL 8 中增強(qiáng)了加密功能,支持使用密鑰管理系統(tǒng)(Keyring)加密數(shù)據(jù)和日志文件,MySQL 5.7 中沒有這個(gè)功能。
? 4、JSON 支持:MySQL 8 對(duì) JSON 的支持更好,提供了更多的函數(shù)和操作符,MySQL 5.7 對(duì) JSON 的支持相對(duì)較少。
? 5、改進(jìn)的性能:MySQL 8 對(duì) InnoDB 存儲(chǔ)引擎進(jìn)行了改進(jìn),包括更快的索引和查詢優(yōu)化,比 MySQL 5.7 更高效。
總的來說,MySQL 8 比 MySQL 5.7 更加先進(jìn)和高級(jí),但是也需要更高的系統(tǒng)配置和更好的硬件支持來實(shí)現(xiàn)更好的性能表現(xiàn)。對(duì)于一些較為簡(jiǎn)單的項(xiàng)目或者要求較低的項(xiàng)目,MySQL 5.7 也可以勝任。
? -------------------------------------------------
5、如果拉取的是mysql5.7鏡像,還需要進(jìn)入容器修改權(quán)限,不然無法使用IP登錄
? -------------------------------------------------
? 進(jìn)入容器,修改權(quán)限,不然無法使用IP登錄文章來源:http://www.zghlxwxcb.cn/news/detail-662835.html
py % docker exec -it mysqldb bash
? bash-4.2mysql -uroot -p
? Enter password: (此處要輸入你啟動(dòng)docker時(shí)候設(shè)定好的密碼)
? Welcome to the MySQL monitor.? Commands end with ; or \g.
? Your MySQL connection id is 18
? Server version: 5.7.41 MySQL Community Server (GPL)
?
? Copyright (c) 2000, 2023, Oracle and/or its affiliates.
?
? Oracle is a registered trademark of Oracle Corporation and/or its
? affiliates. Other names may be trademarks of their respective
? owners.
?
? Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
?
? mysql> update mysql.user set Host = '%' where User = 'root';
? Query OK, 1 row affected (0.05 sec)
? Rows matched: 1? Changed: 1? Warnings: 0
?
? mysql> flush privileges;
? Query OK, 0 rows affected (0.02 sec)
?
? mysql>
6、成品docker-compose內(nèi)容,親測(cè)可用
# 名稱:docker-compose.yml
# 說明:在M1芯片的Macbook上使用docker-compose啟動(dòng)mysql,并利用 NaviCat Premium 客戶端進(jìn)行連接
# 作者:討厭夏天
# 郵箱: 4857819@qq.com
# 日期:2023.04.30
version: '3.9'
services:
? mysqldb:
??? image: mysql:8.0.33
??? platform: linux/arm64/v8
??? container_name: mysqldb
??? volumes:
????? # 相對(duì)路徑映射方法(左側(cè)本地:右側(cè)容器)
????? - ./data/mysql:/var/lib/mysql
??? restart: always
??? ports:
????? - "33080:3306"
??? environment:
????? MYSQL_ROOT_PASSWORD: Qwer!@#$
????? MYSQL_DATABASE: mysqldb
????? MYSQL_USER: mysql
????? MYSQL_PASSWORD: Qwer!@#$
????? TZ: Asia/Shanghai
完畢文章來源地址http://www.zghlxwxcb.cn/news/detail-662835.html
到了這里,關(guān)于在M1芯片的Macbook上使用docker-compose啟動(dòng)mysql,并利用 NaviCat Premium 客戶端進(jìn)行連接的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!