Docker安装使用之安装(四)之安装Mysql

镜像下载官网

 Docker Hub Container Image Library | App Containerization

安装mysql  

docker hub上查找mysql镜像

从docker hub上拉取mysql镜像到本地标签为5.7

#拉取
docker pull mysql:5.7
#查看
docker images mysql:5.7 

版本命令可以从docker hub查找的页面进行有一个Tags这就是每一个版本

 使用mysql

#启动
docker run -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.7
#查看
docker ps
#进入容器
docker  exec -it CONTAUNER ID /bin/bash
#启动mysql
mysql -uroot -p
进入进行测试
#查看所有表
show databases;
#创建一个db01数据库
create database db01;
#进入db01
use db01;
#创建表
create table t1(id int,name varchar(20));
#添加数据
insert into t1 values(1,'z3');
#查看t1
select * from t1;
#字符隐患
show variables like 'character%'
#如果不下心删除容器,里面的MySQL数据怎么办
#退出docker和mysql
exit
#查看
docker ps
#删除mysql
docker rm -f
#查看
docker ps

实战

新MySQL建实例并启动

docker run -d -p 3306:3306 --privileged=true 
-v /zzyyuse/mysql/log:/var/log/mysql 
-v /zzyyuse/mysql/data:/var/lib/mysql
-v /zzyyuse/mysql/conf:/etc/mysql/conf.d 
-e MYSQL_ROOT_PASSWORD=123456 
--name mysql 
mysql:5.7
docker run -d -p 3306:3306 --privileged=true -v /zzyyuse/mysql/log:/var/log/mysql -v /zzyyuse/mysql/data:/var/lib/mysql -v /zzyyuse/mysql/conf:/etc/mysql/conf.d -e MYSQL_ROOT_PASSWORD=123456 --name mysql mysql:5.7

查看

docker ps

第二种

Nacos需要

  • 创建自定义网络(用于容器通讯)
docker network create common-network
  • 查看网络
docker network ls
#拉取mysql5.7
sudo docker pull mysql:5.7

创建挂载文件夹

//mysql配置文件 
mkdir -p /mydata/mysql/conf
//mysql数据文件路径 
mkdir –p /mydata/mysql/data
//日志文件路径
mkdir -p /mydata/mysql/logs 

创建实例并启动

docker run  -p 3306:3306  --name mysql \
 -v /mydata/mysql/log:/var/log/mysql \
 -v /mydata/mysql/data:/var/lib/mysql \
 -v /mydata/mysql/conf:/etc/mysql \
 -e MYSQL_ROOT_PASSWORD=root \
-d mysql:5.7

查看镜像

docker ps

#进入mysql容器中

cd /zzyyuse/mysql/conf

#查看

ls -l

#添加

vim my.cnf

#插入以下内容

[client]
default-character-set = utf8

[mysql]
default-character-set = utf8

[mysqld]
init_connect='SET collation_connection = utf8_unicode_ci'
init_connect='SET MANES utf8'
character-set-server = utf8
collation-server = utf8_unicode_ci
skip-character-set-client-handshake
skip-name-resolve
#保存
:wq
#查看是否添加成功
cat my.cnf
#重新启动MySQL容器实例
docker restart mysql
#进入容器
docker exec -it mysql /bin/bash
#启动mysql
mysql -uroot -p
#查看字符隐患
show variables like 'character%'
#查看所有表
show databases;
#创建一个db01数据库
create database db01;

#进入db01
use db01;

#创建表
create table t1(id int,name varchar(20));

#添加数据
insert into t1 values(1,'z3');

#查看t1
select * from t1;
#退出docker和mysql
exit

#查看
docker ps

#删除mysql
docker rm -f

#查看
docker ps
测试删完后数据还在不会丢失的情况
在安装一次就行
docker run  -p 3306:3306  --name mysql \
 -v /mydata/mysql/log:/var/log/mysql \
 -v /mydata/mysql/data:/var/lib/mysql \
 -v /mydata/mysql/conf:/etc/mysql \
 -e MYSQL_ROOT_PASSWORD=root \
-d mysql:5.7

Docker进入mysql容器内部

docker exec -it mysql /bin/bash


查看mysql 位置 ,文件

whereis mysql

修改mysql配置文件


my.cnf 复制内容

[client]
default-character-set = utf8

[mysql]
default-character-set = utf8

[mysqld]
init_connect='SET collation_connection = utf8_unicode_ci'
init_connect='SET MANES utf8'
character-set-server = utf8
collation-server = utf8_unicode_ci
skip-character-set-client-handshake
skip-name-resolve


重启mysql

docker restart mysql
docker ps -a

docker exec -it 容器ID /bin/bash

docker exec -it mysql /bin/bash

开机自动启动

docker update mysql  --restart=always

Sonar中myql环境搭建

docker run --name mysql5.7 -v /data/mysql5.7-data:/var/lib/mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456  -d mysql:5.7

进入容器中创建数据库与用户

进入容器

docker exec -it mysql5.7 bash

连接数据库

mysql -uroot -p123456

创建数据库db_sonar

create database db_sonar character set utf8 collate utf8_general_ci;

flush privileges;

创建数据库用户,用户名密码都为sonar

grant all privileges on db_sonar.* to 'sonar'@'%'identified by 'sonar' with grant option;

flush privileges;

查看mysql容器ip

root@ubuntu:/data# docker exec -it mysql5.7 bash
root@ec7039cd8020:/# 
root@ec7039cd8020:/# cat /etc/hosts
127.0.0.1       localhost
::1     localhost ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
172.17.0.2      ec7039cd8020

结果:

由上面命令可以查到,我的容器ip为172.17.0.2

  

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值