1、前言

最近项目需要搭建maven私服,方便管理后期团队成员使用上传自己的包,因此决定使用nexus来搭建私服,搭建好的nexus地址

2、准备工作

阿里云服务器ECS一台 1核CPU 2G内存(注意:最低为2G,否则运行报错)

3、开始安装

3.1 安装java

java的安装网上的文章好多,不过我是自己写的shell文件安装的,如下:

#!/bin/bash

# jdk install
# 请将下载的jdk-xxx-linux-xxx.tar.gz包与此脚本放置到同一目录
# 授予此脚本可执行权限(chmod +x install_jdk.sh)
# 在终端执行此脚本开始安装(./文件名)
# 注意:不可有多个版本的jdk包!
# 为了使配置的环境变量生效,安装完成后你应该重新登陆。 jvmpath=/usr/local/java
# 不存在
if [ ! -d "$jvmpath" ]; then
echo "正在创建$jvmpath目录"
sudo mkdir $jvmpath
echo "目录$jvmpath创建成功"
fi jdkfile=$(ls | grep jdk-*-linux-*.gz)
jdkdirname="jdk1.8.0_201" if [ ! -f "$jdkfile" ]; then
echo "正在下载jdk请稍等..."
wget --no-cookies --no-check-certificate --header "Cookie: oraclelicense=accept-securebackup-cookie" "https://download.oracle.com/otn-pub/java/jdk/8u201-b09/42970487e3af4f5aa5bca3f542482c60/jdk-8u201-linux-x64.tar.gz"
fi jdkfile=$(ls | grep jdk-*-linux-*.gz) if [ -f "$jdkfile" ]; then sudo tar -zxvf $jdkfile -C /usr/local/java/ echo "安装JDK成功" echo "配置环境变量" mv ~/.bashrc ~/.bashrc.backup.java
cat ~/.bashrc.backup.java >> ~/.bashrc
echo "PATH=\"$PATH:$jvmpath/$jdkdirname/bin\"" >> ~/.bashrc
echo "JAVA_HOME=$jvmpath/$jdkdirname" >> ~/.bashrc
echo "CLASSPATH=.:%JAVA_HOME%/lib/dt.jar:%JAVA_HOME%/lib/tools.jar" >> ~/.bashrc
source ~/.bashrc
echo "配置环境成功" echo "测试是否安装成功"
java -version
echo "安装成功" fi

执行该shell文件,如下所示:

3.2 安装maven

maven安装我也是自己写的shell文件,如果你们不想用我的可以到网上找文章看看吧,下面是我的shell文件:

#!/bin/bash

# maven install

mvnpath=/usr/local/maven
# 不存在
if [ ! -d "$mvnpath" ]; then
echo "正在创建$mvnpath目录"
sudo mkdir $mvnpath
echo "目录$mvnpath创建成功"
fi #apache-maven-3.6
echo "正在下载maven安装包,请稍等..." wget --no-cookies --no-check-certificate --header "Cookie: oraclelicense=accept-securebackup-cookie" "http://211.162.31.136/files/71480000031E20AE/mirrors.hust.edu.cn/apache/maven/maven-3/3.6.0/binaries/apache-maven-3.6.0-bin.tar.gz" mvnfile=$(ls | grep apache*maven-*.gz) if [ -f "$mvnfile" ]; then #这个名字其实就是mvn .tar.gz解压之后的文件夹的名字
mvndirname="apache-maven-3.6.0" #不能加 用'zxvf' 加了 z 就创建了包里面的apace* 文件夹,而我们只要把apace*文件夹下的文件全部解压到 mvnpath里面就好
tar zxvf $mvnfile -C $mvnpath echo "安装maven成功"
echo "配置环境变量" mv ~/.bashrc ~/.bashrc.backup.mvn
cat ~/.bashrc.backup.mvn >> ~/.bashrc echo "PATH=\"$PATH:$mvnpath/$mvndirname/bin\"" >> ~/.bashrc
echo "MAVEN_HOME=$mvnpath/$mvndirname" >> ~/.bashrc source ~/.bashrc echo "配置环境成功"
echo "测试是否安装成功"
mvn -v
echo "安装成功"
else
echo "没有找到maven文件" fi

