docker下mysql 8.0.28安裝及遠端訪問
阿新 • • 發佈:2022-03-24
1、拉映象
docker pull mysql:8.0.28
2、啟動映象
docker run -p 3306:3306 --name mysql -e MYSQL_ROOT_PASSWORD=123456 -d mysql:8.0.28
檢視是否啟動成功
docker ps -a
3、啟動成功後,進入容器內部拷貝配置檔案,到宿主主機
docker cp mysql:/etc/mysql /home/docker/mysql8.0.28
拷貝容器的 /etc/mysql目錄到 主機目錄/home/docker/mysql8.0.28
4、刪除mysql容器,重新建立容器
1、停止容器
docker stop mysql
2、刪除容器
docker rm mysql
5、啟動mysql ,掛載配置檔案,資料持久化到宿主主機
docker run -p 3306:3306 --name mysql --privileged=true --restart unless-stopped -v /home/docker/mysql8.0.28/mysql:/etc/mysql -v /home/docker/mysql8.0.28/logs:/logs -v /home/docker/mysql8.0.28/data:/var/lib/mysql -v /etc/localtime:/etc/localtime -v /home/docker/mysql8.0.28/mysql-files:/var/lib/mysql-files/ -e MYSQL_ROOT_PASSWORD=123456 -d mysql:8.0.28
檢視是否啟動成功
docker ps -a
檢視檔案目錄是否掛載成功
6、設定遠端連線
1、進入容器
docker exec -it 你的容器id /bin/bash
2、進入mysql
mysql -u root -p
3、設定
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '';
flush privileges;
普通使用者設定:
ALTER USER 'myuser'@'%' IDENTIFIED WITH mysql_native_password BY 'mypass'; flush privileges; grant all privileges on mydb.* to 'myuser'@'%' with grant option; flush privileges;