前言
对新开的centos7服务器进行初始化操作,包括磁盘挂载、端口开放,mysql5.7、mongodb4.0.17 版本的安装
一、初始化要求
1.1 分区
要求:在系统安装时初始化的分区方式为:
1、swap 分区 无要求;
2、/boot 分区 如果有,> 500 M ;如果没有,无所谓。
输入 命令,该命令查看已经挂载的分区详情。查看是否有 boot分区。发现 boot分区的大小大于 500M ,满足要求。
[root@host-10-240-50-80 ~]# df -h
文件系统 容量 已用 可用 已用% 挂载点
devtmpfs 32G 0 32G 0% /dev
tmpfs 32G 0 32G 0% /dev/shm
tmpfs 32G 8.7M 32G 1% /run
tmpfs 32G 0 32G 0% /sys/fs/cgroup
/dev/mapper/centos-root 60G 1.5G 58G 3% /
/dev/vda1 950M 150M 800M 16% /boot
tmpfs 6.3G 0 6.3G 0% /run/user/0
1.2 磁盘挂载方式
要求:选取两种磁盘挂载方式。
1、方式1:只有系统盘,空间都给根分区。
2、方式2:系统盘+数据盘,系统盘50G,数据盘挂载到 /opt 目录
3、不需要文件存储、对象存储。
检查是否有磁盘未被挂载 , 发现有两个磁盘未被挂载上。
使用命令,查看系统盘为 64.4 > 50G,数据盘 536.9 > 500G。
[root@host-10-240-50-80 ~]# fdisk -l
磁盘 /dev/vda:64.4 GB, 64424509440 字节,125829120 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x0009ba37
设备 Boot Start End Blocks Id System
/dev/vda1 * 2048 1953791 975872 83 Linux
/dev/vda2 1953792 125829086 61937647+ 8e Linux LVM
磁盘 /dev/mapper/centos-root:63.4 GB, 63422070784 字节,123871232 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘 /dev/vdb:536.9 GB, 536870912000 字节,1048576000 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
将数据盘 /dev/vdb 挂载到 /opt 目录下。
1、查看磁盘情况
lsblk
2、对 /dev/vdb 进行磁盘分区
fdisk /dev/vdb
3、分区完成后,查看 分区是否成功,发现多了个 vdb1 的分区。
lsblk
4、格式化磁盘并写入文件系统
这里的 ext3 和 ext4都是可以的。
mkfs -t ext3 /dev/vdb1
5、挂载新磁盘到某个节点上,我这里挂载到 /opt 目录
mount /dev/vdb1 /opt
lsblk
6、设置开机自启动
新创建的分区不能开机自动挂载,每次重启机器都需要手动挂载,设置开机自动挂载需要修改 /etc/fstab 文件,在文件最后增加一行。
vim /etc/fstab
/dev/vdb1 /opt ext3 defaults 0 1 // 如果上面用的是 ext3,这里也要用 ext3
1.3 内核参数优化
vim /etc/security/limits.conf
在尾部添加这些内容。
* - nofile 655360
* - as unlimited
* - nproc 2056474
* - fsize unlimited
* - memlock unlimited
ulimit -n 655360
ulimit -u 2056474
vim /etc/sysctl.conf
在尾部添加这些内容
vm.max_map_count=262144
fs.file-max = 6553560
sysctl -p
重启服务器 reboot
查看当前文件打开数变为了 655360
ulimit -n
二、软件安装
2.1 mysql
Mysql 版本:Mysql 5.7.30
安装步骤:
1、首先检查所用的 Linux 是否安装过 mysql
[root@host-10-240-50-170 ~]# rpm -qa | grep -i mysql
[root@host-10-240-50-170 ~]# rpm -qa | grep -i mariadb
[root@host-10-240-50-170 ~]# rpm -e mariadb-libs-5.5.68-1.el7.x86_64 卸载
2、查看 centos7.9 的位数,则去下载 64 位的安装包
[root@host-10-240-50-170 package]# file /bin/ls
/bin/ls: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.32, BuildID[sha1]=aaf05615b6c91d3cbb076af81aeff531c5d7dfd9, stripped
wget https://cdn.mysql.com/archives/mysql-5.7/mysql-5.7.30-linux-glibc2.12-x86_64.tar
3、安装编译软件及环境
yum update
4、解压并重命名为 mysql
[root@host-10-240-50-170 software]# tar -zxvf mysql-5.7.30-linux-glibc2.12-x86_64.tar.gz
[root@host-10-240-50-170 software]# mv mysql mysql-5.7.30
5、进入 安装后的目录,我这里是 /opt/software/mysql-5.7.30,创建数据目录
[root@host-10-240-50-170 mysql-5.7.30]# mkdir data
[root@host-10-240-50-170 mysql-5.7.30]# mkdir log
然后在 data 目录创建 mysqld.pid 文件,在log 目录创建 mysqld.log 文件。
6、创建系统用户组授权
groupadd mysql
useradd -g mysql mysql
[root@host-10-240-50-170 mysql-5.7.30]# chown -R mysql:mysql /opt/software/mysql-5.7.30/
7、初始化数据库,进入 bin 目录
./mysqld --initialize --user=mysql --basedir=/opt/software/mysql-5.7.30 --datadir=/opt/software/mysql-5.7.30/data
注意结尾的是 root的初始密码 csurms<sp4yA
8、Mysql 加入服务
[root@host-10-240-50-170 support-files]# cp /opt/software/mysql-5.7.30/support-files/mysql.server /etc/init.d/mysql
修改配置:
basedir=/opt/software/mysql-5.7.30
datadir=/opt/software/mysql-5.7.30/data
9、配置 my.cnf
[client]
port=3306
default-character-set=utf8mb4
[mysql]
default-character-set=utf8mb4
[mysqld]
character_set_server=utf8mb4
init_connect='SET NAMES utf8mb4'
basedir=/opt/software/mysql-5.7.30
datadir=/opt/software/mysql-5.7.30/data
socket=/tmp/mysql.sock
log-error=/opt/software/mysql-5.7.30/log/mysqld.log
pid-file=/opt/software/mysql-5.7.30/data/mysqld.pid
10、启动 mysql
service mysql start
service mysql stop
11、修改密码
[root@host-10-240-50-170 bin]# cd /opt/software/mysql-5.7.30/bin
[root@host-10-240-50-170 bin]# ./mysql -uroot -p
set password='Root@2022';
flush privileges; ---刷新权限,之后退出重新登录
create user root@'%' identified by 'Root';
grant all privileges on *.* to root@'%' with grant option;
flush privileges;
12、设置开机启动
chkconfig --add mysql
chkconfig mysql on
chkconfig --list # 查看
关闭防火墙,或者开放端口后远程可以访问。
2.2 mongodb
mongodb 的版本在 4.0.17 > 要求的 4.0.9
1、在官网下载安装安装包
wget https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-4.0.17.tgz
2、解压安装包并改名:
[root@host-10-240-50-170 package]# tar -zxvf mongodb-linux-x86_64-4.0.17.tgz -C /opt/software/
[root@host-10-240-50-170 package]# cd /opt/software/
[root@host-10-240-50-170 software]# mv mongodb-linux-x86_64-4.0.17/ mongodb
3、配置 mongodb 的环境变量
vim /etc/profile
export PATH=/opt/software/mongodb/bin:$PATH
4、使配置文件生效
source /etc/profile
5、进入 mongodb 目录,创建几个文件夹
[root@host-10-240-50-170 mongodb]# mkdir -p data/db
[root@host-10-240-50-170 mongodb]# mkdir log
[root@host-10-240-50-170 mongodb]# mkdir etc
在log 目录下创建 mongodb.log 文件
touch mongodb.log
在 etc 目录下创建 mongodb.conf 文件
touch mongodb.conf
6、编辑 mongodb.conf
dbpath=/opt/software/mongodb/data/db # 指定数据存储目录
logpath=/opt/software/mongodb/log/mongodb.log # 指定日志文件存储目录
logappend=true # 使用追加方式写日志
port=27017 # 端口
fork=true # 以守护进程方式运行
auth=true # 启用验证,这个类比新版的 security
bind_ip=0.0.0.0# 允许任意外部地址访问
注意,需要添加 27017 的端口到 防火墙.暂没添加
7、启动 mongodb,进入 bin 目录
mongod --config /opt/software/mongodb/etc/mongodb.conf
8、添加用户
执行 mongo 命令,连接 mongodb 数据库,然后执行以下命令
// 使用admin数据库use admin
// 给admin数据库添加管理员用户名和密码,用户名和密码请自行设置
db.createUser({user:"admin",pwd:"admin@2022",roles:["root"]})
// 验证是否成功,返回1则代表成功db.auth("admin", "admin")
// 切换到要设置的数据库,以test为例use test
// 为test创建用户,用户名和密码请自行设置。db.createUser({user: "test", pwd:
"test", roles: [{ role: "dbOwner", db: "test"}]})
退出,重启 mongdob
三、网络环境端口开放
1、查看防火墙所有开放的端口
firewall-cmd --zone=public --list-ports
2、查看防火墙状态
firewall-cmd --state
3、开放端口。使用permanent 参数,重启后仍然可以使用
firewall-cmd --zone=public --add-port=5673/tcp --permanent
4、查看监听的端口
需要安装 net-tools 工具,yum install -y net-tools
netstat -lnpt
5、查看端口是否开启
firewall-cmd --query-port=80/tcp
6、关闭开启的端口
firewall-cmd --permanent --zone=public --remove-port=80/tcp
7、查看开放的端口
firewall-cmd --list-ports
8、重启防火墙
开放端口后需要重启防火墙
firewall-cmd --reload