Docker中操作MySQL添加账号

整体流程

首先,我们需要在Docker中安装MySQL镜像,然后创建一个MySQL容器。接下来,我们需要在MySQL容器中登录并执行SQL语句来添加账号。

以下是整件事情的流程:

flowchart TD
    A[安装MySQL镜像] --> B[创建MySQL容器]
    B --> C[登录MySQL容器并执行SQL语句]

安装MySQL镜像

首先,我们需要安装MySQL镜像。Docker Hub上有很多MySQL镜像可供选择,我们可以使用官方的MySQL镜像。可以使用以下命令来拉取官方MySQL镜像:

docker pull mysql

创建MySQL容器

接下来,我们需要在Docker中创建一个MySQL容器。我们可以使用以下命令来创建并启动一个MySQL容器:

docker run --name mysql-container -e MYSQL_ROOT_PASSWORD=password -d mysql
  • --name mysql-container:为容器指定一个名称,这里我们将其命名为mysql-container。
  • -e MYSQL_ROOT_PASSWORD=password:设置MySQL的root用户的密码,这里我们将密码设置为password。你可以根据需要将其替换为自己的密码。
  • -d:在后台运行容器。

登录MySQL容器并执行SQL语句

现在,我们需要登录到MySQL容器中,并执行SQL语句来添加账号。我们可以使用以下命令来登录到MySQL容器中:

docker exec -it mysql-container mysql -u root -p
  • -it:以交互模式登录容器。
  • mysql -u root -p:使用root身份登录MySQL。

接下来,我们需要执行SQL语句来添加账号。假设我们要添加一个名为newuser,密码为password的账号。我们可以使用以下SQL语句来添加账号:

CREATE USER 'newuser'@'%' IDENTIFIED BY 'password';
GRANT ALL PRIVILEGES ON *.* TO 'newuser'@'%';
FLUSH PRIVILEGES;
  • CREATE USER 'newuser'@'%' IDENTIFIED BY 'password';:创建名为newuser的用户,并设置密码为password。
  • GRANT ALL PRIVILEGES ON *.* TO 'newuser'@'%';:为newuser用户赋予所有数据库的所有权限。
  • FLUSH PRIVILEGES;:刷新权限使修改生效。

完整代码

以下是完整的代码示例:

# 安装MySQL镜像
docker pull mysql

# 创建MySQL容器
docker run --name mysql-container -e MYSQL_ROOT_PASSWORD=password -d mysql

# 登录MySQL容器并执行SQL语句
docker exec -it mysql-container mysql -u root -p

# 在MySQL容器中执行以下SQL语句
CREATE USER 'newuser'@'%' IDENTIFIED BY 'password';
GRANT ALL PRIVILEGES ON *.* TO 'newuser'@'%';
FLUSH PRIVILEGES;

现在,你已经学会了如何在Docker中操作MySQL并添加账号了。祝你成功!