1. 安装Docker
确保您的系统上已经安装了Docker。可以通过以下命令检查Docker是否安装并运行:
systemctl status docker
如果没有安装或运行,请按照官方文档进行安装和启动。
2. 拉取MySQL镜像
从Docker Hub拉取MySQL官方镜像。这里以MySQL 5.7版本为例:
docker pull mysql:5.7
3. 启动MySQL容器
使用以下命令启动一个新的MySQL容器,并设置root密码:
docker run --name mysql5.7-dev -p3307:3306 -eMYSQL_ROOT_PASSWORD=123456 mysql:5.7
通过docker ps查看状态
这里,
--name
指定容器名称,
-p
指定端口映射(将容器的3306端口映射到宿主机的3307端口),
-e
用于设置环境变量,这里设置了MySQL的root密码。
4. 连接到MySQL
启动容器后,可以使用以下命令进入MySQL命令行:
dockerexec-it mysql5.7-dev mysql -u root -p
输入密码(上面设置的
123456
)后,即可进入MySQL命令行。
这里输入密码时,不会显示,是正常现象。
5. 创建数据库
在MySQL命令行中,创建一个新的数据库:
CREATEDATABASE my_database;
6. 创建用户并授权
为了从外部连接到MySQL,需要创建一个用户并授权:
CREATEUSER'admin'@'%' IDENTIFIED BY'123456';GRANTALLPRIVILEGESON my_database.*TO'admin'@'%';
FLUSH PRIVILEGES;
这里创建了一个名为
admin
,密码为
123456
的用户,并授权该用户访问
my_database
数据库。
7. 设置远程连接
为了让外部工具(如Navicat)能够连接到MySQL,需要修改MySQL配置,允许远程连接。
首先,退出MySQL命令行,然后重新进入容器并编辑MySQL配置文件:
dockerexec-it mysql5.7-dev bash
接着,编辑
/etc/mysql/my.cnf
文件,找到
[mysqld]
部分,并添加以下内容:
[mysqld]
bind-address = 0.0.0.0
保存并退出编辑器,重启MySQL服务:
docker restart mysql5.7-dev
8. 使用外部工具连接
现在,可以使用任何支持MySQL的客户端工具(如Navicat)连接到数据库。输入宿主机的IP地址和映射的端口(例如,
localhost:3307
),使用步骤6中创建的用户名和密码进行连接。
使用步骤:
我们来创建数据库和表,然后添加一些数据:
- 连接到MySQL:使用以下命令连接到MySQL命令行:
dockerexec-it mysql5.7-dev mysql -u root -p
输入您设置的root密码后,您将进入MySQL命令行界面。 - 创建数据库:在MySQL命令行中,创建一个新的数据库
example_db
:CREATEDATABASE example_db;
- 选择数据库:选择刚刚创建的数据库:
USE example_db;
- 创建表:创建一个名为
users
的表,用于存储用户数据。这里我们假设用户具有id
、username
和email
字段:CREATETABLE users ( id INTAUTO_INCREMENTPRIMARYKEY, username VARCHAR(50), email VARCHAR(100));
- 添加数据:向
users
表中插入一些用户数据:INSERTINTO users (username, email)VALUES('user1','[email protected]'),('user2','[email protected]'),('user3','[email protected]');
- 查看数据:使用
SELECT
语句查看users
表中的所有数据:SELECT*FROM users;
这将检索users
表中所有行的数据,并将其显示在命令行中。
通过这些步骤,您已经成功创建了一个新的数据库,向其中的表添加了一些新数据,并查看了添加的数据。您可以根据您的需要修改这些示例,并探索更多MySQL数据库操作。
版权归原作者 袁公白 所有, 如有侵权,请联系我们删除。