centos安装mongodb

以centos安装mongodb4.2为例

添加yum源

创建repo/etc/yum.repos.d/mongodb-org-4.2.repo,内容为

1
2
3
4
5
6
[mongodb-org-4.2]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/redhat/7Server/mongodb-org/4.2/x86_64/
gpgcheck=1
enabled=1
gpgkey=https://www.mongodb.org/static/pgp/server-4.2.asc

安装mongodb

1
sudo yum install -y mongodb-org

启动mongodb

1
sudo systemctl start mongod

开机运行mongodb

1
sudo systemctl enable mongod

创建用户

1
2
3
mongo 
use admin
db.createUser({user: 'root', pwd: 'root', roles: ['readWriteAnyDatabase']})

修改配置开启认证

1
2
3
4
vi /etc/mongod.conf
# 添加
security:
authorization: enabled

验证登录

1
2
mongosh -u root --authenticationDatabase admin
# 输入密码

linux编译安装gcc

下载指定版本http://ftp.gnu.org/gnu/gcc/

1
wget http://ftp.gnu.org/gnu/gcc/gcc-8.1.0/gcc-8.1.0.tar.xz

解压

1
2
tar -xvf gcc-8.1.0.tar.xz
cd gcc-8.1.0

编译

1
2
3
4
5
6
7
8
9
# 安装依赖
./contrib/download_prerequisites
# 编译目录
mkdir build
cd build
# 配置,安装到/usr/local/gcc目录
../configure --prefix=/usr/local/gcc --enable-languages=c,c++ --disable-multilib
# make
make && make install

2cup+8g大概用了4个小时

加软链接

1
2
3
4
5
6
# 如果有老的版本先备份
sudo mv /usr/bin/gcc /usr/bin/gcc_bak
sudo ln -s /usr/local/gcc/gcc /usr/bin/gcc
# 如果有老的版本先备份
sudo mv /usr/bin/g++ /usr/bin/g++_bak
sudo ln -s /usr/local/gcc/g++ /usr/bin/g++

验证是否安装成功

1
gcc --version

centos7升级gcc.md

centos7默认安装的gcc版本是4.8.5,升级为最新版本

安装centos-release-scl

1
sudo yum install centos-release-scl

查看可安装的devtoolset版本

1
sudo yum search devtoolset

安装对应的版本

1
2
sudo yum install devtoolset-8-gcc
sudo yum install devtoolset-8-gcc-c++

安装devtoolset之后的目录是/opt/rh/devtoolset-8

激活

1
sudo source /opt/rh/devtoolset-8/enable

替换centos是老版本

1
2
3
4
5
6
# 替换gcc
sudo mv /usr/bin/gcc /usr/bin/gcc_bak
sudo ln -s /opt/rh/devtoolset-8/root/bin/gcc /usr/bin/gcc
# 替换g++
sudo mv /usr/bin/g++ /usr/bin/g++_bak
sudo ln -s /opt/rh/devtoolset-8/root/bin/g++ /usr/bin/g++

centos7编译安装python3

安装编译依赖

1
yum install zlib zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gcc make

找到要安装的对应版本https://www.python.org/downloads/source/

下载

1
wget https://www.python.org/ftp/python/3.9.10/Python-3.9.10.tar.xz

解压

1
tar -xvf Python-3.9.10.tar.xz

编译

1
2
3
4
5
6
# 进入解压后的目录
cd Python-3.9.10
# 配置安装目录/usr/local/python3
./configure prefix=/usr/local/python3
# 编译
make && make install

成功之后会生成/usr/local/python3目录

可能的问题:

  • gcc版本太低,需要重新安装高版本的gcc

替换自带的python

1
2
3
4
5
6
# 原python位置
which python
# 备份
mv /bin/python /bin/python_bak
# 重新链接
ln -s /usr/local/python3/bin/python3 /usr/bin/python

替换自带的pip

1
2
3
4
5
6
# 原pip位置
which pip
# 备份
mv /bin/pip /bin/pip_bak
# 重新链接
ln -s /usr/local/python3/bin/pip3 /usr/bin/pip

linux安装golang

下载golang指定版本https://studygolang.com/dl

1
2
3
4
5
6
# 下载
wget https://studygolang.com/dl/golang/go1.17.7.linux-amd64.tar.gz
# 解压
tar -xvf go1.17.7.linux-amd64.tar.gz
# 统一放/usr/local
sudo mv go/ /usr/local/

设置环境变量

.bashrc文件中添加

1
2
export GOROOT=/usr/local/go
export PATH=$PATH:/usr/local/go/bin

激活环境变量

1
source ~/.bashrc

测试安装结果

1
go env

centos安装jenkins遇到的问题

官方网站https://pkg.jenkins.io/redhat-stable/,按着步骤来

第一步

1
sudo wget -O /etc/yum.repos.d/jenkins.repo https://pkg.jenkins.io/redhat-stable/jenkins.repo

不成功,提示错误是