执行该shell文件,如下所示:

3.3 安装nexus

nexus虽然我也是使用shell文件安装,但有些配置我们还是要手动设置,下面是安装shell文件:

#!/bin/bash
#判断是否是roo用户
if [ $(id -u) != "0" ]; then
echo "Error:You must be root to run this script"
fi #每次使用只需修改自定义内容即可
#自定义用户名和组
Group_Name="nexus"
User_Name="nexus" #自定义nginx变量
Install_Path="/usr/local/nexus"
Version="nexus-3.15.0-01"
Package_Type=".tar.gz" Package=$Version$Package_Type #创建/usr/local/nexus目录
#mkdir /usr/local/nexus
if [ -e $Install_Path ]
then
echo " $Install_Path 目录已经存在."
echo " $Install_Path Directory Already Exists."
else
echo " $Install_Path 目录正在创建."
mkdir $Install_Path
fi #下载nexus 文件
Setup_path="/root/"
cd $Setup_path
wget https://sonatype-download.global.ssl.fastly.net/repository/repositoryManager/3/nexus-3.15.0-01-unix.tar.gz Group_User(){
egrep "^$Group_Name" /etc/group >& /dev/null
if [ $? -ne 0 ]
then
echo "nexus 用户组正在添加."
groupadd $Group_Name
else
echo " The $Group_Name user group already exists."
echo "nexus 用户组已经添加."
fi #判断nexus用户是否存在
egrep "^$User_Name" /etc/passwd >& /dev/null
if [ $? -ne 0 ]
then
echo "nexus 用户正在添加."
useradd -g $Group_Name $User_Name
else
echo "nexus 用户已经添加."
echo " The $User_Name user already exists."
fi
} Group_User # 设置/usr/local/nexus 目录所属组和用户是nexus
chown -R nexus:nexus $Install_Path #判断文件是否存在
if [ -e $Setup_path$Version$Package_Type ]
then
echo "$Package The Package exists."
else
echo "$Package The package does not exist."
fi cd $Setup_path #解压nexus包到/usr/local/nexus
tar -zxvf $Package -C $Install_Path echo '设置环境变量'
mv ~/.bashrc ~/.bashrc.backup.nexus
cat ~/.bashrc.backup.nexus >> ~/.bashrc
echo "NEXUS_HOME=$Install_Path/$Version" >> ~/.bashrc
echo "PATH=\"$PATH:$NEXUS_HOME/bin\"" >> ~/.bashrc # 切换nexus用户
su nexus echo '接下来配置:1、vim bin/nexus.rc run_as_user="nexus"'

安装完成之后,我们到/usr/local/nexus/nexus-3.15.0-01/bin目录下修改nexus文件

# 设置本地jdk目录
INSTALL4J_JAVA_HOME_OVERRIDE="/usr/local/java/jdk1.8.0_201"

接着,我们相同目录下nexus.rc文件,如下

# 指定用户是nexus而不是root,如果是root会出现警告!
run_as_user="nexus"

好了,这样就安装好了,我们访问下网站,注意默认端口是8081,账号:admin,密码:admin123

3.4 免费申请阿里云SSL证书

购买成功之后,配置好域名,我这里的域名是: nexus.awbeci.com,设置好之后等待审核,审核成功之后选择nginx版本并下载证书

下载完成之后是个.zip的压缩包,我们上传到服务器上,使用下面命令:

scp your-cert.zip root@your-server-ip:/your-server-directory

上传成功之后我们等待下一步操作。

3.5 安装nginx并代理nexus 8081端口,同时配置https访问

因为访问网站的时候端口是8081,所以想要使用80端口访问的话,我们就用nginx 80端口代理8081,同时设置https访问

安装nginx 我们还是通过shell文件来安装,如下

