Docker安装Mysql常用命令
程序员文章站
2024-03-13 15:34:33
...
1. 运行mysql 并设置当前root 密码为: jc164214878 映射的端口号为3306:3306
docker run --name mysql -e MYSQL_ROOT_PASSWORD=jc164214878 -d -p 3306:3306 registry.cn-hangzhou.aliyuncs.com/happygiraffe/mysql:5.7.22【阿里云镜像仓库中的名称以及版本号】
2. 挂在本地配置到容器内部
docker run --name mysql -v /my/custom:/etc/mysql/conf.d -e MYSQL_ROOT_PASSWORD=jc164214878 -d -p 3306:3306 registry.cn-hangzhou.aliyuncs.com/happygiraffe/mysql:5.7.22
3. 将当前mysql对应的表的字符编码集设置为 : utf-8
docker run --name mysql -e MYSQL_ROOT_PASSWORD=jc164214878 -d -p 3306:3306 registry.cn-hangzhou.aliyuncs.com/happygiraffe/mysql:5.7.22 --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci
4. 查看当前mysql的所有可选择项的完整列表可以使用一下命令来进行查看操作]
docker run -it --rm registry.cn-hangzhou.aliyuncs.com/happygiraffe/mysql:5.7.22【container名称:container的tag版本号】 --verbose --help
5. 设置MySQL的一些运行环境
docker -e
- MYSQL_ROOT_PASSWORD: 设置超级管理员root的密码
- MYSQL_DATABASE: 变量可选,允许宁只要要在镜像启动时创建的数据库的名称。如果提供了用户/密码(见下面的环境变量配置),则该用户将被授予对该数据库的超级用户访问权限(对应GRANT ALL)
- MYSQL_USER, MYSQL_PASSWORD: 这些变量是可选的,可以结合使用来创建新用户并设置该用户的密码。将为该用户授予该MYSQL_DATABASE变量指定的数据库的超级用户权限(参见上文)。这两个变量都是创建用户所必需的。
请注意,不需要使用此机制来创建超级超级用户,默认情况下会使用MYSQL_ROOT_PASSWORD变量指定的密码创建该用户。
- MYSQL_ALLOW_EMPTY_PASSWORD: 这是一个可选变量。设置为yes允许以root用户的空密码启动容器。注意:yes建议不要将此变量设置为,除非您确实知道自己在做什么,因为这会使您的MySQL实例完全不受保护,从而允许任何人获得完整的超级用户访问权限。
- MYSQL_RANDOM_ROOT_PASSWORD: 这是一个可选变量。设置yes为为root用户生成随机初始密码(使用pwgen)。生成的root密码将打印到stdout(GENERATED ROOT PASSWORD: .....)
- MYSQL_ONETIME_PASSWORD: 初始化完成后,将root(不是MYSQL_USER!中指定的用户)设置为过期,在首次登录时强制更改密码。注意:此功能仅在MySQL 5.6+上受支持。在MySQL 5.5上使用此选项将在初始化期间抛出适当的错误。
6. mysql容器的数据库挂载到本地的机器上
docker run --name mysql -v /mysql/datadir:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=jc164214878 -d -p 3306:3306 registry.cn-hangzhou.aliyuncs.com/happygiraffe/mysql:5.7.22 --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci
// 此时你查看本地主机的 /mysql/datadir 中都是当前mysql的数据库