c mysql5.7_CentOS7下MySQL5.7的三种安装方式详解

操作系统环境:

CentOS 7.4最小化安装

[root@node3 src]# cat /etc/redhat-release

CentOS Linux release 7.4.1708 (Core)

[root@node3 ~]# uname -r

3.10.0-693.5.2.el7.x86_64

[root@node3 ~]#

安装版本为:MySQL 5.7.20

一、编译安装MySQL5.7

1、下载源码包

[root@node3 ~]# cd /usr/local/src/

[root@node3 src]# wget https://mirrors.tuna.tsinghua.edu.cn/mysql/downloads/MySQL-5.7/mysql[-boost](http://www.jianshu.com/p/60be30105240)-5.7.20.tar.gz

或者将已经下载好的源码包上传至/usr/local/src目录。因为使用CMake编译Mysql需要boost,所以需要下载mysql-boost-5.7.20.tar.gz包。

[root@node3 src]# tar xf mysql-boost -5.7.20.tar.gz

[root@node3 src]# ll mysql-5.7.20

total 268

drwxr-xr-x2 7161 314154096 Sep 13 23:56BUILD

drwxr-xr-x6 7161 314154096 Sep 13 23:56client

drwxr-xr-x4 7161 314154096 Sep 13 23:56cmake

-rw-r--r--1 7161 31415 26727 Sep 13 23:48 CMakeLists.txt

drwxr-xr-x3 7161 3141521 Sep 13 23:56cmd-line-utils

-rw-r--r--1 7161 31415 13832 Sep 13 23:48 config.h.cmake

-rw-r--r--1 7161 31415 33704 Sep 13 23:48 configure.cmake

-rw-r--r--1 7161 31415 17987 Sep 13 23:48 COPYING

drwxr-xr-x2 7161 31415293 Sep 13 23:56dbug

drwxr-xr-x2 7161 3141580 Sep 13 23:56Docs

-rw-r--r--1 7161 31415 66241 Sep 13 23:48 Doxyfile-perfschema

drwxr-xr-x6 7161 31415309 Sep 13 23:56extra

drwxr-xr-x5 7161 314154096 Sep 13 23:56include

-rw-r--r--1 7161 31415333 Sep 13 23:48INSTALL

drwxr-xr-x5 7161 31415135 Sep 13 23:56 libbinlogevents

drwxr-xr-x3 7161 3141539 Sep 13 23:56libbinlogstandalone

drwxr-xr-x7 7161 314154096 Sep 13 23:56libevent

drwxr-xr-x4 7161 31415297 Sep 13 23:56libmysql

drwxr-xr-x3 7161 31415204 Sep 13 23:56libmysqld

drwxr-xr-x2 7161 314154096 Sep 13 23:56libservices

drwxr-xr-x2 7161 314154096 Sep 13 23:56man

drwxr-xr-x 10 7161 31415303 Sep 13 23:56 mysql-test

drwxr-xr-x2 7161 314154096 Sep 13 23:56mysys

drwxr-xr-x2 7161 31415321 Sep 13 23:56mysys_ssl

drwxr-xr-x 10 7161 31415131 Sep 13 23:56 packaging

drwxr-xr-x 18 7161 314154096 Sep 13 23:56 plugin

drwxr-xr-x4 7161 3141536 Sep 13 23:56rapid

-rw-r--r--1 7161 314152478 Sep 13 23:48README

drwxr-xr-x2 7161 314154096 Sep 13 23:56regex

drwxr-xr-x3 7161 314154096 Sep 13 23:56scripts

drwxr-xr-x7 7161 31415 20480 Sep 13 23:56 sql

drwxr-xr-x2 7161 31415146 Sep 13 23:56sql-common

drwxr-xr-x 14 7161 31415186 Sep 13 23:56 storage

drwxr-xr-x2 7161 314154096 Sep 13 23:56strings

drwxr-xr-x4 7161 31415241 Sep 13 23:56support-files

drwxr-xr-x2 7161 3141598 Sep 13 23:56testclients

drwxr-xr-x5 7161 3141570 Sep 13 23:56unittest

-rw-r--r--1 7161 3141588 Sep 13 23:48VERSION

drwxr-xr-x3 7161 31415298 Sep 13 23:56vio

drwxr-xr-x2 7161 3141532 Sep 13 23:56win