#!/bin/bash
#判断是否是roo用户
if [ $(id -u) != "0" ]; then
echo "Error:You must be root to run this script"
fi #每次使用只需修改自定义内容即可
#自定义用户名和组
Group_Name="nginx"
User_Name="nginx" #自定义nginx变量
Install_Path="/usr/local/nginx"
Package_Type=".tar.gz"
Version="nginx-1.15.8"
Package=$Version$Package_Type
Setup_path="/root/"
RPM="nginx" #创建/usr/local/nginx目录
#mkdir /usr/local/nginx
if [ -e $Install_Path ]
then
echo " $Install_Path 目录已经存在."
echo " $Install_Path Directory Already Exists."
else
echo " $Install_Path 目录正在创建."
mkdir $Install_Path
fi #下载nginx 文件
cd $Setup_path
wget http://nginx.org/download/nginx-1.15.8.tar.gz #安装依赖关系
yum group install "Development Tools" "Server Platform Deveopment"
yum install -y curl openssl-devel pcre-devel
Group_User(){
egrep "^$Group_Name" /etc/group >& /dev/null
if [ $? -ne 0 ]
then
echo "nginx 用户组正在添加."
groupadd $Group_Name
else
echo " The $Group_Name user group already exists."
echo "nginx 用户组已经添加."
fi #判断nginx用户是否存在
egrep "^$User_Name" /etc/passwd >& /dev/null
if [ $? -ne 0 ]
then
echo "nginx 用户正在添加."
useradd -g $Group_Name $User_Name
else
echo "nginx 用户已经添加."
echo " The $User_Name user already exists."
fi
} Group_User #判断文件是否存在
if [ -e $Setup_path$Version$Package_Type ]
then
echo "$Package The Package exists."
else
echo "$Package The package does not exist."
fi #编译安装nginx
cd $Setup_path #解压nginx包到/usr/local/nginx
tar -zxvf $Package -C $Install_Path cd $Install_Path cd $Version configure_opts=(
--prefix=$Install_Path
--user=nginx
--group=nginx
--with-http_ssl_module
--with-http_flv_module
--with-http_stub_status_module
--with-http_gzip_static_module
) ./configure ${configure_opts[@]} if [[ $? -eq 0 ]]
then
make && make install
else
echo "编译失败,请重新编译" && exit 1
fi #添加Nginx命令到环境变量
cat >/etc/profile.d/nginx.sh <<EOF
export PATH=/usr/local/nginx/sbin/:$PATH
EOF
source /etc/profile #启动服务
/usr/local/nginx/sbin/nginx
ss -tnlp | grep nginx

安装成功后,我们把一步上传的证书.zip复制到/root文件夹下,并解压缩,如下:

# 创建ssl文件夹
mkdir -p /usr/local/nginx/cert # 把上一步的.zip证书解压并复制到ssl文件夹下
unzip /root/your-cert-package.zip # 解压之后应该是两个文件.pem和.key
# 复制.crt和.key文件到ssl目录下
cp your-cert.crt your-cert.key /usr/local/nginx/cert

设置好之后,接下来我们配置/usr/local/nginx/conf/nginx.conf文件,如下所示:

#user  nobody;
worker_processes 1; #error_log logs/error.log;
#error_log logs/error.log notice;
#error_log logs/error.log info; #pid logs/nginx.pid; events {
worker_connections 1024;
} http {
include mime.types;
default_type application/octet-stream;
client_max_body_size 100m;
client_header_timeout 1m;
client_body_timeout 1m; proxy_connect_timeout 18000; ##修改成半个小时
proxy_send_timeout 18000;
proxy_read_timeout 18000; #log_format main '$remote_addr - $remote_user [$time_local] "$request" '
# '$status $body_bytes_sent "$http_referer" '
# '"$http_user_agent" "$http_x_forwarded_for"'; #access_log logs/access.log main; sendfile on;
#tcp_nopush on; #keepalive_timeout 0;
keepalive_timeout 65; #gzip on; server {
listen 80;
server_name nexus.awbeci.com;
return 301 https://nexus.awbeci.com$request_uri;
#charset koi8-r; #access_log logs/host.access.log main; location / {
proxy_pass http://127.0.0.1:8081; #代理8081端口
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Forwarded-Port $server_port;
}
} # HTTPS server
#
server {
listen 443 ssl;
server_name nexus.awbeci.com; ssl_certificate /usr/local/nginx/cert/nexus.awbeci.com.pem;
ssl_certificate_key /usr/local/nginx/cert/nexus.awbeci.com.key; ssl_session_cache shared:SSL:1m;
ssl_session_timeout 5m; ssl_ciphers HIGH:!aNULL:!MD5;
ssl_prefer_server_ciphers on; location / {
proxy_pass http://127.0.0.1:8081; #代理8081端口
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Forwarded-Port $server_port;
}
} }

