# docker 中下載 mysql docker pull mysql #啟動 docker run --name mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 -d mysql #進入容器 docker exec -it mysql bash #登錄mysql mysql -u root -p ALTER USER 'root'@'localhost' IDENTIFIED BY '123456'; #添加遠程登錄用戶 CREATE USER 'test'@'%' IDENTIFIED WITH mysql_native_password BY '123456'; GRANT ALL PRIVILEGES ON *.* TO 'test'@'%';
還原
1)在本機路徑下創建mysql目錄
mkdir -p ~/mysql/data ~/mysql/logs ~/mysql/conf ~/mysql/sql
2)將需要還原的sql腳本存放到 /mysql/sql 目錄下
3)運行容器
docker run --name mysql -p 3306:3306 --privileged=true -v /root/mysql/conf/mysqld.cnf:/etc/mysql/mysql.conf.d/mysqld.cnf -v /root/mysql/sql:/docker-entrypoint-initdb.d -v /root/mysql/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 -d mysql
-p 3306:3306:將容器的 3306 端口映射到主機的 3306 端口。 -v /root/mysql/sql:/docker-entrypoint-initdb.d 將備份好的數據庫文件存放在此,docker啟動進會讀取些文件的內容,並將數據庫還原到docker -v /root/mysql/data:/var/lib/mysql :將主機當前目錄下的data目錄掛載到容器的 /var/lib/mysql 。 -v /root/mysql/conf/mysqld.cnf :將mysql配置文件掛載到docker容器里 。 -e MYSQL_ROOT_PASSWORD=123456:初始化 root 用戶的密碼。 --privileged=true 在docker run時給該容器加權限