drwxr-xr-x2 7161 314154096 Sep 13 23:56zlib

2、安装cmake编译工具

[root@node3 src]# yum install cmakecmake-gui –y

3、安装bison

[root@node3 src]# yum install bison –y

4、安装libaio-devel

[root@node3 src]# yum install libaio-devel –y

5、安装gcc gcc-c++

[root@node3 debug]# yum install -y gccgcc-c++

6、创建mysql用户

[root@node3 data_3306]# groupadd mysql

[root@node3 data_3306]# useradd -r -g mysql-s /bin/false mysql

7、创建编译目录

在编译目录中编译,可以使MySQL源码目录不受影响。

[root@node3 src]# cd mysql-5.7.20

[root@node3 mysql-5.7.20]# mkdir debug

[root@node3 mysql-5.7.20]# cd debug/

8、使用cmake配置编译环境

[root@node3 debug]#[cmake ..-DBUILD_CONFIG=mysql_release-DINSTALL_LAYOUT=STANDALONE-DCMAKE_BUILD_TYPE=RelWithDebInfo-DENABLE_DTRACE=OFF-DWITH_EMBEDDED_SERVER=OFF -DWITH_INNODB_MEMCACHED=ON -DWITH_SSL=bundled-DWITH_ZLIB=system -DWITH_PAM=ON -](http://www.jianshu.com/p/60be30105240)[DCMAKE_INSTALL_PREFIX=/var/mysql](http://www.jianshu.com/p/60be30105240)-DINSTALL_PLUGINDIR="/var/mysql/lib/plugin" -DDEFAULT_CHARSET=utf8

-DDEFAULT_COLLATION=utf8_general_ci -DWITH_EDITLINE=bundled

-DFEATURE_SET=community -DCOMPILATION_COMMENT="MySQL Server (GPL)"

-DWITH_DEBUG=OFF -DWITH_BOOST=../boost/boost_1_59_0

如果执行完之后,看到下面两行信息,说明配置完成:

-- Configuring done

-- Generating done

此时,在当前目录下生成了Makefile文件,这就是上面CMake配置时生成的,有了Makefile,就可以通过make开始编译源码了。

9、编译mysql

直接在当前目录下执行如下命令:

[root@node3 ~]# make -j 24

后面的参数–j 24是设置了使用24个线程来编译,可以加快编译过程。前提是你服务器的配置非常好了。否则还是直接使用make为好。

看到如下信息说明编译完成:

c5d38d5c4168

image.png

10、安装Mysql

编译完成生,执行下面的命令安装MySQL

[root@node3 ~]# make install

因为在执行CMake时,指定了参数DCMAKE_INSTALL_PREFIX=/var/mysql,所以安装后,所有关于MySQL需要的内容都会安装在该目录下面。

[root@node3 debug]# ll /var/mysql/

total 60

drwxr-xr-x2 root root4096 Dec 10 22:29 bin

-rw-r--r--1 root root 17987 Sep 13 23:48 COPYING

-rw-r--r--1 root root 17987 Sep 13 23:48 COPYING-test

drwxr-xr-x2 root root55 Dec 10 22:28docs

drwxr-xr-x3 root root4096 Dec 10 22:28include

drwxr-xr-x4 root root172 Dec 10 22:29 lib

drwxr-xr-x4 root root30 Dec 10 22:29 man

drwxr-xr-x 10 root root289 Dec 10 22:29 mysql-test

-rw-r--r--1 root root2478 Sep 13 23:48README

-rw-r--r--1 root root2478 Sep 13 23:48README-test

drwxr-xr-x 28 root root4096 Dec 10 22:29 share

drwxr-xr-x2 root root90 Dec 10 22:29support-files

11、安装MySQL库

编译完成后,接着就创建一个新的数据库,对于MySQL5.7,安装方法与之前的版本有所不同,MySQL5.7更简单了,可以直接使用mysqld来安装,要准备一个配置文件,名字默认为my.cnf,

[root@node3 debug]# mkdir data_3306

[root@node3 data_3306]# cat /etc/my.cnf

[mysqld]

port=3306

datadir=/usr/local/mysql/data_3306

log_error=/usr/local/mysql/data_3306/error.log

basedir=/usr/local/mysql [root@node3data_3306]# /usr/local/mysql/bin/mysqld --default-file=/etc/my.cnf --initialize--user=mysql

