在 Ubuntu 中,如果你已经启动了一个 Docker 版本的 MySQL 服务,并希望在这个 MySQL 实例中创建一个新的数据库以及设置账号和密码,可以通过以下步骤操作:
步骤 1: 获取 MySQL 容器内部的 shell 访问
首先,你需要进入 MySQL 容器内部,以便执行 SQL 命令来创建数据库和用户。你可以使用以下命令进入 MySQL 容器的 shell:
docker exec -it mysql-server bash
这里的 mysql-server 是你之前启动的 MySQL 容器的名称。
步骤 2: 登录 MySQL
进入容器后,你需要登录 MySQL。使用以下命令:
mysql -u root -p
输入命令后,会提示你输入 root 用户的密码(即启动容器时设置的密码,例如 my-secret-pw
)。
步骤 3: 创建数据库
登录 MySQL 后,你可以创建一个新的数据库。例如,创建一个名为 newdb
的数据库:
CREATE DATABASE newdb;
步骤 4: 创建用户并设置密码
接着,你可以创建一个新的用户并设置密码。例如,创建一个名为 newuser
的用户,并设置密码为 new-password
:
CREATE USER 'newuser'@'%' IDENTIFIED BY 'new-password';
这里 %
表示该用户可以从任何主机连接到数据库。如果你想限制用户只能从特定的 IP 地址连接,可以将 %
替换为具体的 IP 地址,例如 '192.168.1.100'
。
步骤 5: 授予权限
授予新用户对新创建的数据库的全部权限:
GRANT ALL PRIVILEGES ON newdb.* TO 'newuser'@'%';
再次强调,这里 %
表示从任何主机都可以连接,如果需要限制主机范围,可以替换为具体的 IP 地址。
步骤 6: 刷新权限
确保权限生效:
FLUSH PRIVILEGES;
步骤 7: 退出 MySQL
完成操作后,可以退出 MySQL:
EXIT;
步骤 8: 退出容器
退出 MySQL 容器的 shell:
exit
总结
通过以上步骤,你已经成功在 Docker 版本的 MySQL 中创建了一个新的数据库 newdb
并设置了一个新用户 newuser
,同时赋予了该用户对数据库的全部权限。
验证
为了验证数据库和用户是否创建成功,你可以使用以下命令从宿主机连接到 MySQL 容器:
mysql -h localhost -P 3306 -u newuser -p newdb
输入命令后,会提示你输入 newuser
的密码(即 new-password
)。如果能够成功登录,说明数据库和用户都已经创建成功。
注意事项
- 确保 MySQL 容器的 3306 端口已经映射到宿主机的相同端口。
- 如果你在创建用户时指定了特定的 IP 地址,确保使用正确的 IP 地址连接。
- 如果需要从远程主机连接 MySQL,确保防火墙规则允许访问 MySQL 的端口(默认为 3306)。
通过这些步骤,你应该能够在 Docker 版本的 MySQL 中成功创建数据库和用户,并进行相应的权限设置。
评论区