centos7.7+docker19.03.8+mysql5.7.29+NavicatforMySQL连接数据库基本操作

### 部署docker

1 yum 包更新到最新
yum  update

2 安装需要的依赖包 yum-util提供yum-config-manager功能,另外两个是devicemapper驱动依赖的。

yum install -y yum-utils  device-mapper-persistent-data  lvm2

3设置yum源
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo

4 安装docker,出现输入的界面都输入y
yum install  -y docker-ce 

5 查看安装版本
docker -v

6 启动并加入开机启动

systemctl start docker
systemctl enable docker

7 查看状态

systemctl status docker


### 部署MySQL

1. 搜索mysql镜像

查看镜像
docker images;

#shell
docker search mysql


2. 拉取mysql镜像

#shell
docker pull mysql:5.7

查看镜像
docker images;


3. 创建容器,设置端口映射、目录映射

查看已经创建容器
docker ps # 查看正在运行的容器
docker ps –a # 查看所有容器

# 在/root目录下创建mysql目录用于存储mysql数据信息

mkdir ~/mysql
cd ~/mysql

#shell
docker run -id \
-p 3308:3306 \
--name=c_mysql \
-v $PWD/conf:/etc/mysql/conf.d \
-v $PWD/logs:/logs \
-v $PWD/data:/var/lib/mysql \
-e MYSQL_ROOT_PASSWORD=123456 \
mysql:5.7

 

4. 进入容器,操作mysql

#shell
docker exec –it c_mysql /bin/bash

mysql -uroot -p123456

###创建数据库及数据表

CREATE DATABASE company;
USE company;

创建包含自增主键字段的 employee 表

CREATE TABLE employee 
(
empno INT AUTO_INCREMENT PRIMARY KEY,
ename VARCHAR(128),
age INT
);

创建包含唯一索引的 manager 表

CREATE TABLE manager 
(
empno INT, 
department TEXT, 
UNIQUE INDEX id_idx(empno)
);

基本数据操作
数据写入操作
INSERT INTO employee (ename, age) VALUES ("Jacky", 36);
INSERT INTO employee (ename, age) VALUES ("Alice", 18);
INSERT INTO manager VALUES (1, "Sales Department");

验证单表查询与排序
SELECT * FROM employee ORDER BY empno ASC LIMIT 1;

验证两表关联功能
SELECT * FROM employee, manager WHERE employee.empno = manager.empno;

验证数据更新能力
UPDATE employee SET ename = "Bob" WHERE empno = 1;

查看数据结果
SELECT * FROM employee;

SELECT * FROM manager;

验证数据删除能力
DELETE FROM employee WHERE empno = 2;

查看数据结果并确认 empno 为 2 的记录被删除;
SELECT * FROM employee;

退出 MySQL Shel
\q

退出容器
exit;

docker stop 容器名称

5. 使用外部机器连接容器中的mysql

使用Navicat for MySQL连接

********************
*General Information
********************
连接名: 192.168.3.12
主机名或 IP 地址: 192.168.3.12
端口: 3308
用户名: root
密码: 123456

 

 

centos7.7+docker19.03.8+mysql5.7.29+NavicatforMySQL连接数据库基本操作