1,下載docker鏡像
docker pull mysql:8.0
2,建立主機目錄
mkdir -p /opt/mysql/conf /opt/mysql/data /opt/mysql/logs
3,創建mysql8.0配置文件
vim /opt/mysql/conf/my.cnf
1 [mysqld] 2 #datadir=/usr/local/mysql/data 3 default_authentication_plugin=mysql_native_password #使用mysql8以前的密碼插件,以便navicat等工具能夠正常連接 4 default-storage-engine=INNODB 5 character_set_server = utf8 6 secure_file_priv=/var/lib/mysql 7 [mysqld_safe] 8 character_set_server = utf8 9 [mysql] 10 default-character-set = utf8 11 [mysql.server] 12 default-character-set = utf8 13 [client] 14 default-character-set = utf8
4,創建容器腳本
vim /opt/mysql/docker.sh
1 docker run -p 3306:3306 --name mysql \ 2 -v /opt/mysql/logs:/var/log/mysql \ 3 -v /opt/mysql/data:/var/lib/mysql \ 4 -v /opt/mysql/conf:/etc/mysql \ 5 -e MYSQL_ROOT_PASSWORD=root \ 6 -d mysql:8.0
./docker.sh
5,配置mysql對外開放連接權限(如果外界navicat聯不通,一般docker版的mysql是可以從外界直接連通的)
docker exec -it mysql mysql -uroot -proot
use mysql
select host,user from user;
update user set host = '%' where user = 'root';
flush privileges;
select host,user from user;