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 -p 3307:3306 -e MYSQL_ROOT_PASSWORD=123456 mysql:5.7
通过docker ps查看状态
这里,--name
指定容器名称,-p
指定端口映射(将容器的3306端口映射到宿主机的3307端口),-e
用于设置环境变量,这里设置了MySQL的root密码。
4. 连接到MySQL
启动容器后,可以使用以下命令进入MySQL命令行:
docker exec -it mysql5.7-dev mysql -u root -p
输入密码(上面设置的123456
)后,即可进入MySQL命令行。
这里输入密码时,不会显示,是正常现象。
5. 创建数据库
在MySQL命令行中,创建一个新的数据库:
CREATE DATABASE my_database;
6. 创建用户并授权
为了从外部连接到MySQL,需要创建一个用户并授权:
CREATE USER 'admin'@'%' IDENTIFIED BY '123456';
GRANT ALL PRIVILEGES ON my_database.* TO 'admin'@'%';
FLUSH PRIVILEGES;
这里创建了一个名为admin
,密码为123456
的用户,并授权该用户访问my_database
数据库。
7. 设置远程连接
为了让外部工具(如Navicat)能够连接到MySQL,需要修改MySQL配置,允许远程连接。
首先,退出MySQL命令行,然后重新进入容器并编辑MySQL配置文件:
docker exec -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命令行:
docker exec -it mysql5.7-dev mysql -u root -p
输入您设置的root密码后,您将进入MySQL命令行界面。
-
创建数据库:在MySQL命令行中,创建一个新的数据库
example_db
:CREATE DATABASE example_db;
-
选择数据库:选择刚刚创建的数据库:
USE example_db;
-
创建表:创建一个名为
users
的表,用于存储用户数据。这里我们假设用户具有id
、username
和email
字段:CREATE TABLE users ( id INT AUTO_INCREMENT PRIMARY KEY, username VARCHAR(50), email VARCHAR(100) );
-
添加数据:向
users
表中插入一些用户数据:INSERT INTO users (username, email) VALUES ('user1', 'user1@example.com'), ('user2', 'user2@example.com'), ('user3', 'user3@example.com');
-
查看数据:使用
SELECT
语句查看users
表中的所有数据:SELECT * FROM users;
这将检索
users
表中所有行的数据,并将其显示在命令行中。
通过这些步骤,您已经成功创建了一个新的数据库,向其中的表添加了一些新数据,并查看了添加的数据。您可以根据您的需要修改这些示例,并探索更多MySQL数据库操作。