Docker下安裝MySQL
參加一下抽獎:如何做軟件測試?如何構(gòu)建軟件質(zhì)量體系?如何建設(shè)軟件質(zhì)量保障團(tuán)隊?
0x01:Docker安裝MySQL
下載MySQL鏡像
docker pull mysql
默認(rèn)是下載 latest 標(biāo)簽的mysql,那么版本是多少呢?訪問以下鏈接:
https://hub.docker.com/_/mysql/

啟動 MySQL 鏡像,指定密碼為123456,映射目錄/home/xxljobwork,指定默認(rèn)編碼為utf-8
docker run -e MYSQL_ROOT_PASSWORD=123456 -p 3306:3306 \
-v /home/xxljobwork:/home/xxljobwork mysql --character-set-server=utf8mb4 \
--collation-server=utf8mb4_unicode_ci
Docker容器啟動的時候,如果要掛載宿主機的一個目錄,可以用-v參數(shù)指定。上面把宿主機的 /home/xxljobwork 目錄掛載到容器的 /home/xxljobwork 目錄.
輸出如下:

如果有輸出:
/usr/sbin/mysqld: ready for connections. Version: '8.0.23' socket: '/var/run/mysqld/mysqld.sock' port: 3306 MySQL Community Server - GPL.
則表示,啟動mysql成功!可以看到版本是8.0.23
查看 Docker 進(jìn)程
[root@localhost huangjinjin]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
f5728697fb68 mysql "docker-entrypoint.s…" 3 minutes ago Up 3 minutes 0.0.0.0:3306->3306/tcp, 33060/tcp clever_banzai
988ebe1ec96c mongo:latest "docker-entrypoint.s…" 7 months ago Up 16 minutes 27017/tcp bin_mongo_1
1effa1afa039 redis:latest "docker-entrypoint.s…" 7 months ago Up 16 minutes 6379/tcp bin_redis_1
進(jìn)入 Docker
docker exec -it f5728697fb68 /bin/bash
其中 f5728697fb68 是通過docker ps 查詢得到的容器ID。

在Docker容器下進(jìn)入MySQL
mysql -u root -p123456

設(shè)置MySQL權(quán)限
select Host,User,authentication_string from mysql.user;

可以發(fā)現(xiàn),默認(rèn)已經(jīng)將 root 用戶設(shè)置了遠(yuǎn)程訪問,也就是%的那條記錄。但是密碼和 localhost 的不一樣。因此,需要修改密碼,并刷新權(quán)限。
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '123456';
flush privileges;
注意:不要使用以下命令,執(zhí)行會報錯
grant all privileges on *.* to 'root'@'%' identified by '123456' with grant option;
0x02:遠(yuǎn)程連接MySQL
查看Linux的IP地址
ifconfig

使用Navicat連接

點擊連接測試,效果如下:


喜歡,在看
評論
圖片
表情
