Linux环境下通过docker安装mysql
Linux环境下通过docker安装mysql
Content
在 Manjaro 中,可以使用 Docker 来安装和配置 MySQL。以下是详细步骤,包括如何拉取 MySQL 镜像、运行容器、配置持久化存储和基本的安全设置。
1. 安装 Docker
首先确保 Docker 已安装并正在运行:
# 更新系统并安装 Docker
sudo pacman -Syu docker
# 启动 Docker 服务
sudo systemctl start docker
# 设置 Docker 开机自启
sudo systemctl enable docker
2. 拉取 MySQL 镜像
在 Docker 中使用 MySQL,只需拉取 MySQL 官方镜像即可:
# 拉取最新版本的 MySQL 镜像
docker pull mysql:latest
3. 创建数据卷(可选)
为了防止 MySQL 数据在容器删除时丢失,建议创建一个数据卷或将主机目录挂载到容器中,实现数据持久化。
# 创建 MySQL 数据卷
docker volume create mysql_data
4. 运行 MySQL 容器
使用 docker run
命令启动 MySQL 容器,并配置必要的参数,如 root
密码、端口映射和数据卷。
docker run -d \
--name mysql-container \
-p 3306:3306 \
-e MYSQL_ROOT_PASSWORD=my-secret-pw \
-v mysql_data:/var/lib/mysql \
mysql:latest
- 参数说明:
-d
:以守护进程模式运行容器。--name mysql-container
:指定容器名称,可以自定义。-p 3306:3306
:将主机的 3306 端口映射到容器的 3306 端口,以便在主机上访问 MySQL。-e MYSQL_ROOT_PASSWORD=my-secret-pw
:设置 MySQL 的root
用户密码,将my-secret-pw
替换为你的自定义密码。-v mysql_data:/var/lib/mysql
:将主机的mysql_data
卷挂载到容器中的/var/lib/mysql
,以实现数据持久化。
5. 检查 MySQL 容器状态
可以使用以下命令查看容器状态,确保 MySQL 正在运行:
docker ps
如果容器启动成功,可以看到 mysql-container
正在运行,且映射了 3306
端口。
6. 进入 MySQL 容器并配置 MySQL
可以通过以下命令进入 MySQL 容器:
docker exec -it mysql-container mysql -u root -p
输入你设置的 root
密码,即可进入 MySQL 控制台,进行数据库和用户的配置。
7. 创建数据库和用户(可选)
在 MySQL 控制台中,创建数据库和用户:
-- 创建一个数据库
CREATE DATABASE my_database;
-- 创建用户并授予权限
CREATE USER 'my_user'@'%' IDENTIFIED BY 'user_password';
GRANT ALL PRIVILEGES ON my_database.* TO 'my_user'@'%';
FLUSH PRIVILEGES;
my_database
:数据库名称。my_user
和user_password
:用户名称和密码,可根据需要修改。%
表示允许从任意主机访问数据库,如果只允许特定主机访问,可以将%
替换为主机 IP。
8. 配置 MySQL 的远程访问(可选)
如果需要从其他设备连接到 MySQL 数据库,可以编辑 MySQL 的配置文件,允许远程访问。默认情况下,MySQL 只允许本地连接。
-
使用以下命令启动容器时挂载 MySQL 配置文件:
docker run -d \ --name mysql-container \ -p 3306:3306 \ -e MYSQL_ROOT_PASSWORD=my-secret-pw \ -v mysql_data:/var/lib/mysql \ -v /path/to/my.cnf:/etc/mysql/my.cnf \ mysql:latest
-
修改
my.cnf
配置文件,确保bind-address
为0.0.0.0
:[mysqld] bind-address = 0.0.0.0
-
重启 MySQL 容器,使配置生效:
docker restart mysql-container
9. 连接 MySQL
可以通过 mysql-client
或其他数据库管理工具(如 DBeaver、MySQL Workbench)连接到 MySQL 数据库:
- 主机:虚拟机或服务器 IP 地址
- 端口:3306
- 用户名:
root
或自定义用户 - 密码:在容器启动时设置的密码
总结
以上是通过 Docker 在 Manjaro 中安装并配置 MySQL 的步骤,概括为:
- 安装 Docker 并启动。
- 拉取 MySQL 镜像。
- 配置数据持久化和运行容器。
- 创建数据库和用户,并设置远程访问(如有需要)。
这种方式可以将 MySQL 部署在 Docker 容器中,享受环境隔离、便捷管理和持久化存储的优势。