1. 程式人生 > 其它 >docker下mysql 8.0.28安裝及遠端訪問

docker下mysql 8.0.28安裝及遠端訪問

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;