VM虚拟机安装Linux系统,及MySQL、Redis、JDK详细教程
版本信息
CentOS 7
JDK 1.8
MySQL 5.7
Redis 3.x
Linux系统下载:
CentOS 7(网易开源镜像站,可直接用迅雷下载较快)
http://mirrors.163.com/centos/7.9.2009/isos/x86_64/CentOS-7-x86_64-DVD-2009.iso
VM虚拟机安装 Linux
可视化操作需要安装GNOME桌面,不安装则纯Linux命令操作
完成后点击开始安装
然后点击完成配置,等待界面加载
至此,Linux系统安装完成,下次重启系统时一定要使用物理驱动器,否则可能会造成系统启动不了
Linux 安装 JDK
参考博客:Linux安装jdk(两种方式)
打开终端,进入使用 root 用户操作(这样做权限会高,避免很多问题)
[user@localhost ~]$ su root
密码:
[root@localhost user]#
1、下载压缩包到 / 目录下
[root@localhost user]# cd /
[root@localhost /]# wget https://repo.huaweicloud.com/java/jdk/8u201-b09/jdk-8u201-linux-x64.tar.gz
JDK:https://repo.huaweicloud.com/java/jdk/8u201-b09/jdk-8u201-linux-x64.tar.gz(华为开源镜像站)
2、在 /usr/local 目录下创建 java 文件夹,并将下载好的压缩包解压到此文件夹下
[root@localhost /]# mkdir /usr/local/java
[root@localhost /]# tar -zxvf jdk-8u201-linux-x64.tar.gz -C /usr/local/java
3、解压好后,配置系统环境变量,将 JDK路径添加进系统环境变量中
[root@localhost /]# vi /etc/profile
4、编辑好后,使用命令使配置文件生效
[root@localhost /]# source /etc/profile
5、JDK安装完成
Linux 安装 MySQL
参考博客:Linux下安装mysql-5.7.24
安装前要保证系统中未安装过MySQL
检测有无安装MySQL
rpm -qa | grep mysql
若有 直接删除:
rpm -e --nodeps [查询到的名称]
查询所有Mysql对应的文件夹:
whereis mysql
find / -name mysql
若查询出含有MySQL的路径,直接全部删除
rm -rf [路径1] [路径2] ...
1、下载压缩包到 / 目录下
[root@localhost /]# wget http://mirrors.ustc.edu.cn/mysql-ftp/Downloads/MySQL-5.7/mysql-5.7.31-linux-glibc2.12-x86_64.tar.gz
MySQL:http://mirrors.ustc.edu.cn/mysql-ftp/Downloads/MySQL-5.7/mysql-5.7.31-linux-glibc2.12-x86_64.tar.gz(中科大镜像)
2、将压缩包解压到 /usr/local 目录下,并将文件夹命名为 mysql
[root@localhost /]# tar -zxvf mysql-5.7.31-linux-glibc2.12-x86_64.tar.gz -C /usr/local
[root@localhost /]# cd /usr/local
[root@localhost local]# ls
bin etc games include java lib lib64 libexec mysql-5.7.31-linux-glibc2.12-x86_64 sbin share src
[root@localhost local]# mv mysql-5.7.31-linux-glibc2.12-x86_64 mysql
[root@localhost local]# ls
bin etc games include java lib lib64 libexec mysql sbin share src
3、检查mysql用户组和用户是否存在,如果没有,则创建:
[root@localhost local]# cat /etc/group | grep mysql
[root@localhost local]# cat /etc/passwd | grep mysql
[root@localhost local]# groupadd mysql
[root@localhost local]# useradd -r -g mysql mysql
在 mysql 目录下创建 data 文件夹
[root@localhost local]# mkdir /usr/local/mysql/data
更改mysql目录下所有的目录及文件夹所属的用户组和用户,以及权限
[root@localhost mysql]# chown -R mysql:mysql /usr/local/mysql
[root@localhost mysql]# chmod -R 755 /usr/local/mysql
4、编译安装并初始化mysql,务必记住初始化输出日志末尾的密码(数据库管理员临时密码)
[root@localhost mysql]# cd /usr/local/mysql/bin
[root@localhost bin]# ./mysqld --initialize --user=mysql --datadir=/usr/local/mysql/data --basedir=/usr/local/mysql
5、编辑配置文件my.cnf,添加配置
[root@localhost bin]# vi /etc/my.cnf
6、测试启动mysql服务器
[root@localhost bin]# /usr/local/mysql/support-files/mysql.server start
会报错
是因为没有路径,没有文件,也没有权限,所以创建此路径并授权给mysql用户
[root@localhost bin]# mkdir /var/log/mariadb
[root@localhost bin]# touch /var/log/mariadb/mariadb.log
[root@localhost bin]# chown -R mysql:mysql /var/log/mariadb/
再次启动还是会报错
依旧是文件夹不存在,再次创建,并授权
[root@localhost bin]# mkdir /var/lib/mysql
[root@localhost bin]# chown -R mysql:mysql /var/lib/mysql
然后再次启动,启动成功!
7、添加软连接,并重启mysql服务
[root@localhost bin]# ln -s /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql
[root@localhost bin]# ln -s /usr/local/mysql/bin/mysql /usr/bin/mysql
[root@localhost bin]# service mysql restart
可在 /etc/profile 中给PATH加上mysql的路径,这样可以直接使用mysql命令,而不需要以绝对定位的方式使用mysql命令
8、登录mysql,修改密码(密码为初始化生成的临时密码)
[root@localhost bin]# mysql -uroot -pKvdLItEJ1q*P
mysql> set password for root@localhost = password('root');
mysql> flush privileges;
然后退出,使用新密码重新进入数据库
9、设置mysql远程连接
mysql> use mysql;
mysql> update user set host='%' where user='root';
mysql> flush privileges;
10、设置开机自启
将服务文件拷贝到init.d下,并重命名为mysqld
[root@localhost bin]# cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld
赋予可执行权限
[root@localhost bin]# chmod +x /etc/init.d/mysqld
添加服务
[root@localhost bin]# chkconfig --add mysqld
显示服务列表
[root@localhost bin]# chkconfig --list
查看mysqld 3 4 5的服务状态,若没有则开启
[root@localhost bin]# chkconfig --level 345 mysqld on
重启系统
[root@localhost bin]# reboot
重启完成后,查看端口有无监听
[root@localhost bin]# netstat -na | grep 3306
有监听说明开启成功
MySQL安装完成
Linux 安装 Redis
参考博客:linux安装redis 完整步骤
1、下载压缩包到 / 目录下
[root@localhost /]# wget http://download.redis.io/releases/redis-3.2.1.tar.gz
在 /usr/local 目录下创建 redis 文件夹,并将下载好的压缩包解压到此文件夹下
[root@localhost /]# mkdir /usr/local/redis
[root@localhost /]# tar -zxvf redis-3.2.1.tar.gz -C /usr/local/redis
2、进入解压好的目录
[root@localhost /]# cd /usr/local/redis/redis-3.2.1
执行 make 编译
[root@localhost redis-3.2.1]# make
报错gcc、cc命令未找到
说明没有gcc,安装gcc
[root@localhost redis-3.2.1]# yum -y install gcc gcc-c++ libstdc++-devel
等待gcc安装更新完成
再次执行 make 编译,报错
使用命令
[root@localhost redis-3.2.1]# make MALLOC=libc
make 完成,进入 src,执行安装
[root@localhost redis-3.2.1]# cd src
[root@localhost src]# make install PREFIX=/usr/local/redis
移动配置文件到安装目录下
[root@localhost src]# cd ../
[root@localhost redis-3.2.1]# mkdir /usr/local/redis/etc
[root@localhost redis-3.2.1]# mv redis.conf /usr/local/redis/etc
3、配置 redis
[root@localhost redis-3.2.1]# vi /usr/local/redis/etc/redis.conf
设置 redis 后台运行
将 redis 加入到开机启动 (此方法似乎不可行)
[root@localhost redis-3.2.1]# vi /etc/rc.local
开启 redis ,检测redis后台进程是否存在
[root@localhost redis-3.2.1]# /usr/local/redis/bin/redis-server /usr/local/redis/etc/redis.conf
[root@localhost redis-3.2.1]# ps -ef |grep redis
检测 6379 端口是否在监听
[root@localhost redis-3.2.1]# netstat -lntp | grep 6379
将 redis 路径添加到环境变量中
[root@localhost redis-3.2.1]# vi/etc/profile
别忘了使用命令使环境变量生效
[root@localhost redis-3.2.1]# source /etc/profile
设置 redis 密码
开启 redis 远程连接
重启 redis ,使配置生效
[root@localhost /]# redis-server /usr/local/redis/etc/redis.conf
远程连接redis命令
redis-cli -h host -p 6379 -a password
若远程连接不上,请查看防火墙是否关闭,确保防火墙关闭再连接
4、redis 相关命令
//通过配置启动redis
redis-server /usr/local/redis/etc/redis.conf
//停止redis
pkill redis
//卸载redis
rm -rf /usr/local/redis //删除安装目录
rm -rf /usr/local/redis/bin/redis-* //删除所有redis相关命令脚本
5、Linux 防火墙命令
参考博客:Linux关闭防火墙命令
附:
1、若 redis 远程连接上了,但是输入命令执行操作报错
Error: 磁盘在使用中,或被另一个进程锁定。
则需要在本地主机开启一个 redis-cli 执行关闭保护模式
127.0.0.1:6379> config set protected-mode no
2、Redis cli 报错:(error) NOAUTH Authentication required.
原因:进入使用redis库没有填密码,执行命令
127.0.0.1:6379> auth [你的密码]