执行之后,在目录/usr/local/mysql/data_3306下:

[root@node3 mysql]# ll ./data_3306/

total 110632

-rw-r----- 1 mysql mysql56 Dec 11 08:31 auto.cnf

-rw-r----- 1 mysql mysql802 Dec 11 08:31 error.log

-rw-r----- 1 mysql mysql419 Dec 11 08:31 ib_buffer_pool

-rw-r----- 1 mysql mysql 12582912 Dec 1108:31 ibdata1

-rw-r----- 1 mysql mysql 50331648 Dec 1108:31 ib_logfile0

-rw-r----- 1 mysql mysql 50331648 Dec 1108:31 ib_logfile1

drwxr-x--- 2 mysql mysql4096 Dec 11 08:31 mysql

drwxr-x--- 2 mysql mysql8192 Dec 11 08:31 performance_schema

drwxr-x--- 2 mysql mysql8192 Dec 11 08:31 sys

[root@node3 mysql]#

12、启动MySQL

[root@node3 mysql]# /usr/local/mysql/bin/mysqld--user=mysql &

查看进程:

c5d38d5c4168

image.png

我们看到mysql服务已经启动

启动完成之后,我们登录,测试一下:

[root@node3 ~]# /usr/local/mysql/bin/mysql-uroot -p

Enter password:

ERROR 1045 (28000): Access denied for user'root'@'localhost' (using password: NO)

报错了,这是因为MySQL5.7调整了案例策略,新安装数据库之后,默认root密码不是空的了。在启动时随机生成了一个密码,我们可以在error.log里找到。

c5d38d5c4168

image.png

再次登录后,我们发现不能进行任何操作,提示我们要先修改密码:

c5d38d5c4168

image.png

我们必须通过Alter User语句修改密码:

