Docker安装MySQL,MySQL挂载本地目录_MuZhi233的博客-程序员秘密_docker mysql 挂载目录

技术标签: linux  mysql  docker  

Docker安装

1、删除Ubuntu中原来的Docker

1.1 全部删除

1.常归删除操作
sudo apt-get autoremove docker docker-ce docker-engine docker.io containerd runc
 
2. 删除docker其他没有没有卸载
dpkg -l | grep docker
dpkg -l |grep ^rc|awk{
    print $2}|sudo xargs dpkg -P # 删除无用的相关的配置文件
 
3.卸载没有删除的docker相关插件(结合自己电脑的实际情况)
sudo apt-get autoremove docker-ce-*
 
4.删除docker的相关配置&目录
sudo rm -rf /etc/systemd/system/docker.service.d
sudo rm -rf /var/lib/docker
 
5.确定docker卸载完毕
docker --version

1.2 快速删除

sudo apt-get purge docker-ce docker-ce-cli containerd.io
 
sudo rm -rf /var/lib/docker

2、安装Docker

2.1 更新、安装依赖

先更新一下
sudo apt-get update
 
安装相应的依赖
sudo apt-get install \
    apt-transport-https \
    ca-certificates \
    curl \
    gnupg-agent \
    software-properties-common

2.2 添加Docker的官方GPG密匙

curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -

2.3 设置一个稳定的仓库

sudo add-apt-repository \
   "deb [arch=amd64] https://download.docker.com/linux/ubuntu \
   $(lsb_release -cs) \
   stable"

2.4 再次更新apt

sudo apt-get update

2.5 安装Docker

sudo apt-get install docker-ce docker-ce-cli containerd.io

2.6 测试是否安装成功

sudo docker run hello-world

#查看所有容器
docker ps -a
#删掉刚才那个容器
docker rm 2a522

在这里插入图片描述

MySQL安装

1、拉取最新的MYSQL镜像

docker pull mysql:5.7

2、镜像查看与删除

#查看镜像
docker images
#删除镜像
docker rmi hello-world

在这里插入图片描述

3、创建MySQL容器

3.1 挂载本地目录

  • 创建本地MySQL映射目录
mkdir -p /root/mysql/data /root/mysql/logs /root/mysql/conf
  • 在/root/mysql/conf中创建 *.cnf 文件
cd /root/mysql/conf
touch my.cnf
  • 创建容器,将数据,日志,配置文件映射到本机
docker run -p 3306:3306 --name mysql -v /root/mysql/conf:/etc/mysql/conf.d -v /root/mysql/logs:/logs -v /root/mysql/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=root -d mysql

3.2 挂载备份目录

docker run -p 3306:3306 --name mysql01 \
-v /root/mysql_data/conf:/etc/mysql/conf.d \
-v /root/mysql_data/data:/var/lib/mysql \
-v /root/mysql_data/logs:/logs \
-e MYSQL_ROOT_PASSWORD=123456 \
-d mysql:5.7

3.3 MySQL设置远程访问

  • 进入容器

    docker exec -it mysql01 /bin/bash
    
  • 进入MySQL

    mysql -uroot -p123456
    
  • 若报错

    若报错Access denied for user 'root'@'localhost' (using password: YES)
    则进行以下步骤:
    在my.cnf文件的[mysqld]这个条目下加入skip-grant-tables保存退出后重启mysql。这句话的意思是跳过验证阶段,在数据库容器中输入mysql -u root -p后,在输入密码的时候可以直接敲回车进入数据库操作界面。
    在终端输入doker exec -it mysql /bin/bash进入到mysql容器的交互命令端。
    在mysql容器交互命令端输入mysql -u root -p后,在输入密码的时候直接敲回车,进入数据库命令交互端。
    进入数据库命令交互端后,依次进行以下操作。
    第一步,选择名为mysql的数据库
    mysql> use mysql;
    
    第二步,为root用户设置密码
    mysql> update user set password=password("新密码") where user="root";   #mysql5.7版之前
    mysql> update mysql.user set authentication_string=password('新密码') where user='root';  #mysql5.7版及之后
    
    第三步,刷新数据库
    mysql> flush privileges;
    
    第四步,退出数据库
    mysql> quit;
    将my.cnf文件的[mysqld]这个条目下的skip-grant-tables删除,保存退出后重启mysql
    再用数据库连接工具进行测试,发现可以成功连接
    
  • 若未报错

    #设置mysql远程权限
    ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '123456';
    #刷新权限
    flush privileges;
    
  • 测试远程访问
    在这里插入图片描述

补充:局域网下Ubuntu间传输文件

1、主从机信息

本机:

​ name:zzk

​ ip:192.168.1.110

从机:

​ name:slave8

​ ip:192.168.1.10

(ip可以通过ifconfig命令查看)

eg:主机拷贝从机的一个文件夹

2、传输文件

scp -r [email protected]:/usr/local/zyh/data/mysql_data_back /root/

scp:拷贝文件命令

-r:表示拷贝的是整个文件夹,如果只拷贝一个文件,则不用-r

[email protected]@192.168.1.10 从机用户名@从机ip 务必先查看文件的权限

/usr/local/zyh/data 要拷贝的文件夹在从机中的路径

/usr/local/zzk 下载到本机的本地的路径

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/MuZhi233/article/details/121354752

智能推荐

application so that it contains a single, compatible version of com.google.gson.GsonBuilder 报错解决办法_whcyaaa的博客-程序员秘密

