docker容器中安裝mysql5.7(詳細(xì)圖解)

一、拉取鏡像

docker pull mysql:5.7

創(chuàng)建數(shù)據(jù)目錄

mkdir   /usr/local/dockerdata/mysql/conf
mkdir  /usr/local/dockerdata/mysql/logs
mkdir  /usr/local/dockerdata/mysql/mysql

二、創(chuàng)建配置文件

設(shè)置編碼為utf8mb4
cd /usr/local/dockerdata/mysql/conf
vi my.cnf
需要手動(dòng)添加上[client]和[mysql]。

[client]
default-character-set = utf8mb4

[mysql]
default-character-set = utf8mb4
[mysqld]
character-set-client-handshake = FALSE
character-set-server = utf8mb4
collation-server = utf8mb4_unicode_ci
init_connect='SET NAMES utf8mb4'

default-time_zone = '+8:00' #默認(rèn)時(shí)區(qū)配置
sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
#設(shè)置數(shù)據(jù)庫支持分組
lower_case_table_names=1 #表名不區(qū)分大小寫

設(shè)置utf8編碼只需要在 [mysqld]后添加 character_set_server=utf8

三、運(yùn)行鏡像

docker run --restart always -p 33306:33306 --name mysql -v /usr/local/dockerdata/mysql/conf/my.conf:/etc/mysql/my.cnf -v /usr/local/dockerdata/mysql/logs:/logs -v /usr/local/dockerdata/mysql/mysql:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.7

四、進(jìn)入鏡像

docker exec -it mysql bash

五、 進(jìn)入mysql

mysql -uroot -p

六、 設(shè)置遠(yuǎn)程可以登錄

現(xiàn)在這樣是無法在本地用工具登錄訪問的,現(xiàn)在要做兩件事,一件事是將云服務(wù)器上的3306端口開放;另一件事是配置遠(yuǎn)程可以訪問。
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'Admin123!' WITH GRANT OPTION;
flush privileges;

解決Navicat連接docker中mysql容器10060/10061錯(cuò)誤

1.關(guān)閉防火墻

stemctl status firewalld 查看防火墻狀態(tài)
service iptables stop 永久關(guān)閉防火墻
systemctl stop firewalld 暫時(shí)關(guān)閉防火墻

2.指定容器內(nèi)部端口為3306


因?yàn)槲胰萜髦杏衅渌麘?yīng)用的端口用到3306所以這里改了,若容器內(nèi)沒有把3306端口占用
docker run --restart always -p 33306:3306 --name mysql -v /usr/local/dockerdata/mysql/conf/my.conf:/etc/mysql/my.cnf -v /usr/local/dockerdata/mysql/logs:/logs -v /usr/local/dockerdata/mysql/mysql:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.7

3.進(jìn)入 mysql.conf 把bind-address去掉注釋同時(shí)改為0.0.0.0,并且加上port=33306。再重啟mysql容器就可以了。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

友情鏈接更多精彩內(nèi)容