这样就成功的配置好了,现在我们重启下nginx,并访问nexus.awbeci.com网站看看

# 重启nginx
/usr/local/nginx/sbin/nginx -s reload

4、开始使用Nexus

4.1 Nexus介绍

这里有一篇文章写得非常好,大家可以看看,我就不特别详细的写介绍了,主要还是告诉你们怎么结合项目使用。

4.2 创建Blob Stores

4.3 创建User

4.4 创建阿里云的代理仓库

然后再public组里面将这个aliyun-proxy仓库加入,排在maven-central之前即可

4.5 创建Host仓库 策略是release

4.6 创建Host仓库 策略是snapshots

创建好之后我们再来Public设置下优先顺序,把刚才加的两个仓库放到aliyun-proxy前面

创建完仓库预览

4.7 配置本地maven settings.xml

提示:两种配置方法,一种是直接配置maven目录下的conf下的settings.xml文件,另外一种是复制该文件到用户目录下的.m2目录,两种方法配置效果是一样的,看个人喜好了,加载顺序是.m2下的settings.xml目录接着是maven config目录下的settings.xml,配置文件如下:

<?xml version="1.0" encoding="UTF-8"?>

<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd"> <pluginGroups>
</pluginGroups> <proxies>
</proxies> <servers>
<!--这里配置我们刚才创建的user用户所对应的releases-->
<server>
<id>releases</id>
<username>user</username>
<password>123456</password>
</server>
<!--这里配置我们刚才创建的user用户所对应的Snapshots-->
<server>
<id>Snapshots</id>
<username>user</username>
<password>123456</password>
</server>
</servers>
<mirrors>
<!-- <mirror>
<id>nexus-aliyun</id>
<mirrorOf>*</mirrorOf>
<name>Nexus aliyun</name>
<url>http://maven.aliyun.com/nexus/content/groups/public</url>
</mirror> -->
<!--这里配置我们线上的public仓库就好-->
<mirror>
<id>nexus</id>
<mirrorOf>*</mirrorOf>
<url>https://nexus.awbeci.com/repository/maven-public/</url>
</mirror>
</mirrors>
</settings>

4.8 配置要上传到nexus项目pom.xml文件

    <packaging>jar</packaging>
<distributionManagement>
<!--配置线上releases仓库地址,只要是正式版本都会上传到该地址(注意要和settings.xml文件里面的配置名称相同)-->
<repository>
<id>releases</id>
<url>https://nexus.awbeci.com/repository/awbeci/</url>
</repository>
<!--配置线上Snapshots仓库地址,只要是快照版本都会上传到该地址(注意要和settings.xml文件里面的配置名称相同)-->
<snapshotRepository>
<id>Snapshots</id>
<url>https://nexus.awbeci.com/repository/awbeci-snapshots/</url>
</snapshotRepository>
</distributionManagement>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.6.1</version>
<configuration>
<source>1.8</source>
<target>1.8</target>
<encoding>UTF-8</encoding>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-deploy-plugin</artifactId>
<version>2.8.2</version>
<executions>
<execution>
<id>deploy</id>
<phase>deploy</phase>
<goals>
<goal>deploy</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
</project>

4.9 编辑并发布jar包

mvn clean && mvn deploy -DskipTests=true

执行完成后,我们到线上看看是否上传成功

可以看到不管是release版本还是snapshot版本都上传并发布成功

4.10 测试发布的包

自己新建一个maven项目,然后引入我们刚才发布的release包

<dependency>
<groupId>com.awbeci</groupId>
<artifactId>awbeci-core</artifactId>
<version>1.0.8-SNAPSHOT</version>
</dependency>


执行该代码,如下所示:

测试成功!!!

4.10 上传第三方包

有两种方式,一种是命令

