视频下载利器(一):youtube-dl - 雨月空间站

有时候,我们想珍藏一些Up的视频,当时网站上并没有下载按钮,如何下载呢?可以试试youtube-dl,轻松爬取网络上的视频,并且可以调用FFmpeg,对视频进行转码与合并。

YOUTUBE-DL简介

youtube -dl其实是一个Python插件,也就是“爬虫”。 可以读取页面的视频,进而下载。其下载速度,和视频加载速度相近,但是支持下载的视频多,如:YouTube、优酷、Bilibili等

视频教程

如果有需要,我有做视频教程(喜欢可以投币点赞嗷): Windows辅助搭建视频教程:

https://www.bilibili.com/video/av90914908

Mac/Linux(包括服务器和桌面版):

https://www.bilibili.com/video/av91417196

为什么要用youtube-dl

举个“荔枝”,想下载一下优酷、YouTube视频分享给他人,或者做成PPT内嵌视频,但是这些网站并没有提供下载链接或者明文播放格式?

前提

不同系统不一样,Mac和Linux两个平台类似,Windows相对麻烦一点。

Mac系统端

因为,Mac系统自带python2,所以无需再安装python。

Homebrew

安装homebrew(使用Homebrew安装命令,需要系统支持Git,安装Xcode工具包即可)

/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

Windows端

安装Python

因为Windows端没有自带Python,所以要先去官网安装Python3 Python下载官网:https://www.python.org/downloads/windows/

下载后,安装记得勾选配置环境变量:

检查是否安装成功

win键+R,调出运行,输入cmd后回车,再输入:

1

python

查看是否出现交互式端口:

检查成功,请输入:

1

exit()

退出交互端口。

Linux端

更新apt-get、yum等版本??(一般用Linux的用户应该都有(_;))

安装youtube-dl

Mac系统端

其实可以用和Linux一样的方法,但是既然Mac端,我们就用最简单的方法: 我们使用homebrew安装: 终端输入:

1

brew install youtube-dl

Windows系统端

因为Windows没有类似Homebrew的集大成者,所以我们调用pip安装

1

pip install youtube-dl

Linux系统端

参考youtube-dl在GitHub的项目地址提供的方法“:https://github.com/ytdl-org/youtube-dl 1.下载二进制包:

1

sudo curl -L https://yt-dl.org/downloads/latest/youtube-dl -o /usr/local/bin/youtube-dl

或者:

1

sudo wget https://yt-dl.org/downloads/latest/youtube-dl -O /usr/local/bin/youtube-dl

或者: 直接下载youtube-dl,上传到服务器上/usr/local/bin目录下。 2.赋予权限:

1

sudo chmod a+rx /usr/local/bin/youtube-dl

安装ffmpeg

Youtube-dl可能会用到FFmpeg,建议安装。具体教程可以参考我另外的博文。

使用

以我的bilibili视频:https://www.bilibili.com/video/av47852745 为例子。

列出该“爬虫”支持的网站

终端输入:

1

youtube-dl --list-extractors

列出所有视频格式

1

youtube-dl -F "视频链接"

比如下载我的哔哩哔哩视频: youtube-dl -F https://www.bilibili.com/video/av47852745

下载视频

默认下载(下载最大的文件)

1

youtube-dl “视频链接”

比如下载我的哔哩哔哩视频: youtube-dl https://www.bilibili.com/video/av47852745

从列表中进行下载(接列出所有视频格式)

1

youtube-dl -f “视频编码” “视频链接”

比如下载我的哔哩哔哩视频: youtube-dl -f 2 https://www.bilibili.com/video/av47852745

实测:优酷、YouTube、Bilibili可以用。

PS:科目三的视频就是优酷上下载的。

youtube-dl高阶操作

升级

1

install --upgrade youtube-dl

非直接下载

1

youtube-dl --proxy socks5://"服务器和端口" +“视频链接”

比如,我下载Google 2019: youtube-dl –proxy socks5://127.0.0.1:1086 https://www.youtube.com/watch?v=lyRPyRKHO8M

我的代理地址:127.0.0.1 我的代理端口是1086

下载到指定目录下

1

youtube-dl -o “绝对目录” “视频链接”

比如下载我的哔哩哔哩视频到/Users/mintimate/Downloads下,并命名为aria(会自动补齐后缀名):youtube-dl -o /Users/mintimate/Downloads/aria https://www.bilibili.com/video/av47852745

