安装mysql
下载镜像
docker pull mysql:5.7
通过镜像启动
docker run -p 3306:3306 --name mymysql -v $PWD/conf:/etc/mysql/conf.d -v $PWD/logs:/logs -v $PWD/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=root -d mysql:5.7
- -p 3306:3306: 将容器的3306端口映射到主机的3306端口
- -v $PWD/conf:/etc/mysql/conf.d: 将主机当前目录下的conf/my.cnf挂载到容器的/etc/mysql/my.cnf
- -v $PWD/logs:/logs: 将主机当前目录的logs目录挂载到容器的/logs
- -v $PWD/data:/var/lib/mysql: 将主机当前目录下的data目录挂载到容器的/var/lib/mysql
- -e MYSQL_ROOT_PASSWORD=root: 初始化root用户的密码
进入容器配置
由于mysql的安全策略,现在还不能使用root/root来访问数据库
进入容器
// 查看容器id
docker ps -a
// 拿到容器id后进入容器
docker exec -it cd94c57fc6ba /bin/bash
进入mysql
mysql -uroot -proot
建立用户并授权
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'root' WITH GRANT OPTION;
GRANT ALL PRIVILEGES ON *.* TO 'root'@'127.0.0.1' IDENTIFIED BY 'root' WITH GRANT OPTION;
GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' IDENTIFIED BY 'root' WITH GRANT OPTION;
FLUSH PRIVILEGES;