一个容器=完整Linux
一、Docker安装Mysql
1、启动Docker
1
2
3
4
|
启动: sudo systemctl start docker service docker start 停止:systemctl stop docker 重启:systemctl restart docker |
2、查询mysql
1
|
docker search mysql |
3、安装mysql
1.默认拉取最新版本mysql
1
|
docker pull mysql |
2.拉取指定版本mysql_5.7
1
|
sudo docker pull mysql:5.7 |
4、查看镜像
1
|
docker images |
5、本地创建挂载目录-v
二、Docker启动\使用Mysql
1、启动mysql容器(创建镜像实例)
1.指定版本
1
2
3
4
5
6
|
sudo 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 |
2.最新版本
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:latest |
3.命令含义:容器=完整Linux
1
2
3
4
5
6
7
8
9
|
docker run:在docker中启动一个容器实例 -d:该容器在后台运行 -p 3306:3306:容器与主机映射端口为,主机3306,容器3306 --name mysql:容器运行后的名称 - v /mysqldata/mysql/log : /var/log/mysql :将容器 /var/log/mysql 目录下的数据,备份到主机的 /mysqldata/mysql/log 目录下 - v /mysqldata/mysql/data : /var/lib/mysql :将容器 /var/lib/mysql 目录下的数据,备份到主机的 /mysqldata/mysql/data 目录下 - v /mysqldata/mysql/conf : /etc/mysql :将容器 /etc/mysql 目录下的数据,备份到主机的 mysqldata /mysql/conf 目录下 -e MYSQL_ROOT_PASSWORD=root:设置当前mysql实例的密码为root mysql:5.7:需要运行的容器名称以及版本号 |
2、在var/lib/docker/containers/下查看容器
1
|
cd /var/lib/docker/containers/ |
3、查看mysql进程获取name——mysql名称
1
|
docker ps -a |
4、进入mysql容器—并登陆mysql
1
2
3
4
5
6
7
|
格式:docker exec -it mysql名称 bash 进入mysql容器操作台命令:docker exec -it mysql bash 登录mysql命令:mysql -u root -p 输入密码: |
5、开启远程访问权限
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
|
命令:use mysql; 命令: select host,user from user; 命令:ALTER USER 'root' @ '%' IDENTIFIED WITH mysql_native_password BY '123456' ; 命令:flush privileges; 把root用户的密码改成 mysql_native_password 模式,即可远程连接 #创建一个账号-admin,用来进行远程访问; CREATE USER 'admin' @ '%' IDENTIFIED BY '123456' ; 赋予所有权限给之前创建的账号:admin GRANT ALL ON *.* TO 'admin' @ '%' ; 确认使用密码{123456}登录此账号{admin} 密码尽量复杂,安全性更高。 ALTER USER 'admin' @ '%' IDENTIFIED WITH mysql_native_password BY '123456' ; 刷新权限 FLUSH PRIVILEGES; |
6、查看docker日志
1
|
命令:docker logs -f -- tail 10 a4dac74d48f7 |
7、常用命令
查看进程
1
|
命令:docker ps -a |
关闭docker中mysql容器
1
|
命令:docker stop mysqlserver |
8、 重启docker中mysql重启
重启docker
1
|
命令:systemctl restart docker |
关闭docker
1
|
命令:systemctl stop docker |
自动重启容器
sudo docker update mysql --restart=always
9、移除原来的container ID(就是长长的那串数字)
1
|
docker rm + container ID |
10、退出容器
三、Mysql设置
1、进入容器:
1
2
3
|
命令: docker exec -it mysql bash 命令:mysql -u root -p |
2、定位容器位置:
1
2
|
命令: whereis mysql 显示:mysql: /usr/bin/mysql /usr/lib/mysql /etc/mysql /usr/share/mysql |
3、退出容器:
1
|
exit |
4、找到配置文件夹:一级一级的进入
1
2
3
|
命令: cd /mydata/ 命令: cd mysql/ 命令: cd conf/ |
5、创建配置文件:cnf
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
|
命令: vi my. cnf 命令:i 粘贴内容: [client] default-character- set =utf8 [mysql] default-character- set =utf8 [mysqld] init_connect= ' SET collation_connection = utf8_unicode_ci ' init_connect= ' SET NAMES utf8 ' character- set -server=utf8 collation-server=utf8_unicode_ci skip-character- set -client-handshake skip-name-resolve 按键:ESC 命令::wq |
6、重启容器
1
2
|
命令:docker restart mysql 命令:docker exec -it mysql /bin/bash |
7、进入文件夹
1
2
3
|
目录: cd /etc/mysql/ 展示: ls 查看文件: cat my. cnf |
四、Mysql外部连接
IP:虚拟机IP地址——云主机地址
端口:
名称:
密码:
总结
到此这篇关于Docker安装并使用Mysql的文章就介绍到这了,更多相关Docker安装使用Mysql内容请搜索服务器之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持服务器之家!
原文链接:https://blog.csdn.net/qq_25482375/article/details/126250746