启动eureka-server模块报错(Gson包冲突):Description:An attempt was made to call a method that does not exist. The attempt was made from the following location: java.lang.invoke.MethodHandleNatives.resolve(Native Method)The following method did not exist:

web app 中物理返回键的监听_bug收集的博客-程序员秘密

使用Vue + Vant 进行web app 的开发,需要处理 android 自带的物理返回键,对不同页面,点击物理返回键进行不同的处理 那如何监听到物理返回键,并进行相应的处理?  app网页返回键 vs 手机物理返回键 网页上的返回键是返回上一个页面的意思,手机上的返回键是返回上一个操作。 并且手机上的返回键还有很多其它功能,在使用某些软件可以双击返回键退出app  Vue 中监听物理返回键 

js通过url地址访问文件做下载,并不是打开文件_小疯子丫的博客-程序员秘密

let url = 'http://127.0.0.1:8080/hhh.json'let name = url.substring(url.lastIndexOf("/") + 1)let downLoad = async () => { let responsePromise = await fetch(url) let blob = await responsePromise.blob() let objectURL = window.URL.createObjectURL(bl

【java毕业设计】基于java+SSH+jsp的物资租赁系统设计与实现(毕业论文+程序源码)——物资租赁系统_毕业设计方案专家的博客-程序员秘密

大家好,今天给大家介绍基于java+SSH+jsp的物资租赁系统设计与实现,文章末尾附有本毕业设计的论文和源码下载地址哦。文章目录:本系统为租赁站提供了一个方便快捷的物资管理系统,方便出租物资的管理。系统功能主要包括:用户管理,包括管理员信息查看、管理员密码修改;正常订单管理:包括新增正常订单、修改有误订单、删除错误订单;资金结算管理:费用统计;材料租赁管理:包括订单出租查询、器材回收管理、日租金管理、仓库库存管理。本系统开发工具采用Myeclipse,数据库设计采用MySQL数据库,开发模式采用JSP为

谈谈java中的集合框架_丨Yuner的博客-程序员秘密

集合框架中的接口。List的主要特点就是有序性和元素的可空性。 ArrayList(数组实现)和LinkedList(双向链表实现)Set主要特性是唯一性。自动排序。HashSet,LinkedHashSet,TreeSetQueue 特性是队列Map健值对 继承自ObjectList,Set,Queue,Map参考链接Set (无序,唯一)HashSet底层数据结构是哈希表哈希表依赖两个方法 hashCode()和equals()执行顺序: 首先判断hashCode()值.

@Valid注解的相关用法_Tess_ty的博客-程序员秘密

2018/11/23这个博主整理了一系列@Valid的用法,感觉很齐,马克【https://blog.csdn.net/weixin_38118016/article/details/80977207】

随便推点

如何调整 Kubernetes 资源限制_新钛云服的博客-程序员秘密

新钛云服已为您服务1438天Kubernetes 资源限制往往是一个难以调整的配置,因为你必须在太严格或者太宽松的限制之间找到最佳的平衡点。通过本文,你可以学习到如何设置正确的 Kubernetes 资源限制:从检测到无限制的容器,到找出你应该在集群中正确配置的 Kubernetes 资源限制。我们假设你使用 Prometheus 来监控你的 Kubernetes 集群。...

LabVIEW学习分享(7)_不吃鱼的小脸猫的博客-程序员秘密

LabVIEW实用总结–多态开关设计小树不修不直溜,人不学习哏揪揪!又到了秋天开学季,也是各大公司的招工旺季,新赛季、新征程。虽然近期的男篮世界杯,让我的许多同事憋气窝火,但比赛的结果再次警醒天朝子民,绝对不要再固步自封、依靠运气,要开眼看世界、认清自己的实力,扎实练好基础,才能有所作为(^-^)V。话不多数,点到为止,且行且珍惜。本文中分享近期本小学生在学习LabVIEW过程中发现并初步解决...

博士毕业最高201万!华为顶级薪酬招“天才少年”_AI科技大本营的博客-程序员秘密

整理 | Jane出品 | AI科技大本营(ID:rgznai100)7 月 23 日,华为总裁办首次向大众公开 2019 届 8 名实行年薪制的顶尖学生的薪酬方案,最高...

在OnCtreate方法或者adapter中获取控件的宽高和位置_yuyan19850204的博客-程序员秘密

private void getViewLeftOffset(final View view) { ViewTreeObserver vto = view.getViewTreeObserver(); vto.addOnGlobalLayoutListener(new OnGlobalLayoutListener() { @Override

Android添加文件打开方式,将你的app加入打开方式_汉堡怪兽的博客-程序员秘密_android 打开方式

如何让自己的软件出现在打开方式的列表中呢? 通过设置AndroidManifest.xml文件即可:<activity android:name=".MainActivity" android:label="@string/app_name" android:launchMode="singleTask" android:screenOrientation="portrait">...

linux节点ssh免密码登录linux节点_at_the_beginning的博客-程序员秘密_linux登陆节点

需求节点A要ssh免密码登录节点B。1.产生密钥节点A和B都要产生秘钥,并且要注意是否在root用户下,登录对象是用户,而不是机器,所以产生密钥前先从root或者其他用户切换到你说需要的用户。然后执行一下命令,然后三次无输入回车确认即可,最终会打印出一个密钥:ssh-keygen -t rsa结果如图:2.节点A将产生的公钥追加到授权列表里cd ~/.sshcat id_rsa.pub >> authorized_keys3.节点A公钥追加到节点B的授权

推荐文章

热门文章

相关标签