mvn deploy:deploy-file \
-DgroupId=<group-id> \
-DartifactId=<artifact-id> \
-Dversion=<version> \
-Dpackaging=<type-of-packaging> \
-Dfile=<path-to-file> \
-DrepositoryId=<server-id-settings.xml> \
-Durl=<url-of-the-repository-to-deploy>

另外一种是使用Nexus上传

两种方式结果都是一样,就看你偏向哪种了。

5、总结

1)服务器内存刚开始配置是1CPU 1G 内存,nexus start运行之后报错,升级服务器为2G内存之后就没问题了

2)nexus 默认是8081端口,我们可以修改文件/usr/local/nexus/nexus-3.15.0-01/etc/nexus-default.properties

## DO NOT EDIT - CUSTOMIZATIONS BELONG IN $data-dir/etc/nexus.properties
##
# Jetty section
# 设置成自己想要的端口
application-port=8081
application-host=0.0.0.0
nexus-args=${jetty.etc}/jetty.xml,${jetty.etc}/jetty-http.xml,${jetty.etc}/jetty-requestlog.xml
nexus-context-path=/ # Nexus section
nexus-edition=nexus-pro-edition
nexus-features=\
nexus-pro-feature

值得注意的是不能把端口直接改成80,这样你就不能启动nexus,所以我们是通过nginx 80端口代理8081端口了。

3)nexus 配置内存是在 /usr/local/nexus/nexus-3.15.0-01/bin/nexus.vmoptions

-Xms1200M
-Xmx1200M
-XX:MaxDirectMemorySize=2G
-XX:+UnlockDiagnosticVMOptions
-XX:+UnsyncloadClass
-XX:+LogVMOutput
-XX:LogFile=../sonatype-work/nexus3/log/jvm.log
-XX:-OmitStackTraceInFastThrow
-Djava.net.preferIPv4Stack=true
-Dkaraf.home=.
-Dkaraf.base=.
-Dkaraf.etc=etc/karaf
-Djava.util.logging.config.file=etc/karaf/java.util.logging.properties
-Dkaraf.data=../sonatype-work/nexus3
-Djava.io.tmpdir=../sonatype-work/nexus3/tmp
-Dkaraf.startLocalConsole=false

4)最好自己创建nexus用户,不要使用root用户启动nexus否则会出现警告

WARNING: ************************************************************
WARNING: Detected execution as "root" user. This is NOT recommended!
WARNING: ************************************************************
Starting nexus

5)启动nexus:

/usr/local/nexus/nexus-3.15.0-01/bin/nexus {start|stop|run|run-redirect|status|restart|force-reload}

6、引用

  1. Maven私服Nexus3.x环境构建操作记录
  2. Nexus 3.x Linux环境搭建(手把手) 排坑之旅
  3. Centos7.3安装nexus-3.14.0-04
  4. 搭建nexus3版的maven私服(Centos7环境)
  5. Gitlab+Nexus Maven部署
  6. Linux 使用 Nexus3.x 搭建 Maven 私服指南
  7. maven私服nexus3.x搭建与使用
  8. centos7搭建nexus maven私服
  9. centos7搭建nexus maven私服
  10. Maven Nexus
  11. Nexus 私有仓库搭建与 Maven 集成
  12. Nexus max file descriptors
  13. maven私服nexus3.x环境配置
  14. 搭建Maven私服-Nexus