1
2
3
4
5
Resolving pkg.jenkins.io (pkg.jenkins.io)... 151.101.74.133, 2a04:4e42:1a::645
Connecting to pkg.jenkins.io (pkg.jenkins.io)|151.101.74.133|:443... connected.
ERROR: cannot verify pkg.jenkins.io's certificate, issued by ‘/C=US/O=Let's Encrypt/CN=R3’:
Issued certificate has expired.
To connect to pkg.jenkins.io insecurely, use `--no-check-certificate'.

加上--no-check-certificate再试

1
2
3
sudo wget --no-check-certificate -O /etc/yum.repos.d/jenkins.repo https://pkg.jenkins.io/redhat-stable/jenkins.repo
// jenkins.repo会添加到/etc/yum.repos.d/中
cat /etc/yum.repos.d/jenkins.repo

第二步

1
sudo rpm --import https://pkg.jenkins.io/redhat-stable/jenkins.io.key

不成功,提示错误

1
Peer reports incompatible or unsupported protocol version.

需要升级curl包,后再执行

1
yum update -y nss curl libcurl 

安装java

java已安装,跳过

1
2
yum install epel-release
yum install java-1.8.0-openjdk-devel

安装jenkins

1
yum install jenkins

不成功,提示

1
Delta RPMs disabled because /usr/bin/applydeltarpm not installed.

查找applydeltarpm的包

1
yum provides '*/applydeltarpm'
1
2
3
4
5
6
7
Loaded plugins: langpacks                                                                                                                                                                                                                                                                                                                                     
updates/7/x86_64/filelists_db
webtatic/x86_64/filelists_db
deltarpm-3.6-3.el7.x86_64 : Create deltas between rpms
Repo : base
Matched from:
Filename : /usr/bin/applydeltarpm

安装deltarpm

1
yum install -y deltarpm

centos7安装grafana

设置源

1
vi /etc/yum.repos.d/grafana.repo

源文件内容

1
2
3
4
5
6
7
8
9
[grafana]
name = grafana
baseurl = https://packages.grafana.com/oss/rpm
repo_gpgcheck = 1
enabled = 1
gpgcheck = 1
gpgkey = https://packages.grafana.com/gpg.key
sslverify = 1
sslcacert = /etc/pki/tls/certs/ca-bundle.crt

安装

1
yum install grafana

启动

1
systemctl start grafana-server

设为开机启动

1
systemctl enable grafana-server

访问

访问http://localhost:3000

centos7安装mysql

安装

下载地址https://downloads.mysql.com/archives/community/

找到想要的版本

1
2
3
4
5
6
7
8
9
yum install libaio
wget https://downloads.mysql.com/archives/get/p/23/file/mysql-community-server-5.7.34-1.el7.x86_64.rpm
rpm -ivh mysql-community-server-5.7.34-1.el7.x86_64.rpm

# 提示
error: Failed dependencies:
mysql-community-client(x86-64) >= 5.7.9 is needed by mysql-community-server-5.7.34-1.el7.x86_64
mysql-community-common(x86-64) = 5.7.34-1.el7 is needed by mysql-community-server-5.7.34-1.el7.x86_64

提示依赖mysql-community-clientmysql-community-common

1
2
3
4
5
6
7
8
9
10
11
12
13
14
wget https://downloads.mysql.com/archives/get/p/23/file/mysql-community-common-5.7.34-1.el7.x86_64.rpm
rpm -ivh mysql-community-common-5.7.34-1.el7.x86_64.rpm
# 提示和mariadb-libs冲突
file /usr/share/mysql/czech/errmsg.sys from install of mysql-community-common-5.7.34-1.el7.x86_64 conflicts with file from package mariadb-libs-1:5.5.68-1.el7.x86_64
# 查看出来删除掉
rpm -qa|grep mariadb-libs
rpm -e mariadb-libs-5.5.68-1.el7.x86_64 --nodeps
# 再重新安装mysql-community-common

wget https://downloads.mysql.com/archives/get/p/23/file/mysql-community-client-5.7.34-1.el7.x86_64.rpm
rpm -ivh mysql-community-client-5.7.34-1.el7.x86_64.rpm
error: Failed dependencies:
mysql-community-libs(x86-64) >= 5.7.9 is needed by mysql-community-client-5.7.34-1.el7.x86_64

提示依赖mysql-community-libs

1
2
wget https://downloads.mysql.com/archives/get/p/23/file/mysql-community-libs-5.7.34-1.el7.x86_64.rpm
rpm -ivh mysql-community-libs-5.7.34-1.el7.x86_64.rpm

一共需要下面4个文件

  • mysql-community-client-5.7.34-1.el7.x86_64.rpm
  • mysql-community-common-5.7.34-1.el7.x86_64.rpm
  • mysql-community-libs-5.7.34-1.el7.x86_64.rpm
  • mysql-community-server-5.7.34-1.el7.x86_64.rpm

启动

1
2
3
systemctl start mysqld
# 查看状态
systemctl status mysqld

设置密码

如果没有设置密码

1
/usr/bin/mysqladmin -u root password 'xxx'

如果设置了密码

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
# 找到密码
sudo grep 'temporary password' /var/log/mysqld.log
# 登录
mysql -uroot -p
# 修改密码
ALTER USER 'root'@'localhost' IDENTIFIED BY 'MyNewPass4!'

# 出错
ERROR 1819 (HY000): Your password does not satisfy the current policy requirements

# 降低密码强度
set global validate_password_policy=0;
set global validate_password_length=1;

# mysql8,没这两个变量
SHOW VARIABLES LIKE 'validate_password%';
# 改为
set global validate_password.policy=0;
set global validate_password.length=1;
systemctl restart mysqld

centos安装docker

官网步骤

删除旧的

1
2
3
4
5
6
7
8
sudo yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-engine

设置源

1
2
3
4
sudo yum install -y yum-utils
sudo yum-config-manager \
--add-repo \
https://download.docker.com/linux/centos/docker-ce.repo

安装

启用Nightly版

1
sudo yum-config-manager --enable docker-ce-nightly

安装

1
sudo yum install docker-ce docker-ce-cli containerd.io

搜索可用版本

1
yum list docker-ce --showduplicates | sort -r

指定版本

1
sudo yum install docker-ce-<VERSION_STRING> docker-ce-cli-<VERSION_STRING> containerd.io

启动

1
sudo systemctl start docker

验证

1
sudo docker run hello-world