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

镜像下载官网

 Docker Hub Container Image Library | App Containerization

安装mysql  

docker hub上查找mysql镜像

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

1
#拉取<br>docker pull mysql:5.7<br>#查看<br>docker images mysql:5.7 

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

 使用mysql

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

实战

新MySQL建实例并启动

1
docker run -d -p 3306:3306 --privileged=true <br>-v /zzyyuse/mysql/log:/var/log/mysql <br>-v /zzyyuse/mysql/data:/var/lib/mysql<br>-v /zzyyuse/mysql/conf:/etc/mysql/conf.d <br>-e MYSQL_ROOT_PASSWORD=123456 <br>--name mysql <br>mysql:5.7
1
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

查看

1
docker ps

第二种

1
sudo docker pull mysql:5.7

创建实例并启动

1
2
3
4
5
6
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

查看镜像

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
docker ps<br>#进入mysql容器中<br>cd /zzyyuse/mysql/conf<br>#查看<br>ls -l<br>#添加<br>vim my.cnf<br>#插入以下内容[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<br>#保存<br>:wq<br>#查看是否添加成功<br>cat my.cnf<br>#重新启动MySQL容器实例<br>docker restart mysql<br>#进入容器<br>docker exec -it mysql /bin/bash#启动mysql<br>mysql -uroot -p<br>#查看字符隐患<br>show variables like 'character%'#查看所有表<br>show databases;<br>#创建一个db01数据库<br>create database db01;<br>#进入db01<br>use db01;<br>#创建表<br>create table t1(id int,name varchar(20));<br>#添加数据<br>insert into t1 values(1,'z3');<br>#查看t1<br>select * from t1;<br>#退出docker和mysql<br>exit<br>#查看<br>docker ps<br>#删除mysql<br>docker rm -f<br>#查看<br>docker ps测试删完后数据还在不会丢失的情况<br>在安装一次就行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<br><br>

Docker进入mysql容器内部

1
docker exec -it mysql /bin/bash

在这里插入图片描述
查看mysql 位置 ,文件

1
whereis mysql

修改mysql配置文件
在这里插入图片描述
my.cnf 复制内容

1
2
3
4
5
6
7
8
9
10
11
12
13
[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

1
2
docker restart mysql
docker ps -a

docker exec -it 容器ID /bin/bash

1
docker exec -it mysql /bin/bash

开机自动启动

1
docker update mysql  --restart=always

Sonar中myql环境搭建

1
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

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

进入容器

1
docker exec -it mysql5.7 bash

连接数据库

1
mysql -uroot -p123456

创建数据库db_sonar

1
2
3
create database db_sonar character set utf8 collate utf8_general_ci;
 
flush privileges;

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

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

查看mysql容器ip

1
2
3
4
5
6
7
8
9
10
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

  

 

posted @   永远爱芒果  阅读(82)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
点击右上角即可分享
微信分享提示