docker 启动数据库异常

本文详细介绍了在Docker中启动MySQL数据库遇到初始化错误的解决过程,包括错误信息解析、官方文档查阅及正确启动参数设置,确保数据库服务正常运行。

 docker 启动数据库异常

1.docker启动数据库时出现异常,爆出这样的错误:

首先运行docker

[root@zpjeck ~]# docker run -d mysql
            238aedcdc9c42517299fefe6534ed6176d0f8e3e072f7f56138e286f4d671d4f


            紧接着查看docker是否启动成功:

[root@zpjeck ~]# docker ps -a
           CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS                      PORTS                        NAMES
       238aedcdc9c4        mysql               "docker-entrypoint..."   21 seconds ago      Exited (1) 20 seconds ago                                    relaxed_khorana

2.查看错误日志 

[root@zpjeck ~]# docker logs 238aedcdc9c4 
            error: database is uninitialized and password option is not specified 
            You need to specify one of MYSQL_ROOT_PASSWORD, MYSQL_ALLOW_EMPTY_PASSWORD and                         MYSQL_RANDOM_ROOT_PASSWORD

3.根据官方文档显示 启动时需要指定密码

$ docker run --name some-mysql -e MYSQL_ROOT_PASSWORD=my-secret-pw -d mysql:tag

... where some-mysql is the name you want to assign to your container, my-secret-pw is the password to be set for the MySQL root user and tag is the tag specifying the MySQL version you want. See the list above for relevant tags.

4.正确的启动方式:

[root@zpjeck ~]# docker run --name mysql_01 -e MYSQL_ROOT_PASSWORD=123456  -d mysql
e06e25408eb6d623bc166bed97996445f6db32e4397a163920828a6ad7aed31b
[root@zpjeck ~]# docker ps
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                 NAMES
e06e25408eb6        mysql               "docker-entrypoint..."   7 seconds ago       Up 6 seconds        3306/tcp, 33060/tcp   mysql_01
            docker中启动数据就算成功了

转自:https://blog.youkuaiyun.com/ZPJeck/article/details/83987179

 

 

 

在使用 Docker 启动 IBM Informix 数据库容器时,可能会遇到各种异常情况。下面列出了一些常见的异常以及对应的解决方案: ### 1. **无法连接数据库** - **症状**:尝试从客户端或其他服务连接到 Informix 容器时失败。 - **原因及解决办法**: - 检查是否正确配置了网络设置(如端口映射)。默认情况下,Informix 使用9086端口;确保此端口号未被占用并在docker run命令中正确指定了 `-p` 参数。 ```bash docker run -d --name informix -e LICENSE=accept -e DB_LOCALE=en_US.utf8 \ -v /path/to/informix/data:/data -p 9086:9086 ibmcom/informix-developer-database ``` - 确认防火墙规则允许外部访问该端口。 - 查看日志 (`docker logs <container_name>`) 来确定是否有认证、权限或SQL语法等问题。 ### 2. **磁盘空间不足** - 检查宿主机和挂载卷的可用磁盘空间。如果存储已满,清理不必要的文件并释放更多空间后再试。 - 修改 `ONCONFIG` 文件调整缓存大小等内存参数以减少对磁盘的需求。 ### 3. **许可证验证失败** - **症状**:启动时报 “License check failed” 错误。 - **原因及解决办法**: - 默认镜像需要接受IBM许可协议才能正常工作,在运行容器前需确认环境变量 `LICENSE=accept` 是否设置正确。 - 核实所提供的许可证密钥有效且适用于当前版本的产品。 ### 4. **初始化脚本错误** - **症状**:首次启动时执行初始化任务出错。 - **原因及解决办法**: - 初始化脚本位于 `/etc/informix/oninit.init.d/` 目录下,检查这些脚本是否存在语法错误或路径问题。 - 若自定义了额外的初始化步骤,请保证相关依赖项已经就绪再继续后续操作。 ### 5. **字符集编码不匹配** - **症状**:插入数据时可能出现乱码或是查询结果不对齐的问题。 - **原因及解决办法**: - 设置合适的区域选项(`DB_LOCALE`, `CLIENT_LOCALE`)来指定正确的语言包和地区支持信息。 ```bash docker run ... -e DB_LOCALE=zh_CN.UTF-8 ... ``` 以上是几个比较典型的案例,实际环境中还可能存在其他特殊情况。若上述方案未能解决问题,请提供更详细的日志片段以便进一步分析诊断。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值