配置原生开发环境(JDK8)
配置原生开发环境(JDK8)
1、安装 JDK 8
注意:通过
yum安装OpenJDK需自己配置环境变量;通过rpm安装Oracle JDK则无需配置环境变量(Oracle JDK官方现在已要求登录后下载)。
# 卸载系统自带或安装过的版本
rpm -qa | grep jdk
rpm -ev 上面搜出来的名字
# 回到主目录,将下载的rpm安装包上传到服务器
cd ~
# 只需一条命令执行安装
rpm -ivh jdk-8u202-linux-x64.rpm
# 测试
java -version
# 删除安装包
rm -rf jdk-8u202-linux-x64.rpm2、安装 MySQL 5.7
(1)检查系统是否安装过 MySQL
rpm -qa|grep mysql
# 查询对应的文件夹,全部删除
whereis mysql
find / -name mysql(2)卸载 CentOS 7 自带的 MariaDB
# 查看系统自带的mariadb有没有安装
[root@VM-16-9-centos java]# yum list installed | grep mariadb
mariadb-libs.x86_64 1:5.5.65-1.el7 @os
# 卸载掉
[root@VM-16-9-centos java]# yum -y remove mariadb*(3)添加 MySQL 的 yum 仓库
cd ~
wget https://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm
rpm -Uvh mysql57-community-release-el7-11.noarch.rpm
rm -rf mysql57-community-release-el7-11.noarch.rpm(4)安装 MySQL
yum -y install mysql-community-server如果出现
Public key for mysql-community-client-5.7.40-1.el7.x86_64.rpm is not installed的提示,因为MySQL的GPG升级了需要重新获取,使用命令:rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2022
==重要的题外话,如果遇到下载慢,可以尝试捷径(参考https://blog.csdn.net/Box_CSDN/article/details/104328918):==
(4.1)Ctrl+Z(可直接Ctrl+C) 终止当前安装并杀掉进程
···
^Z/5): mysql-community-client-5.7.35-1.el7.x8 25% [========= ] 28 kB/s | 52 MB 01:32:36 ETA
[1]+ Stopped yum install mysql-community-server
[root@VM-16-9-centos mysql]#
# 杀掉进程
[root@VM-16-9-centos packages]# ps -ef |grep yum
root 2313 13175 0 01:22 pts/0 00:00:00 grep --color=auto yum
root 24694 13175 0 00:34 pts/0 00:00:06 /usr/bin/python /usr/bin/yum install mysql-community-server
kill -9 24694(4.2)手动在国内镜像仓库下载上一步未完成的两个包
# 通过观察安装过程,发现安装缓存目录为
/var/cache/yum/x86_64/7/mysql57-community/packages
# 下载未完成的2个包为
mysql-community-client-5.7.35-1.el7.x86_64.rpm
mysql-community-server-5.7.35-1.el7.x86_64.rpm
# 选择的国内镜像仓库地址为
http://mirrors.ustc.edu.cn/mysql-ftp/Downloads/
# 在页面里 Ctrl+F 搜这两个包的名字,之后下载即可(4.3)把下载的两个包想办法上传到上面的缓存目录(···/packages)里
一定要杀掉进程才能删除原来不完整的文件,注意xshel7可能有bug,第一次上传会乱码
(4.4)重新执行安装,嗯,巴适~
yum -y install mysql-community-server(5)启动MySQL
service mysqld start
# 如果是EL7(Red Hat Enterprise Linux (EL))平台使用下面的命令(亲测,腾讯云的是这个,下同)
systemctl start mysqld.service(6)查看MySQL服务状态
service mysqld status
# 如果是EL7(Red Hat Enterprise Linux (EL))平台使用下面的命令
systemctl status mysqld.service(7)半路总结,这种安装方式暗地里做了这些事情:
- 安装了MySQL服务
- 生成SSL证书文件并存放在data目录
- 安装有效性密码验证插件并启用
- 本地超级用户root被创建,root用户的密码在日志文件中,使用下面的命令查看密码
[root@VM-16-9-centos local]# grep 'temporary password' /var/log/mysqld.log
2021-07-28T17:40:09.439040Z 1 [Note] A temporary password is generated for root@localhost: C/HVg6oX2r5T(8)修改密码
# 使用上一步生成的密码登录
mysql -uroot -p
# 做任何操作都会提示修改密码才行,所以,改吧
SET PASSWORD = PASSWORD('new password');
alter user 'root'@'localhost' identified by 'new password';
# 改完可以试试用新密码重新登录(9)查看默认编码
mysql> show variables like 'character%';
+--------------------------+----------------------------+
| Variable_name | Value |
+--------------------------+----------------------------+
| character_set_client | utf8 |
| character_set_connection | utf8 |
| character_set_database | latin1 |
| character_set_filesystem | binary |
| character_set_results | utf8 |
| character_set_server | latin1 |
| character_set_system | utf8 |
| character_sets_dir | /usr/share/mysql/charsets/ |
+--------------------------+----------------------------+
8 rows in set (0.00 sec)(10)都修改成utf8
vim /etc/my.cnf
# 在[mysqld]前添加:
[client]
default-character-set=utf8
# 在[mysqld]后添加:
character-set-server=utf8
# 重启服务
systemctl restart mysqld.service
# 再查看编码就都是utf8了(11)配置远程可连接
# 连接到mysql之后,查看所有用户
select user,host from mysql.user;
# 以下适用于5.7版本
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '数据库密码' WITH GRANT OPTION;
# 以下适用于8版本
ALTER USER 'root'@'%' IDENTIFIED WITH 'mysql_native_password' BY '你的密码';
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION;
# 刷新权限
FLUSH PRIVILEGES;参考文章:https://www.huaweicloud.com/articles/0c192367ee485a4405c4b7f9ca4215cd.html
3、安装 Redis
(1)进入官网找到下载路径
官网:https://redis.io/download
示例:https://download.redis.io/releases/redis-5.0.13.tar.gz(2)进入服务器操作如下
cd /usr/local
wget https://download.redis.io/releases/redis-5.0.13.tar.gz
tar -zxvf redis-5.0.13.tar.gz
mv redis-5.0.13 redis
rm -rf redis-5.0.13.tar.gz
cd /usr/local/redis
# 编译
make
# 安装
make PREFIX=/usr/local/redis install
(关键字 PREFIX= 的作用是编译的时候用于指定程序存放的路径。假设不添加该关键字Linux会将可执行文件存放在 /usr/local/bin
目录,库文件会存放在/usr/local/lib目录,配置文件会存放在/usr/local/etc目录,其他的资源文件会存放在usr/local/share目录;
这里指定号目录也方便后续的卸载,直接rm -rf /usr/local/redis 即可删除redis)
# redis配置的路径
/usr/local/redis/redis.conf
# 前台启动(如在配置中设置了daemonize为yes则也是后台启动)
./bin/redis-server ./redis.conf
# 后台启动
./bin/redis-server& ./redis.conf(3)修改配置以便远程访问
注意:在服务器上千万千万要加保护措施,如修改默认端口号或者开启redis的密码验证,不然允许远程随意访问后非常容易被黑,卤煮有这样的血泪史,刚启动redis没有几分钟,便被挖矿病毒pnscan给入侵了,切记!!!
vim /usr/local/redis/redis.conf
# 需要修改的配置如下(改后)
daemonize yes
protected-mode no
port 6388
bind *
requirepass N5vPK7oWSr3qS0zV在redis中常用的配置如下:
| 配置 | 值范围 | 说明 |
|---|---|---|
| daemonize | yes、no | yes表示启用守护进程,默认是no即不以守护进程方式运行。 其中Windows系统下不支持启用守护进程方式运行 |
| port | 指定 Redis 监听端口,默认端口为 6379 | |
| bind | 绑定的主机地址,如果需要设置远程访问则直接将这个属性备注下或者改为bind * 即可, 这个属性和下面的protected-mode控制了是否可以远程访问 | |
| protected-mode | yes 、no | 保护模式,该模式控制外部网是否可以连接redis服务, 默认是yes,所以默认我们外网是无法访问的,如需外网连接rendis服务则需要将此属性改为no。 |
| timeout | 300 | 当客户端闲置多长时间后关闭连接, 如果指定为 0,表示关闭该功能 |
| loglevel | debug、verbose、notice、warning | 日志级别,默认为 notice |
| databases | 16 | 设置数据库的数量,默认的数据库是0。 整个通过客户端工具可以看得到 |
| rdbcompression | yes、no | 指定存储至本地数据库时是否压缩数据, 默认为 yes,Redis 采用 LZF 压缩, 如果为了节省 CPU 时间,可以关闭该选项, 但会导致数据库文件变的巨大。 |
| dbfilename | dump.rdb | 指定本地数据库文件名,默认值为 dump.rdb |
| dir | 指定本地数据库存放目录 | |
| requirepass | 设置 Redis 连接密码,如果配置了连接密码, 客户端在连接 Redis 时需要通过 AUTH <password> 命令提供密码,默认关闭 | |
| maxclients | 0 | 设置同一时间最大客户端连接数,默认无限制, Redis 可以同时打开的客户端连接数为 Redis 进程 可以打开的最大文件描述符数,如果设置 maxclients 0, 表示不作限制。当客户端连接数到达限制时,Redis 会关闭 新的连接并向客户端返回 max number of clients reached 错误信息。 |
| maxmemory | XXX <bytes> | 指定 Redis 最大内存限制,Redis 在启动时会把数据加载到内存中, 达到最大内存后,Redis 会先尝试清除已到期或即将到期的 Key, 当此方法处理 后,仍然到达最大内存设置,将无法再进行写入操作, 但仍然可以进行读取操作。Redis 新的 vm 机制,会把 Key 存放内存, Value 会存放在 swap 区。配置项值范围列里XXX为数值。 |
4、其他安装
以下功能可能有些服务器默认就有,但为了备忘,在此记录
4.1、安装 rz、sz 命令
yum install –y lrzsz4.2、安装 wget 命令
yum install -y wget