mysql>[alter user](http://www.jianshu.com/p/60be30105240)

'root'@'localhost' identified by "Cflp#?1312";

退出后,重新登录,一切OK了。

c5d38d5c4168

image.png

我们也可以在初始化的时候使用参数设置root为空密码:--initialize-insecure。

13、配置多实例

新建新实例数据目录data_3307及配置文件my-3307.cnf:

[root@node3 ~]# cd /usr/local/mysql/

[root@node3 mysql]# pwd

/usr/local/mysql

[root@node3 mysql]# mkdir data_3307

[root@node3 mysql]# cat /etc/my-3307.cnf

[[mysqld]](http://www.jianshu.com/p/60be30105240)

port=3307

datadir=/usr/local/mysql/data_3307

log_error=/usr/local/mysql/data_3307/error.log

basedir=/usr/local/mysql

创建3307数据库:

[root@node3 mysql]#/usr/local/mysql/bin/mysqld --defaults-file=/etc/my-3307.cnf--initialize-insecure --user=mysql

启动3307数据库服务:

[root@node3 mysql]#/usr/local/mysql/bin/mysqld --defaults-file=/etc/my-3307.cnf --user=mysql--socket=/tmp/mysql-3307.sock &

登录数据库:

[root@node3 mysql]#/usr/local/mysql/bin/mysql -h127.0.0.1 -P3308 -p

Enter password:

Welcome to the MySQL monitor.Commands end with ; or \g.

Your MySQL connection id is 3

Server version: 5.7.20 MySQL Server (GPL)

Copyright (c) 2000, 2017, Oracle and/or itsaffiliates. All rights reserved.

Oracle is a registered trademark of OracleCorporation and/or its

affiliates. Other names may be trademarksof their respective

owners.

Type 'help;' or '\h' for help. Type '\c' toclear the current input statement.

mysql>

这次我们直接登录了,因为我们在初始化数据库的时候用户了:--initialize-insecure参数。

二、二进制方式安装MySQL5.7

1、获取二进制安装包

下载二进制安装包mysql-5.7.20-linux-glibc2.12-x86_64.tar.gz,并上传至/usr/local/src目录

2、创建用户

[root@node3 src]# groupadd mysql

[root@node3 src]# useradd -r -g mysql -s/bin/false mysql

3、安装依赖

[root@node3 src]# yum install libaio –y

4、安装

[root@node3 src]# tar xfmysql-5.7.20-linux-glibc2.12-x86_64.tar.gz

[root@node3 src]# mvmysql-5.7.20-linux-glibc2.12-x86_64 /usr/local/

[root@node3 src]# cd ..

[root@node3 local]# ln -s/usr/local/mysql-5.7.20-linux-glibc2.12-x86_64/ /usr/local/mysql

[root@node3 local]# cd mysql

[root@node3 mysql]# ll

total 36

drwxr-xr-x2 root root4096 Dec 11 20:56bin

-rw-r--r--1 7161 31415 17987 Sep 13 23:48 COPYING

drwxr-xr-x2 root root55 Dec 11 20:56docs

drwxr-xr-x3 root root4096 Dec 11 20:56include

drwxr-xr-x5 root root229 Dec 11 20:56lib

drwxr-xr-x4 root root30 Dec 11 20:56man

-rw-r--r--1 7161 314152478 Sep 13 23:48README

drwxr-xr-x 28 root root4096 Dec 11 20:56 share

drwxr-xr-x2 root root90 Dec 11 20:56support-files

5、初始化MySQL数据库

[root@node3 mysql]# mkdir data_3306

[root@node3 mysql]# vim /etc/my.cnf使用下面的内容

[mysqld]

port=3306

datadir=/usr/local/mysql/data_3306

log_error=/usr/local/mysql/data_3306/error.log

basedir=/usr/local/mysql

[root@node3 mysql]#/usr/local/mysql/bin/mysqld --defaults-file=/etc/my.cnf --initialize--user=mysql

6、启动MySQL

[root@node3 mysql]#/usr/local/mysql/bin/mysqld --user=mysql &

查看进程:

c5d38d5c4168

image.png

我们看到mysql服务已经启动

启动完成之后,我们登录,测试一下:

[root@node3 ~]# /usr/local/mysql/bin/mysql-uroot -p

Enter password:

ERROR 1045 (28000): Access denied for user'root'@'localhost' (using password: NO)

报错了,这是因为MySQL5.7调整了案例策略,新安装数据库之后,默认root密码不是空的了。在启动时随机生成了一个密码,我们可以在error.log里找到。

c5d38d5c4168

image.png

再次登录后,我们发现不能进行任何操作,提示我们要先修改密码:

c5d38d5c4168

image.png

我们必须通过Alter User语句修改密码:

mysql> alter user 'root'@'localhost'identified by "Cflp#?1312";

退出后,重新登录,一切OK了。

c5d38d5c4168

image.png

我们也可以在初始化的时候使用参数设置root为空密码:--initialize-insecure。

三、YUM方式安装MySQL5.7

我们使用清华源来安装:https://mirrors.tuna.tsinghua.edu.cn/mysql/yum/

1、添加YUM仓库

[root@node3 ~]# rpm -ivhhttps://mirrors.tuna.tsinghua.edu.cn/mysql/yum/mysql57-community-el7/mysql57-community-release-el7-10.noarch.rpm

Retrieving https://mirrors.tuna.tsinghua.edu.cn/mysql/yum/mysql57-community-el7/mysql57-community-release-el7-10.noarch.rpm

warning: /var/tmp/rpm-tmp.CQVpW4: Header V3DSA/SHA1 Signature, key ID 5072e1f5: NOKEY

Preparing...#################################[100%]

Updating / installing...

1:mysql57-community-release-el7-10 #################################[100%]

[root@node3 ~]# ll /etc/yum.repos.d/

total 44

-rw-r--r--. 1 root root 1664 Aug 30 23:53CentOS-Base.repo

-rw-r--r--. 1 root root 1309 Aug 30 23:53CentOS-CR.repo

-rw-r--r--. 1 root root649 Aug 30 23:53 CentOS-Debuginfo.repo

-rw-r--r--. 1 root root314 Aug 30 23:53 CentOS-fasttrack.repo

-rw-r--r--. 1 root root630 Aug 30 23:53 CentOS-Media.repo

-rw-r--r--. 1 root root 1331 Aug 30 23:53CentOS-Sources.repo

-rw-r--r--. 1 root root 3830 Aug 30 23:53CentOS-Vault.repo

-rw-r--r--. 1 root root951 Oct3 01:44 epel.repo

-rw-r--r--. 1 root root 1050 Oct3 01:44 epel-testing.repo

-rw-r--r--1 root root 1627 Apr52017 mysql-community.repo

-rw-r--r--1 root root 1663 Apr52017 mysql-community-source.repo

[root@node3 ~]#

2、配置源:

默认情况下:我们刚安装的仓库还是指向官方的源,所以我们需要重新配置:

主要配置三个部分:

c5d38d5c4168

image.png

将上面的地址替换为:

https://mirrors.tuna.tsinghua.edu.cn/mysql/yum/mysql-connectors-community-el7/

c5d38d5c4168

image.png

将上面的地址替换为:

https://mirrors.tuna.tsinghua.edu.cn/mysql/yum/mysql-tools-community-el7/

c5d38d5c4168

image.png

将上面的地址替换为:

https://mirrors.tuna.tsinghua.edu.cn/mysql/yum/mysql57-community-el7/

3、安装

[root@node3 ~]# yum install mysqlmysql-server mysql-devel –y

4、启动

[root@node3 system]# systemctl start mysqld

5、登录:

[root@node3 ~]# /usr/local/mysql/bin/mysql-uroot -p

Enter password:

ERROR 1045 (28000): Access denied for user'root'@'localhost' (using password: NO)

报错了,这是因为MySQL5.7调整了案例策略,新安装数据库之后,默认root密码不是空的了。在启动时随机生成了一个密码,我们可以在error.log里找到。

c5d38d5c4168

image.png

再次登录后,我们发现不能进行任何操作,提示我们要先修改密码:

c5d38d5c4168

image.png

我们必须通过Alter User语句修改密码:

mysql> alter user 'root'@'localhost'identified by "Cflp#?1312";

退出后,重新登录,一切OK了。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/367591.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Struts2 学习之小白开始

Struts2 基础知识学习总结 Struts2 概述:Struts2 是一个用来开发 MVC 应用程序的框架,他提供了 Web 应用程序开发过程中的一些常见问题的解决方案,比如对于用户输入信息合法性的验证,统一的布局,国际化等,既…

机器学习的数学基础 - 信息论

机器学习的数学基础 - 信息论 信息论 信息论本来是通信中的概念,但是其核心思想“熵”在机器学习中也得到了广泛的应用。比如决策树模型ID3,C4.5中是利用信息增益来划分特征而生成一颗决策树的,而信息增益就是基于这里所说的熵。所以它的重要…

了解ElasticSearch分析器

令人遗憾的是,许多早期的互联网啤酒配方不一定采用易于消化的格式。 也就是说,这些食谱是通常在电子邮件或论坛帖子中最初组成的非结构化的方向和成分混合列表。 因此,尽管很难轻松地将这些配方放入传统的数据存储中(表面上看是为…

c++简单程序设计-2

1.验证性实验部分①函数声明和函数定义各自的作用及二者的区别:函数声明就是调用函数之前提示一下有这个函数函数定义就是写一个函数②什么是形参?什么是实参?函数参数和返回值在函数中起到什么作用?函数定义时写的参数叫做形参&a…

java 同步的方法_关于Java中的同步方法

我有一个关于Java中方法同步的问题.考虑一个具有3个同步方法的类.class MyClass{public synchronized void methodA(){ ... }public synchronized void methodB(){ ... }public synchronized void methodC(){ ... }}考虑myObject,myClass的一个实例.以下内容哪些是对的&#xf…

jQuery获取隐藏域和radio单项框的值

获得只有Name的隐藏Input的值$("input[typehidden][name隐藏Input的名称]").val() 或 $("input[name隐藏Input的名称]:hidden").val()radio设值$("input[typeradio][value值]").attr("checked",true);eg.$("input[typeradio][v…

Linux虚机安装配置Tomcat

d第一步:下载Tomcat包,网址http://tomcat.apache.org/ 选择tar.gz包下载,并传到虚机中 第二步:解压下载好的Tomcat包 命令:tar -zxvf apache-tomcat-8.0.53.tar.gz 第三步:配置环境变量 进入到Tomcat下bin包…

Java Comparable接口的陷阱

Java Comparable接口提供了一种对实现该接口的类进行自然排序的方法。 自然顺序对标量和其他非常简单的对象有意义,但是当我们使用面向业务的领域对象时,自然顺序就变得更加复杂。 从业务经理的角度来看,交易对象的自然顺序可以是交易的价值&…

mysql 创建视图

CREATE VIEW v_image_org_user_album AS--创建视图并命名v_image_org_user_album SELECT --先开from中表的命名 a.id AS imgid,--将a表中的id命名为新的表(视图)中的imgid字段,剩下的都一样,就是将之前的字段重新命名到…

jQuery.ajaxPrefilter()函数的使用

jQuery.ajaxPrefilter( [dataTypes ], handler(options, originalOptions, jqXHR) )返回: undefined 描述: 在每个请求之前被发送和 $.ajax()处理它们前处理,设置自定义Ajax选项或修改现有选项。 添加的版本: 1.5jQuery.ajaxPrefilter( [dataTypes ], handler(optio…

linux php自动执行_linux下实现定时执行php脚本

在linux中输入命令复制代码 代码如下:crontab -e然后使用vim的命令编辑打开的文件,输入复制代码 代码如下:0 * * * * /usr/bin/php -f /home/userxxx/update.php保存,退出,好了,现在系统会在每个0点自动执行update.php脚本&#x…

Nginx安装及配置详解

nginx概述 nginx是一款自由的、开源的、高性能的HTTP服务器和反向代理服务器;同时也是一个IMAP、POP3、SMTP代理服务器;nginx可以作为一个HTTP服务器进行网站的发布处理,另外nginx可以作为反向代理进行负载均衡的实现。 这里主要通过三个方面…

Gradle:我们需要另一个构建工具吗?

在Java开发的早期,我们要么没有太多的构建工具需求,要么就使用了其他环境中的工具。 我仍然记得构建shell脚本并创建用于开发Java的文件。 生成文件特别有趣,因为这是一个在设计时就没有考虑Java的工具。 迁移到不同的操作系统环境也很困难。…

servlet简单概括总结

最近在看java web的相关内容,不管是整体还是细节,要学习的知识有很多,所以有一个好的学习体系非常重要。在阅读学习一些博客和教程中关于servlet的内容后,现将知识体系和自己的总结体会进行梳理,希望在更深入理解的同时…

jquery学习之-查找父元素方法parent() parents() closest()的区别

parent()、parents()与closest()方法两两之间有类似又有不同&#xff0c;本篇简短的区分一下这三个方法。通过本篇内容&#xff0c;大家将会在以后使用.parent()、parents()和closest()时不会显得无从下手。 我们直接看例子来来说明一下这三个方法的使用区别&#xff1a; <u…

二叉树的递归遍历与复制

1 #include <iostream>2 3 //定义树的数据结构4 struct BiTNode5 {6 int data;7 struct BiTNode *lchild, *rchild;8 };9 10 typedef struct BiTNode BiTNode;11 typedef struct BiTNode* BiTree;12 13 14 //前序遍历15 void preOrder(BiTNode *root)16 {17…

php超强后门在任意位置创建文件,php大马:.user.ini文件构成的超强PHP后门

这个估计很多同学看了不屑&#xff0c;认为是烂大街的东西了&#xff1a;那么我来个新的吧&#xff1a;。它比用的更广&#xff0c;不管是nginx/apache/IIS&#xff0c;只要是以fastcgi运行的php都可以用这个方法。我的nginx服务器全部是fpm/fastcgi&#xff0c;我的IIS php5.3…

CSS3-字体渐变色

示例&#xff1a;Maugers Blog <!DOCTYPE HTML> <html> <head><meta charset"utf-8"><meta http-equiv"X-UA-Compatible" content"IEedge"><title>Maugers Blog</title><style type"text/css…

Restlet框架– Hello World示例

Restlet是用于Java平台的轻量级&#xff0c;全面的开源REST框架。 Restlet适用于服务器和客户端Web应用程序。 它支持主要的Internet传输&#xff0c;数据格式和服务描述标准&#xff0c;例如HTTP和HTTPS&#xff0c;SMTP&#xff0c;XML&#xff0c;JSON&#xff0c;Atom和WAD…

BZOJ2809 dispatching 【可并堆】

题目分析&#xff1a; yy一下就知道了&#xff0c;合并用可并堆少个log。 代码&#xff1a; 1 #include<bits/stdc.h>2 using namespace std;3 4 const int maxn 102000;5 6 int n,m;7 int b[maxn],c[maxn],l[maxn],sz[maxn];8 long long tot[maxn];9 int dis[maxn],v…