持续更新~

更多请查看:https://github.com/ytdl-org/youtube-dl/blob/master/README.md#readme

本文转载于网络 如有侵权请联系删除

相关文章

  • Python-opencv读取深度图像

    大家好,又见面了,我是你们的朋友全栈君。由于实验需要用到Kinect2.0采集的深度图像,但是用以下程序读取深度图片的时候显不方便观察temp_img='cup_depth.png' depth_filename=os.path.join(image_dir,depth_img) temp_filename=os.path.join(image_dir,temp_img) imgOri=cv2.imread(depth_filename) cv2.imshow('imgOri',depth) cv2.waitKey(0)复制此时我们需要将程序稍作修改变为:temp_img='cup_depth.png' depth_filename=os.path.join(image_dir,depth_img) temp_filename=os.path.join(image_dir,temp_img) imgOri=cv2.imread(depth_filename,-1) depth=cv2.split(imgOri)[0] dept

  • php之yii2 图片上传插件fileinput使用说明

    在网上搜了很多yii2图片上传插件,感觉这个和bootstrap融合的很好,比较能满足需求,故推荐给大家。在使用过程中踩过不少坑,以下是具体使用说明。本例所适用场景有一个商品表和一个商品图片表,商品图片表和商品表通过商品表ID对应。开始前准备过程$phpcomposer.pharrequirekartik-v/yii2-widget-fileinput"@dev"复制or在composer.json增加"kartik-v/yii2-widget-fileinput":"@dev"复制具体参考https://github.com/kartik-v/yii2-widget-fileinput配置图片上传路径在common/config/bootstrap.php增加Yii::setAlias('@uploadPath',dirname(dirname(__DIR__)).'/upload');复制创建model文件GoodsUploadForm.php目录为backend/models/fo

  • 教你偷偷摸摸在别人静态库干“坏事情”

    摘要这篇文章主要总结一下工作中的一些细节,作为笔录。其实静态库干"坏事情"就是将库里面的函数弱定义。然后再外部重新定义该函数。接管库中函数的操作。下面我以一个小小demo来做演示整个流程。流程:创建两个文件rice.c、rice.h和CMakeLists.txt,然后编译生成librice.a。rice.c文件内容:#include"rice.h" voidrice_func() { printf("ricefunc\n"); } 复制rice.h文件内容:#ifndef__RICE_H #define__RICE_H #include<stdio.h> voidrice_func(); #endif 复制CMakeLists.txt文件内容:SET(LIBRICE_SRCrice.c) ADD_LIBRARY(riceSTATIC${LIBRICE_SRC}) 复制创建文件main.c文件,然后链接静态库。main.c文件内容:#include<rice.h> intmain(intarg

  • dvwa实战-文件上传

    dvwa实战-文件上传漏洞介绍文件上传漏洞可以说是危害很大了,因为可以直接通过此漏洞getshell。漏洞原因简单点说就是由于开发人员或者网站运维人员的一些失误导致用户上传的文件可以被服务器当作脚本(可执行文件)解析执行。但是想要成功利用这个漏洞至少需要满足三个条件: A.有效上传点 B.上传文件能够被解析执行 C.上传的文件能够被访问到low由于我是搭建在wamp环境下的,所以我试着上传一个php的一句话木马。 这里写图片描述 可以看到我们的一句话成功上传,我们尝试用菜刀连接一下 这里写图片描述 成功连接,看来后台没有做任何过滤。我们来看下源码:<?php if(isset($_POST['Upload'])){ //Wherearewegoingtobewritingto? $target_path=DVWA_WEB_PAGE_TO_ROOT."hackable/uploads/"; $target_path.=basename($_FILES['uploaded']['name']); //

  • 漫画:为啥各厂都喜欢考链表的加法?

    今天是小浩算法“365刷题计划”第87天。前几天写了一篇“小白为了面试如何刷题”的文章大受好评。随之而来的是好多小伙伴私下跑来问我“浩哥,你说前200道题很好,但是前两百道题的难度很大,我不会怎么办”这问题我想了一两天。。。好吧,既然你们说难不会。那我干脆就把前两百道题都给你们配上图解,全部安排,这样总可以了吧?牛气冲天有木有,哪个公号主敢这么干的!奥利给,搞起。今儿为大家分享经典面试题目-两数相加。做过的朋友,也不要急着叉掉,不妨借机复习一番。01PART两数相加各数据结构中的“加减乘除”都是很爱考察的内容。第2题:给出两个非空的链表用来表示两个非负的整数。其中,它们各自的位数是按照逆序的方式存储的,并且它们的每个节点只能存储一位数字。如果,我们将这两个数相加起来,则会返回一个新的链表来表示它们的和。您可以假设除了数字0之外,这两个数都不会以0开头。举个例子:输入:(2->4->3)+(5->6->4)输出:7->0->8原因:342+465=807复制(刷完题目,你就又强大了一点点!)02PART算法图解烧饼(哨兵)节点:烧饼节点就是说有一个节

  • Oracle导出的文件为什么用Excel打开是乱码?

    Oracle导出的文件为什么用Excel打开是乱码?1问题现象Oracle字符集是AL32UTF8,查询表中的非英文字符显示正常,但是用utl_file写到CSV文件用Excel打开是乱码。2问题分析首先可以肯定:(1)utl_file写文件是按照二进制输出,不会改变数据的编码,它不受环境变量NLS_LANG控制。(2)数据库中的数据是正常的。那么,Excel错误很可能是Excel本身的问题,测试下用Notepad++打开文件,显示正常,显示格式为UTF8无BOM格式。如果用Notepad++把文件转换成UTF8格式,即加上BOM,再用Excel打开就是正常的了。这说明,Excel不能自动识别UTF8无BOM格式,而utl_file写文件又不会自动写入BOM头(EFBBBF),从而导致了乱码。3解决方案如果需要utl_file导出的UTF8格式的文件用Excel打开没有乱码,可以在文件头加上BOM,在Oracle中可以用chr(15711167)表示。示例代码如下:createorreplaceproceduref_exportdata_ronghe_201209 ( str_in_s

  • 机器学习与深度学习习题集(上)

    本文是SIGAI公众号文章作者编写的机器学习和深度学习习题集(上),是《机器学习-原理、算法与应用》一书的配套产品。此习题集课用于高校的机器学习与深度学习教学,以及在职人员面试准备时使用。为了帮助高校更好的教学,我们将会对习题集进行扩充与优化,并免费提供给高校教师使用。对此感兴趣的在校教师和学生可以通过向SIGAI微信公众号发消息获取。习题集的下半部分、所有题目的答案将在后续的公众号文章中持续给出。第2章数学知识包括微积分,线性代数与矩阵论,概率论与信息论,最优化方法4部分。1.计算下面函数的一阶导数和二阶导数:2.计算下面两个向量的内积:3.计算下面向量的1范数和2范数:4.计算下面两个矩阵的乘积:5.计算下面多元函数的偏导数:6.计算下面多元函数的梯度:7.计算下面多元函数的雅克比矩阵:8.计算下面多元函数的Hessian矩阵:9.计算下面函数的所有极值点,并指明是极大值还是极小值:10.推导多元函数梯度下降法的迭代公式。11.梯度下降法为什么要在迭代公式中使用步长系数?12.梯度下降法如何判断是否收敛?13.推导多元函数牛顿法的迭代公式。14.如果步长系数充分小,牛顿法在每次迭代

  • PageAdmin CMS建站系统http缓存方案的使用

    在使用PageAdminCms做网站时候,启用http缓存可以很大程度提高网站速度和负载,下面介绍一下http缓存的作用是什么?http缓存的作用是提供网站相应速度和负载,用户第一次访问一个页面时,会向服务器发出请求,服务器接受到请求后会对网站进行编译,从数据库读取数据,读取配置文件等流程,最后再输出http响应结果给浏览器,这些流程都是费时的,如果一个页每天几万人访问,同一个页面相同的流程就要重复几万次,这个是很没有必要的,网站要想提高响应速度和负载,我们就要减少很多重复的流程,尽可能的减少服务器编译,读取数据库这些操作,能不能用户向服务器发出请求后省略中间环节,直接输出http响应结果给浏览器呢?答案是可以的。PageAdmincms采用http缓存来解决这个问题,用户第一次打开页面时,最后服务器输出http响应结果给浏览器,同时服务器把响应结果保存一份到服务器缓存区,这样用户第二次访问时直接从缓存区读取页面输出,这样就减少了服务器编译页,读取数据库,读取配置文件等操作。很大程度提升了网站相应速度。1、进入后台,找到系统>>http缓存方案栏目,新建一个缓存方案,如下图

  • 2019年五大网络威胁走势预测

    临近2019,网络世界逐渐变得不太平起来,或许是黑客们开始冲业绩了,又或许是快发年终奖了安全人员们都松懈了?总的来说,大大小小的安全事件,瞬间刷爆了我们的屏幕。作为安全从业者,已经发生的事我们无法改变,只有及时查漏补缺,引以为戒。为了管理日益分散且复杂的网络环境,越来越多的高新科技涌现了出来,但科技着实是把双刃剑,在完成产业数字化革新的同时,也为网络攻击者们提供了更丰富的武器选择,比如AI技术。随着人工智能的发展壮大,越来越多的AI技术被应用于生活生产中的方方面面。曾有专家预测,未来的网络安全中AI的参与度会非常高,甚至能够革新整个安全行业。但不幸的是,黑客们也这么认为。总的来说,时下的网络犯罪与网络安全已然在往相同的方向发展。Fortinet根据当前的网络状况对2019年的网络威胁做了一番预测,列出了五种值得关注的威胁:1.AIFuzzingfuzz也就是我们常说的模糊测试,模糊测试是安全人员在安全测试中常用的技术之一,一般用于发现硬件和软件接口以及应用程序中的漏洞。能够通过将无效、意外或随机的数据注入程序或接口中,然后监控是否出现崩溃、跳转、弹出等现象,能够有效的查找潜在的内存泄露

  • GitHub 上四万 Star 大佬的求职回忆

    作者:CyC2018原文链接:https://www.nowcoder.com/discuss/137593本文作者是牛客网知名大佬CyC2018,在他的GitHub有一个高达40KStar的技术仓库(在所有仓库中排名前五十),可以说在开源项目方面是一骑绝尘的牛人。今天我们分享一下他的求职经历。(最终Offer:百度、阿里、腾讯、头条、网易游戏、华为)下面正文开始!2018,有过迷茫,有过努力,也有很多收获。为了记录这一年以来的感受,于是有了这篇文章。壹 offer一览offer情况经过了长达一年左右的复习,秋招也收到了几个比较满意的Offer,参加面试的都通过了。 百度,企业智能平台;阿里,高德地图,部门已联系,目前还在申报Offer中;腾讯,IEG游戏平台,后台研发,SP;字节跳动,头条后台研发,SSP;华为,CloudBu;网易游戏,梦幻事业部;顺丰科技 贰 前期准备前期准备也是在去年十一月份左右,看着身边两年制的同学经历了长时间而又艰难的秋招,我开始意识到自己应该提前准备了,否则自己的秋招会很惨。本科的时候,虽然学过计算机网络、操作系统和数据结构等课程,而且Leetcode也刷

  • Vue使用render函数渲染组件

    Vue使用render函数渲染组件相关Html:<!DOCTYPEhtml> <htmllang="en"> <head> <metacharset="UTF-8"> <title>render</title> <scriptsrc="../js/vue-2.4.0.js"></script> </head> <body> <divid="app"> </div> <templateid="login"> <h1>这个是登录组件</h1> </template> <script> varlogin={ template:'#login' } varvm=newVue({ el:"#app", data:{}, methods:{}

  • 人工智能,能婴儿乎?

    能不能让人工智能,模仿小孩的学习方式贝叶斯方法观点要随着事实发生改变婴儿大脑的可塑性更强在实践中学习新技能,“在战争中学习战争”共计2882字|建议阅读时间6分钟编者按万维刚老师在其专栏里介绍一篇关于人工智能和婴儿的文章,非常有启发性,今天跟大家分享一下。这几天的一个新闻是Google的人工智能实验室DeepMind,在用AlphaGo打败李世石之后,又研发了一个人工智能系统,其在阅读唇语方面的水平超过了人类专家。它的做法就是用5000个小时的BBC电视节目作素材,对演员说话时候的唇形变动进行数据分析,模式识别,反复训练,看着看着就会了。这种模式的人工智能,我们现在已经很熟悉了。机器翻译也好,疾病诊断也好,基本都是这个思路。表面上看很厉害其实背后并没有多少真正的“智能”,都是大数据训练的结果——就好一个棋手之所以下棋厉害,都是因为他背的棋谱多......非常,非常多。可是如果没有么多素材可以供你训练,你怎么办呢?从这个角度讲,一个4岁的人类小孩的智力就能匹敌于现在任何一个人工智能。所以很多科学家关注的问题是,能不能让人工智能,模仿小孩的学习方式。这就引出了万维刚老师要介绍的本周Inte

  • 哇~ css用这个框架写,也太香了吧~赶紧收藏

    前言又到周五了,是时候该放个大招了。哈哈~~提到CSS想必每个做前端开发的没有不知道的,也没有不会用的。即使是后端开发人员也多少会一点,因为这做Web开发中最最基础的一个知识了。但是在平时写css的时候,很多人又觉得他没点技术含量而且还会占用大量的时间去编写代码。虽然现在出现了很多很香的框架如:bootstrap。还有一些css预处理器如:sass、less、stylus都是为了解决在平时开发中一些问题,提高工作效率。今天给大家介绍一款新的比较火的前端CSS框架:TailwindCSS官网先把官网奉上:https://www.tailwindcss.cn/先来感受两个官网图片:关于安装Tailwindcss有很多种安装方式,也可以和不同的框架进行集成,这里以vue3(vite)为例介绍创建一个vite工程,具体用法参考vite官网npxcreate-vite-appmy-project cdmy-project npminstall复制初始化TailwindCSSnpminstall-Dtailwindcss@npm:@tailwindcss/postcss7-compat@tailw

  • mysql 隐式类型转换_scala的隐式转换

    大家好,又见面了,我是你们的朋友全栈君。 在mysql查询中,当查询条件左右两侧类型不匹配的时候会发生隐式转换,可能导致查询无法使用索引。下面分析两种隐式转换的情况看表结构phone为int类型,name为varcharEXPLAINselect*fromuserwherephone=‘2’EXPLAINselect*fromuserwherephone=2两种情况都可以用到索引,这次等号右侧是’2’,注意带单引号哟,左侧的索引字段是int类型,因此也会发生隐式转换,但因为int类型的数字只有2能转化为’2’,是唯一确定的。所以虽然需要隐式转换,但不影响使用索引,不会导致慢查询EXPLAINselect*fromuserwherename=‘2’这种情况也能使用索引,因为他们本身就是varchar类型EXPLAINselect*fromuserwherename=2因为等号两侧类型不一致,因此会发生隐式转换,cast(index_filedassigned),然后和2进行比较。因为’2’,’2’,’2a’都会转化成2,故MySQL无法使用索引只能进行全表扫描,造成了慢查询的产生。版权声

  • 如何修改DeDe标签Pagelist分页样式详解

    我们在用dede仿站的时候,调用文章列表页的分页时,我们会用到: {dede:pagelistlistitem=”info,index,end,pre,next,pageno”listsize=”5″/} 然而系统默认的解析样式是<li><ahref=’http://’>数字</a></li>,但是有时候我们的目标站的分页样式是<ahref=’http://’>数字</a>。 因为目标站的CSS里面根本没有这对标签的属性值,因此页面就会出现混乱,显然我们不需要<li></li>这对标签,下面我们来说说怎么修改。 首先我们要明白一个理论,DEDE的页面都分动态和静态两种方式显示,显然标签的解析函数也会有两个,分别对应静态和动态页面。 修改列表页的{dede:pagelist/}标签,首先我们要确定自己列表页是动态还是静态的页面。 找到include文件夹内的arc.listview.class.php文件, 如果是动态的,ctrl+F查找functionGetPageLi

  • 【JDK】JDK源码分析-CountDownLatch

    概述   CountDownLatch是并发包中的一个工具类,它的典型应用场景为:一个线程等待几个线程执行,待这几个线程结束后,该线程再继续执行。   简单起见,可以把它理解为一个倒数的计数器:初始值为线程数,每个线程结束时执行减1操作,当计数器减到0时等待的线程再继续执行。   代码分析   CountDownLatch的类签名和主要方法如下: publicclassCountDownLatch{}复制 常用方法为:await()、await(long,TimeUnit)和countDown。其中两个await都是让当前线程进入等待状态(获取资源失败);而countDown方法是将计数器减去1,当计数器为0的时候,那些处于等待状态的线程会继续执行(获取资源成功)。   构造器代码如下: privatefinalSyncsync; publicCountDownLatch(intcount){ if(count<0)thrownewIllegalArgumentException("count<0"); this.

  • java web开发入门二(struts)基于eclispe

    JavaBean  JavaBean, 咖啡豆。JavaBean是一种开发规范,可以说是一种技术。 JavaBean就是一个普通的java类。只有符合以下规定才能称之为javabean: 1)必须提供无参数的构造方法 2)类中属性都必须私有化(private) 3)该类提供公开的getter和setter方法 getName()setName(Stringname) 注意: boolean类型的get方法名称叫 isXXX()方法 publicbooleanisAcitve() JavaBean的作用:用于封装数据,保存数据。 访问javabean只能使用getter和setter方法 JavaBean的使用场景: 1)项目中用到实体对象(entity)符合javabean规范 2)EL表达式访问对象属性。${student.name} 调用getName()方法,符合javabean规范。 3)jsp标签中的属性赋值。setNum(Integernum)。符合javabean规范。 4)jsp页面中使用javabean。符合

  • Linux常用Shell脚本

    在运维中,尤其是linux运维,都知道脚本的重要性,脚本会让我们的运维事半功倍,所以学会写脚本是我们每个linux运维必须学会的一门功课,这里收藏linux运维常用的脚本。如何学好脚本,最关键的是就是大量的练习和实践。根据以下脚本我们可以拓展,这样我们提高的很快!举一反三!   1.用Shell编程,判断一文件是不是字符设备文件,如果是将其拷贝到/dev目录下。 参考程序:   #!/bin/sh  FILENAME=  echo“Inputfilename:”  readFILENAME  if[-c"$FILENAME"]  then  cp$FILENAME/dev  fi复制   2.设计一个shell程序,添加一个新组为class1,然后添加属于这个组的30个用户,用户名的形式为stdxx,其中xx从01到30。 参考答案:   #!/bin/sh  i=1  groupaddclass1  while[$i-le30]  do

  • 【docker】CentOS6.8+Python2.7+selenium+Firefox的搭建

    当前Docker容器配置: Centos6.8 python2.6.6 目标Docker容器配置: Centos6.8 python2.7 selenium3.141.0 geckodriver0.15 firefox52.8.0 Pillow6.1.0 pytesseract0.2.7 安装依赖环境 yuminstall-yzlib-develbzip2-developenssl-develncurses-develsqlite-develreadline-develtk-devellibffi-develgccmakewgetgitunzipgccgcc-c++libjpeg-devellibpng-devellibgif-devel 复制 创建目录存放安装包 mkdir/usr/local/download cd/usr/local/download 复制 安装Python2.7 #安装python2.7 wgethttps://www.python.org/ftp/python/2.7.15/Python-2.7.15.tgz tar-zxvfPython-2.7.15

  • Python-网络编程之mock(模拟)接口开发

    mock接口开发: 1.模拟没有开发好的接口,进行测试 2.给别人提供数据 flask:轻量级的web开发框架 alt+enter:自动导入模块复制 importflask,json server=flask.Flask(__name__)#__name__表示当前的python文件,server表示将当前的python文件当做一个服务 #此句表示下一行定义的函数是一个接口(和函数定义必须挨着写),/login表示接口访问路径,server是上方定义的服务,route('')表示首页 @server.route('/login') defwelcome():#一个函数就是一个接口 data={'code':0,'msg':'登录成功','session_id':'saddhjdgshgdscv'} returnjson.dumps(data,ensure_ascii=False) @server.route('/test') deftest(): data={'code':0,'msg':'test'} returnjson.dumps(data)#表示返回json格式的字符

  • mysql 高可用架构 proxysql 之一 yum安装

    os:centos7.4 mysql:5.7 proxysql:1.4.10 ip规划如下: 192.168.56.101node1(proxysql) 192.168.56.102node2(mysqlmaster) 192.168.56.103node3(mysqlslave) 192.168.56.104node4(mysqlslave) 安装mysql5.7 node2、node3、node4安装mysql5.7software 详细过称略,参考另外一篇博客。 初始化mysql5.7,配置好masterslave node2、node3、node4各个节点先初始化mysql5.7,再配置master/slave master修改密码 mysql>setpasswordfor'root'@'localhost'=password('2wsx3edc'); mysql>flushprivileges;复制 master创建复制用户 mysql>createuser'replicator'@'192.168.56.%'i

相关推荐

推荐阅读