docker 安装mysql
一、在docker环境下安装mysql
1、查询镜像
docker search mysql
2、拉取镜像
docker pull mysql:5.7
3、运行容器
3.1 无挂载运行
docker run -d -p 3306:3306 --privileged=true -e MYSQL_ROOT_PASSWORD=123456 --name mysql mysql:5.7 --character-set-server=utf8mb4 --collation-server=utf8mb4_general_ci7
3.2 挂载文件运行
docker run -d -p 3306:3306 --privileged=true \
-v /docker/mysql/conf/my.cnf:/etc/my.cnf \
-v /docker/mysql/data:/var/lib/mysql \
-e MYSQL_ROOT_PASSWORD=123456 --name mysql mysql:5.7 \
--character-set-server=utf8mb4 --collation-server=utf8mb4_general_ci
4、参数说明:
- run run 是运行一个容器
- -d 表示后台运行
- -p 表示容器内部端口和服务器端口映射关联
- --privileged=true 设值MySQL 的root用户权限, 否则外部不能使用root用户登陆
- -v /docker/mysql/conf/my.cnf:/etc/my.cnf 将服务器中的my.cnf配置映射到docker中的/docker/mysql/conf/my.cnf配置
- -v /docker/mysql/data:/var/lib/mysql 同上,映射数据库的数据目录, 避免以后docker删除重新运行MySQL容器时数据丢失
- -e MYSQL_ROOT_PASSWORD=123456 设置MySQL数据库root用户的密码
- --name mysql 设值容器名称为mysql
- mysql:5.7 表示从docker镜像mysql:5.7中启动一个容器
- --character-set-server=utf8mb4 --collation-server=utf8mb4_general_ci 设值数据库默认编码
5、进入容器
docker exec -it mysql /bin/bash
5.1 连接mysql
mysql -u root -p
5.2 创建用户
GRANT ALL PRIVILEGES ON *.* TO 'test'@'%' IDENTIFIED BY 'test@123' WITH GRANT OPTION;