Nexus安装和使用的更多相关文章

  1. CentOS7 Nexus安装

    CentOS7 Nexus安装 CentOS7 Nexus安装 Download 从Nexus下载nexus-2.11.2-03-bundle.tar.gz Install 安装 上传RPM文件到/t ...

  2. nexus安装实例

    Nexus安装 1.下载Nexus:[笔者版本nexus-2.11.2-03-bundle.tar.gz] 2. 安装nexus [root@localhost local]# pwd /usr/lo ...

  3. 1.Nexus安装与配置

    1.Nexus下载下载地址:http://www.sonatype.org/nexus/go/下载后的文件:nexus-2.11.4-01-bundle.zip安装:直接解压到某个目录即可解压后,会有 ...

  4. ubuntu nexus 安装

    今天公司组织学习使用linux系统搭建nexus maven私服中央仓库,在公司使用centos搭建了一个,回家又用ubuntu搭建一个,主要是为了能熟悉整个流程,现将主要过程总结如下:(PS:楼主是 ...

  5. Nexus安装、使用说明、问题总结

    Nexus安装.使用说明.问题总结 1 . 私服简介 私服是架设在局域网的一种特殊的远程仓库,目的是代理远程仓库及部署第三方构件.有了私服之后,当 Maven 需要下载构件时,直接请求私服,私服上存在 ...

  6. Nexus 安装 使用说明

    1 . 私服简介 私服是架设在局域网的一种特殊的远程仓库,目的是代理远程仓库及部署第三方构件.有了私服之后,当 Maven 需要下载构件时,直接请求私服,私服上存在则下载到本地仓库:否则,私服请求外部 ...

  7. maven私服nexus安装

    maven私服nexus安装 1.nexus特性 1.1.nexus私服实际上是一个javaEE的web 系统 1.2.作用:用来管理一个公司所有的jar包,实现项目jar包的版本统一 1.3.jar ...

  8. Nexus安装与迁移

    Maven registry(maven私有仓库) 配置Java export JAVA_HOME=/software/jdk1.7.0_79 export JRE_HOME=${JAVA_HOME} ...

  9. Nexus 安装教程

    Nexus 安装教程 一. CentOS设置 1. 更换阿里源 curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/ ...

随机推荐

  1. Kali系统改国内源配置和SSH配置

    一.Kali系统更新源 使用官网的虚拟化镜像安装,默认为英文界面,更新源也是官方源.因为官方服务器在国外,速度不是很理想,现在就来改国内源并且更新系统. 1.使用编辑器打开系统源文本(在终端内操作,先 ...

  2. set(集合)的使用方法

    1.普通集合set 直接定义一个set具有动态有序和去重的功效,不再赘述. 如果要实现set时从大到小排序(desc)的,只需要在定义的时候指定“大于符号”,即greater<class> ...

  3. Python知识点复习

    一.列表1.创建一个文件birthday.py,假设你要祝某人生日快乐!首先将年龄存储在变量age中,将姓名存储在变量name中,让程序输出类似“阿明,23岁生日快乐!” 例如:假设你要祝某人生日快乐 ...

  4. oracle用dba创建用户并授权

    参考: https://blog.csdn.net/zhang195617/article/details/5857769 sqlplus中切换用户,如切换到adm用户,命令为:conn adm/12 ...

  5. [算法模板]SOS DP

    [算法模板]SOS DP 正文 SOS-DP(\(\text{Sum over Subsets}\))是用来解决这样的问题的: 其实就是子集和DP.上面每个\(F[mask]\)里面包含了\(mask ...

  6. 第9课 C++异常处理机制

    一. 回顾C++异常机制 (一)概述 1. 异常处理是C++的一项语言机制,用于在程序中处理异常事件(也被称为导常对象). 2. 异常事件发生时,使用throw关键字抛出异常表达,抛出点称为异常出现点 ...

  7. Windows彻底卸载VMWare虚拟机详细步骤

    不能卸载vmware ,原因是VMware的服务在运行中,停止服务就可以卸载了. 点击开始输入[services.msc],然后点击搜索到服务. 找到这个软件的图一的所有项,然后右键它属性. 全部设置 ...

  8. TP-LINK WR703N OpenWrt 无线配网历程

    ① 创建了两个 Interfaces,名字分别为 lan.wlan0 (可自行设定),一个负责连接 PPPoE,一个负责提供 AP 热点. ② 配置 wlan0 相关 ip 地址,该地址为无线网内网地 ...

  9. 2-3-4树(jdk8的TreeMap的红黑树)

    2-3树:插入变成2个节点正常插,变成3个节点就要提升中间节点和分裂子节点,满足:要么没有子节点,要么2个子节点,要么3个子节点. 2-3-4树:插入变成2个不动,插入变成3个不动,插入变成4个提升原 ...

  10. SQL Server ----- 生成sql 脚本

    通过生成sql 脚本进行数据库转移 选中需要进行转移的数据库 点击生成脚本后出现 进入的是简介界面    直接点击下一步 进入到选择对象界面. 按照步骤进行设置     选择你需要的    架构和数据 ...