docker 启动mysql容器 添加别的-
时间: 2023-07-01 13:22:13 浏览: 73
启动MySQL容器时,除了上面提到的参数之外,还可以添加一些别的参数,例如:
1. `-v`:指定数据卷,将容器内的数据保存在宿主机上,避免容器删除后数据丢失。
2. `--restart`:设置容器在退出后的重启策略。
3. `-e`:设置 MySQL 的其他环境变量,例如字符集、时区等。
示例命令如下:
```
docker run -d --name mysql -p 3306:3306 -v /mydata/mysql:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=yourpassword -e MYSQL_CHARSET=utf8mb4 -e TZ=Asia/Shanghai --restart always mysql:latest
```
其中,`-v` 参数将容器内的 `/var/lib/mysql` 目录挂载到宿主机的 `/mydata/mysql` 目录上,`--restart` 参数设置容器在退出后自动重启,`-e` 参数设置 MySQL 的字符集为 utf8mb4,时区为 Asia/Shanghai。
相关问题
docker 启动mysql 并创建数据库
使用Docker启动MySQL并创建数据库非常简单。首先,确保您已经安装了Docker和Docker Compose。
1. 创建一个名为`docker-compose.yml`的文件,并使用文本编辑器打开它。
2. 在该文件中,输入以下内容:
```yaml
version: '3.8'
services:
mysql:
image: mysql:latest
environment:
- MYSQL_ROOT_PASSWORD=your_root_password
- MYSQL_DATABASE=your_database_name
volumes:
- ./data:/var/lib/mysql
```
替换`your_root_password`为您想要设置的MySQL根密码,`your_database_name`为您想要创建的数据库的名称。
添加`volumes`部分是为了将MySQL数据保存在宿主机的`data`文件夹中。
3. 保存并关闭`docker-compose.yml`文件。
4. 打开终端或命令提示符,并导航到包含`docker-compose.yml`文件的目录。
5. 在终端或命令提示符中,运行以下命令启动MySQL容器:
```bash
docker-compose up -d
```
`-d`参数使容器在后台运行。
6. Docker将下载并启动MySQL容器。一旦容器启动成功,您将能够连接到MySQL数据库并执行操作。
您可以使用MySQL客户端工具,如MySQL Workbench或通过命令行工具连接到MySQL数据库:
```bash
mysql -h localhost -P 3306 -u root -p
```
输入您在`docker-compose.yml`文件中设置的根密码。
7. 成功连接到MySQL数据库后,可以使用SQL语句来创建新的数据库。
```sql
CREATE DATABASE your_database_name;
```
替换`your_database_name`为您想要创建的数据库名称。
8. 完成后,您可以退出MySQL客户端,并使用Docker停止MySQL容器:
```bash
docker-compose down
```
这样就成功使用Docker启动了MySQL容器并创建了数据库。
docker启动mysql,连接不上
当使用Docker启动MySQL 8.0时,可能会遇到连接不上的问题。这是由于MySQL 8.0引入了新的身份验证插件"caching_sha2_password",而旧版本的连接器可能不支持此插件。为了解决这个问题,有两种方法可以尝试。
方法一:
可以在连接字符串中指定旧的身份验证插件,如:"mysql_native_password"。这可以通过在连接命令或连接配置中指定"authPlugin"选项来实现。这样,连接器将使用旧的身份验证插件来连接MySQL 8.0。
方法二:
在创建MySQL 8容器时,可以配置MySQL的加密方式。可以通过在启动容器时添加"-e"参数来设置环境变量。例如,可以通过以下命令创建并启动一个MySQL 8容器:
docker run -id \
-p 3306:3306 \
--name=mysql8 \
-v /root/mysql8/conf:/etc/mysql/conf.d \
-v /root/mysql8/logs:/logs \
-v /root/mysql8/data:/var/lib/mysql \
-e MYSQL_ROOT_PASSWORD=root \
-e MYSQL_ROOT_HOST=% \
-e MYSQL_USER=mysqluser \
-e MYSQL_PASSWORD=mysqlpassword \
-e MYSQL_DATABASE=mysqldatabase \
-e MYSQL_ALLOW_EMPTY_PASSWORD=yes \
mysql:8.0
通过以上步骤,你可以成功连接到Docker中运行的MySQL 8.0数据库。
相关推荐
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)