docker創(chuàng)建mysql:8.0.20
最后修改時間2024-03-28
操作系統(tǒng)
Linux version 5.15.0-86-generic
(buildd@lcy02-amd64-086)
(gcc (Ubuntu 11.4.0-1ubuntu1~22.04) 11.4.0, GNU ld (GNU Binutils for Ubuntu) 2.38)
#96-Ubuntu SMP Wed Sep 20 08:23:49 UTC 2023
docker查找mysql:8.0.20
sudo docker search mysql:8.0.20
docker拉mysql:8.0.20
sudo docker pull mysql:8.0.20
創(chuàng)建mysql:8.0.20相關(guān)文件夾和文件
mkdir /home/ubuntu/mysql
mkdir /home/ubuntu/mysql/log
mkdir /home/ubuntu/mysql/data
mkdir /home/ubuntu/mysql/conf
docker創(chuàng)建mysql:8.0.20容器
sudo docker create -p 3306:3306 \
--name Tmysql \
--privileged=true \
-e MYSQL_ALLOW_EMPTY_PASSWORD=true \
鏡像名/鏡像ID
啟動docker的mysql:8.0.20
sudo docker start \
容器ID/容器名 &
復(fù)制my.cnf文件
sudo docker cp \
容器ID/容器名 \
:/etc/mysql/my.cnf /home/ubuntu/mysql/conf
停止創(chuàng)建的mysql:8.0.20容器
sudo docker stop \
容器ID/容器名
刪除創(chuàng)建的mysql:8.0.20容器
sudo docker rm \
容器ID/容器名
創(chuàng)建新的mysql:8.0.20容器,并掛載,樣例如下
方法一:
創(chuàng)建新的mysql:8.0.20容器,不會自行運(yùn)行
sudo docker create -p 3306:3306 \
--name Tmysql \
--privileged=true \
-v /home/ubuntu/mysql/log:/var/log/mysql \
-v /home/ubuntu/mysql/data:/var/lib/mysql \
-v /home/ubuntu/mysql/conf/my.cnf:/etc/mysql/my.cnf \
-v /etc/localtime:/etc/localtime \
-e MYSQL_ALLOW_EMPTY_PASSWORD=true \
鏡像名/鏡像ID
啟動新創(chuàng)建的mysql:8.0.20容器
sudo docker start 容器ID/容器名 &
方法二:
創(chuàng)建新的mysql:8.0.20容器,會自行后臺運(yùn)行
sudo docker run -p 3306:3306 \
--name Tmysql \
--privileged=true \
-v /home/ubuntu/mysql/log:/var/log/mysql \
-v /home/ubuntu/mysql/data:/var/lib/mysql \
-v /home/ubuntu/mysql/conf/my.cnf:/etc/mysql/my.cnf \
-v /etc/localtime:/etc/localtime \
-e MYSQL_ROOT_PASSWORD=root \
-d 鏡像名/鏡像ID
端口映射
-p
掛載文件權(quán)限設(shè)置
--privileged=true
設(shè)置 開機(jī)后自動重啟容器
--restart unless-stopped
掛載日志
-v /home/ubuntu/mysql/log:/var/log/mysql
掛載數(shù)據(jù)文件 持久化到主機(jī)
-v /home/ubuntu/mysql/data:/var/lib/mysql
掛載配置文件
-v /home/ubuntu/mysql/conf/my.cnf:/etc/mysql/my.cnf
容器時間與宿主機(jī)同步
-v /etc/localtime:/etc/localtime
設(shè)置無需密碼
-e MYSQL_ALLOW_EMPTY_PASSWORD=true
設(shè)置密碼
-e MYSQL_ROOT_PASSWORD=xxx
后臺啟動mysql
-d 鏡像名/鏡像ID
進(jìn)入mysql:8.0.20容器
sudo docker exec \
-i -t \
容器ID/容器名 \
/bin/bash
直接進(jìn)入mysql:8.0.20
sudo docker exec \
-i -t \
容器ID/容器名 \
mysql -uroot
創(chuàng)建mysql用戶
CREATE USER '用戶名' @'%' IDENTIFIED BY '密碼';
GRANT ALL PRIVILEGES ON *.* TO '用戶名' @'%' WITH GRANT OPTION;
刪除無需密碼的root用戶
DELETE FROM mysql.user WHERE Host = '%' AND User = 'root';
https://blog.csdn.net/u014576291/article/details/105890286
https://blog.csdn.net/qq_41566366/article/details/121763099

浙公網(wǎng)安備 33010602011771號