1. 程式人生 > >docker mysql 8.0

docker mysql 8.0

mysq 登錄 tar doc ID 導出 base clas caching

Pull library/mysql
$ docker pull mysql

Load image
$ docker load -i mysql.tar
Save image
$ docker save -o ~/Desktop/mysql.tar mysql

run
$ docker volume create --name mysql-data
$ docker run -d -p 3306:3306 -v mysql-data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 --restart=always --name=mysql mysql
可以指定-e MYSQL_DATABASE=mytestdb來同時創建數據庫。

如果是mysql服務器版本大於8.0.4,默認使用caching_sha2_password授權插件,而不是5.6/5.7使用的mysql_native_password進行身份驗證。
下面方法更改root賬戶的遠程登錄驗證插件為mysql_native_password
$ docker exec -it mysql mysql -uroot -p
輸入123456進入mysql提示符
ALTER USER ‘root‘@‘%‘ IDENTIFIED WITH mysql_native_password BY ‘123456‘; FLUSH PRIVILEGES;
SELECT User,Host,plugin FROM mysql.user;


$ docker restart mysql

view logs
$ docker logs -f mysql

stop/restart/start
$ docker stop mysql
$ docker restart mysql
$ docker start mysql

管理工具可以用Navicat Premium,數據庫服務器用主機ip地址:3306,root密碼是MYSQL_ROOT_PASSWORD設置的密碼。

導出數據庫
docker exec mysql sh -c ‘exec mysqldump --all-databases -uroot -p"$MYSQL_ROOT_PASSWORD"‘ > ~/Desktop/all-databases.sql

docker mysql 8.0