LinuxcentOS7基本配置,jdk,mysql,免密登录,xshell密钥登录
Posted Dr.psycho
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了LinuxcentOS7基本配置,jdk,mysql,免密登录,xshell密钥登录相关的知识,希望对你有一定的参考价值。
1.虚拟机的Linux安装的配置
语言简体中文
设置上海时间
分区默认分区
设置root密码
创建用户
root 进行登录是超级管理员,其他用户没有权限进行ip方面的修改
cd 进入下一级的目录当中
当你在任何的目录的时候都可以通过
cd ~ 来返回家的目录
pwd查看当前目录
2.设置Linux网络
1.net模式,通过以太网(网线)方式进行连接
如果虚拟机不能上网则卸载重装.
虚拟机连接的是vm net8
VM net8 有自己特定的ip段.
操作步骤:
回到linux页面(因为用的是centerOS7.x版本所以此命令是固定的)
vi /etc/sysconfig/network-scripts/ifcfg-ens33
IPADDR:对应子网ip:192.168.30.x
这个x如果出现被占用的情况则可以通过修改来实现成功的沟通网络
ESC–>shift+:(英文的冒号)–>wq退出保存
输入命令重启
systemctl restart network.service
ctrl+c退出ping命令
2.桥接模式,通过无线网的方式进行连接
- 右下角右键打开
- 选择桥接模式,cope物理机状态(因为输入法的原因可能会出现英文,请大家谅解)
- 点击编辑–>虚拟网络编辑器
- 更改设置(win7没有的话就跳过此步骤)
- 选择VMent0
- 如下设置
- 然后通过cmd命令查看IP地址和网关,把信息拷贝一份,一会进行配置信息的写入.
- 把以下信息记好,等待写入配置文件当中
- 在linux系统中输入以下命令进行网络的编辑
vi /etc/sysconfig/network-scripts/ifcfg-ens33
新增为对应刚才查询的信息,
IPADDR(IP地址,必须和IPV4地址在同一个网段):
eg:192.168.43.19(这是本机的地址)
192.168.43.30(这是虚拟机的地址)
他们都是43网段的.
NETMASK(子网掩码,必须和本机的相同)
GETEWAY(网关,必须和本机的相同)
DNS1(DHCP服务器,也必须相同)
按esc ,输入英文冒号,然后输入wq回车保存退出
- 添加网关地址
输入指令:
vi /etc/sysconfig/network
- 添加DNS
命令:
vi /etc/resolv.conf
- 重启服务
命令:
systemctl restart network.service
- 测试
ping www.baidu.com
- 测试内网的连接
命令:
ping 192.168.43.30
即虚拟机配置的Ip地址
按ctrl+c退出ping命令
如果这两个都能够ping通则说明配置成功.
3.从net模式切换到桥接模式
以太网配置方法,如果是无线网就按照第二种方式进行配置
请严格按照强封装的步骤来不要自由发挥:
- 关闭所有虚拟机
2.打开:虚拟机–>设置
3.打开虚拟网络编译器,还原默认设置
4.进行网络的配置
打开虚拟机,输入指令编辑网络
vi /etc/sysconfig/network-scripts/ifcfg-ens33
打开之后需要进行编译的是
BOOTPROTO=static
ONBOOT=yes
更改网段:
win+r–>cmd–>ipconfig/all
在此输入ipconfig/all查询ip地址
找到首选项
Ipv4地址对应 IPADDR
子网掩码 对应 NETMASK
默认网关 对应 GATEWAY
DNS服务器 对应 DNS1
在刚才的网络配置中进行添加/修改
vi /etc/sysconfig/network-script/ifcfg-ens33
5.测试
重启服务
systemctl restart network
测试网络的连接
ping www.baidu.com
ping 配置的本地ip
ctrl+c退出
3.快照的拍摄
保存当前操作,相当于备份,然后恢复到当前的状态.
4.克隆
如果要使用克隆则必须要进行挂起或关闭
指令:
init 0
然后进入向导,下一步,下一步
起一个名字,然后选一个位置进行克隆
5.导入虚拟机
把文件复制到指定的位置,然后
打开虚拟机
vmx是启动程序
我已移动该虚拟机/cope该虚拟机
已知的用户名:root
已知的密码:hadoop
6.创建用户
useradd jack
passwd jack
怎么切换用户:
su jack 切换到jack账户
cd 进入xx目录
pwd 查看当前的目录路径
ls 查看当前的目录结构
dev目录 用于存放设备文件
root下的目录
lib是c和c++的库
mnt:挂载
7.SecureCRT(远程连接工具) & SecureFX(FTP工具)
下载工具和注册机文件
教程:
- 安装完上述的工具之后把学习交流文件相对应的粘入对应的根目录中
这时候不要关闭这个窗口
双击应用程序–>Enter license Data–>下一步
选择accept&save
测试:是否连接成功
注册SecureFX:
同样把注册机文件放在SecureFX的根目录下:
双击打开SecureFX
8.免密登录
需要用到两台虚拟机,分别为A和B
操作步骤:
- A配置公钥
- A把公钥拷贝到B
- A能实现登录B
- 输入B的密码校验,并重启
- B把公钥拷贝到A
- B能实现登录A
9.压缩包的解压和传递
1. 在本地系统找到压缩包并放到虚拟机上
2. 在图形化界面上进行目录的切换和查看,证明直接挪取是有效的
图一是目录的切换;图二多了查看当前目录
3. 检验unzip命令是否成功运行,并调整编码集
4. 安装依赖
命令: yum install -y unzip
5. 解压文件
(在当前目录中有的文件名,可以通过ls查看是否在当前目录中有无此文件)
命令: unzip 文件名
6.虚拟机A拉取B的文件
因为配置了免密登录所以可以直接进行拉取
命令:scp -r root@CentOS2:/home/apache-tomecat-9.0.45 .
@后是主机名也可以输入ip地址
:后是路径名/文件名
最后那个. 代表拉取到当前目录
10.JDK的环境配置
-
jdk的解压:
tar -zxvf 文件名(输入jdk 按tab键自动补齐)tar -zxvf 文件名 -C /目录(就能解压到指定的目录当中)
tar -zxvf 文件名 . (解压到当前目录)
然后进入到home目录中
cd /home -
进入JDK目录中:
- 设置环境变量:命令vim /etc/profile (vim命令如果没有通过 yum install -y vim 指令进行下载,这个指令告诉我们,缺什么都可以找yum要,所以一定要牢记)
- 进入到目录最末行:大写G进入目录最末行
export JAVA_HOME=/home/jdk1.8.0_231
export CLASSPATH=.:$JAVA_HOME/lib/tools.jar:$JAVA_HOME/jre/lib/rt.jar
export PATH=$PATH:$JAVA_HOME/bin
-
保存退出并让配置生效,wq保存退出,然后再输入:source /etc/profile 让java环境变量生效.
-
生效效果图,输入指令: java -version
11.linux centos7 安装配置 mysql-5.7.21(解压版)
前言:
1.一定要准确的看好目录位置,如果出现找不到目录文件则用ls命令查看目录中到底有没有该文件夹,如果没有该文件夹,则参考截图进行目录的转换.
2.检查版本一定要对应,最起码大版本要对应.mysql-8.x就不一定能够通过此方法成功实现.
3.linux版本的mysql压缩包:
链接:https://pan.baidu.com/s/1giW2JA0uN_yyv4mpAAdm6w
提取码:6666
4.如果遇到任何的问题请务必回来查找附加选项.
附加1:如果向通过控制台登录进入mysql,必须进入/usr/local/mysql(文件名)/bin 目录当中才能访问,并且需要通过此命令进行访问 ./mysql -uroot -p
因为我们指定了mysql权限和主目录入口所以要通过此方法进行访问.
附加2:生成的临时密码请务必妥善保存到密码修改之前
附加3:请务必按照本文中的目录进行访问,容易混淆的地方在于查找bin目录,可能在进入bin目录时候没有查找到文件,请确保此bin目录是在mysql(全名mysql-5.7.21)目录下的bin.因为测试中会不停的变换目录的位置,请在粘贴代码的同时参考图中的位置进行有效的粘贴使用.
- 检查是否安装了mariadb数据库
命令:
yum list installed | grep mariadb
-
卸载mariadb
命令:
yum -y remove mariadb-libs.x86_64
3.解压mysql
命令:
tar -zxvf mysql-5.7.21-linux-glibc2.12-x86_64.tar.gz -C /usr/local/
-
进入local目录:已经多了一个文件
命令:
cd /usr/local
-
重命名
命令:
mv mysql-5.7.21-linux-glibc2.21-x86_64 mysql-5.7.21
-
进入mysql的目录中,并创建一个文件夹
命令:
cd mysql-5.7.21/
mkdir data
-
创建一个mysql的用户
命令:
useradd mysql
-
切换到bin目录下
一定要确定有mysqld文件,这个bin是mysql下的bin
命令:
cd bin/
- 对mysql进行初始化
路径一定按照自己的路径来
Hhri:::U-2di(这个就是临时的密码)一定要记住密码一会要进行登录
命令:
./mysqld --initialize --user=mysql --datadir=/usr/local/mysql-5.7.21/data --basedir=/usr/local/mysql-5.7.21
-
运行自带的脚本并指向主目录
在该目录执行下列命令
./mysql_ssl_rsa_setup --datadir=/usr/local/mysql-5.7.21/data
- 修改文件目录的权限
返回到local目录(cd … 返回上一级,两次就能返回到local目录)
chown -R mysql:mysql /usr/local/mysql-5.7.21/
所有的权限都变成了mysql
- 启动mysql
回到bin目录下(这个bin目录是mysql-5.7.21下的bin目录)
这就决定了以后如果向通过控制台进行访问就必须进入指定的目录来输入指令才能进行数据库的访问.
cd bin/
启动mysql 加上&的作用是让mysql在后台能够运行
./mysqld_safe &
上图中没有出现#,但是可以直接输入下面的指令并回车,输入以下命令查看mysql是否正常运行
ps -ef | grep mysql
显示以下信息证明mysql运行成功
- 登录进入mysql
./mysql -uroot -p
然后填入第9步临时的密码
14.重置你的密码
alter user 'root'@'localhost' identified by 'root';
12.mysql的远程连接和防火墙的配置
1.进行授权
grant all privileges on . to root@’%’ identified by ’ 这里填的是你设置好的密码 ’
grant all privileges on *.* to root@'%' identified by 'root';
*.* 所有数据库下的所有的表
% 代表所有的ip都能够访问,也可以指定ip地址
2.进行刷新
flush privileges;
3.解除防火墙限制
查看防火墙状态:
systemctl status firewalld
关闭防火墙:
systemctl stop firewalld
如果呈现此状态证明防火墙已经关闭
以下几条分别是防火墙的其他指令有需要的话可以再进行操作.
让防火墙可用:
systemctl anable firewalld
让防火墙不可用:
systemctl disable firewalld
启动防火墙:
systemctl start firewalld
4.用图形化界面进行连接
打开Navicat
连接成功!!
13.Xshell密钥登录的方法
1.新建用户密钥生成向导
选择保存位置
导出
2. 密钥的拷贝和目录的创建
找到配置的密钥,然后把密钥拷贝到/root/.ssh目录下
如果没有此.ssh目录,则需要手动进行创建,在root目录下
mkdir .ssh
创建autorized_keys文件,在.ssh目录下进行创建
touch autorized_keys
然后把导入密钥的信息拷贝到创建的autorized_keys中,并且赋予权限(可读可写)
cat id_rsa_2048.pub >> authorized_keys
chmod 600 autorized_keys
cat authorized_keys
然后可以通过配置的密钥信息进行登录。
3.新建连接进行测试
新建一个连接
4.其他电脑拷贝此虚拟机如何连接
其他电脑拷贝此虚拟机的话需要配置一下私钥,因为私钥在本地,不能被虚拟机继承.把另一个台电脑上的私钥导入本地指定的位置就是下图这个
工具–>用户密钥管理者
到达本地的目录,选择打开即可
14.简单的命令:
1.touch创建文件命令
touch 创建一个文件
touch filename
2.rm删除命令
rm 删除当前目录的某个文件
-f 删除时没有提示信息
3.权限访问
ll查看文件权限,及详细信息
其他用户去没有权限去查看root下的文件
4.cat显示命令
cat 文件名|less :显示该文件不换行
cat 文件名|more : 显示该文件换行,逐行访问
5.tail末尾查看命令
tail 文件名:到达文件末尾,默认显示行数x行.
tail -数值 文件名
6.echo重定向命令
echo重定向内容
echo ‘内容’>文件名:使内容装入到aaa文件当中
查看aaa文件是否变更:
tail -f 文件名监控终端:在tomcat的控制台中那些数据是动态的,就是利用此所带来的效应能够做到实时监控.
7.目录查看命令和别名
ls命令:查看当前目录的结构
ll:查看当前目录的详细信息
alias name =‘ls -l’ 指定的名字查看目录的详细信息
ls -a:列出所有的文件
vim bashrc 可以自定义文件别名
8.mkdir创建目录命令
mkdir:创建一个文件夹
9.创建静态脚本并赋予可执行权限
创建一个脚本文件:
并没有可执行权限,我们怎么给它加入可执行权限呢?
权限表示方法:
小于等于4代表仅可读
大于4小于等于6代表可写
大于等于7代表可执行
chmod 777 hello.sh
chmod 644 hello.sh
chmod +x hello.sh
执行一下:
10.mv移动命令
mv命令把当前目录的文件移动到指定的目录中去.
11.rm删除命令
rm命令用于删除:
删除目录需要加-r,根据rm --help中的提示内容,-r=递归
删除文件不用加-r,加上-f就没有提示信息了
12.cp复制命令
cp 复制命令
15.简单的shell脚本
1.新建一个脚本并运行
Shell 脚本通常是以#! 起始的脚本,被称作 shebang
规定的头的格式如下
#! /bin/bash
引申一个在windows的dos命令行的运行方法
window下的shell脚本
echo %PATH%
pause
执行shell脚本的几种方式
1. sh script.sh # 当前路径
2. sh /home/path/script.sh #完整路径
3. ./script.sh
4. /home/path/script.sh
运行的方法
在cmd中进入到文件所在的目录,输入文件的名字就可以运行此脚本
脚本的扩展名为 .bat
创建一个目录;进入该目录;创建一个脚本
#! /bin/bash
echo #JAVA_HOME
echo $PATH
运行这个脚本
./hello.sh
发现权限不够
赋予权限
chmod 744 hello.sh
再次运行
2.运行脚本的几种方式
第一种方法在该目录种直接进行运行
./hello.sh
如果是上级目录的话则需要这样更改
比如说是在practice的上级目录root当中 则直接进行访问就行了,前面一定不要加/
practice/hello.sh
另外一种方式是
sh practice/hello.sh
如果是归属于同样的上级目录的同级目录则需要在前面加上/ ,
比如说在home目录下有此文件
sh /home/practice/hello.sh
可以通过分号进行分隔
执行多个命令可以通过分号进行分隔
3.终端打印 echo
默认会增加一个换行符:
如果加上双引号打印特殊符号会报错.
加上单引号就不会出现错误
不加引号则有些符号代表的是有特殊的含义,所以还是需要加引号
4.控制打印间隔
测试间隔,根据不同类型需要制定不同的符号
#! /bin/bash
#这个是测试printf命令的
printf "%-5s %-10s %-4s\\n" NO Name Mark
printf "%-5s %-10s %-4.2f\\n" 666 Name 19.222
-5s 表示左对齐且宽度为5的字符串
-4.2f 保留两位有效数字,并且左对齐且宽度为4的字符串(就是间隔)
指定可执行权限,可以使用
chmod u+x 文件名
脚本语言通常不需要在使用变量之前声明其类型,只需要直接赋值就行
5.?查看正在运行的进程
ps:
ps -ef
查看现在正在运行的进程
ps --help -s
ps -e 打开所有现在正在运行的进程
先通过管道命令获取到id
6.命令行内变量的创建和使用
创建一个变量
a=13
echo $a
赋值的时候不要带空格
文本控制台输出一定要带单引号
修改脚本测试是否能够执行
还可以进行嵌套输出
测试长度
echo ${#hello}
添加:$0和访问权限
脚本可以修改成
#!/bin/sh
hello='hello shell'
echo $hello
echo $0
打印结果是
查询UID对应root的id
规定用哪种脚本语言
7.if判断和基本运算脚本
创建脚本
judgeroot.sh
写入脚本
#!/bin/bash
if [ $UID -ne 0];
then
echo Not root user
else
echo "root user"
fi
修改权限
chmod u+x judgeroot.sh
运行脚本
add1:在脚本的$符号之前必须有空格,如果没有就会出现未找到命令的提示信息
检错指令
sh +x judgeroot.sh
数学运算
普通运算:
var1=5
var2=6
let var3=var1+var2
echo var3
自增或自减:(脚本)
#!/bin/sh
a=3;
b=4;
let c=a+b
let c++
echo $c
输出结果为:
自减脚本:
#!/bin/bash
a=3
let a--
echo $a
[]操作符 与let命令类似
(())同样 与let命令类似
以上只能通过整数运算
下图是如何进行浮点运算
8.文件描述符
使用重定向,在当前目录中创建1.txt并把ls的结果导入其中
1是标准输出流
ls > 1.txt
相当于
ls 1>1.txt
发现信息已经被导入了
并且多了1.txt这个文件,查看当前文件的目录发现多个1.txt这个文件
输入指令:
ls + >2.txt
然后我们让标准输入错误重定向到2.txt中
2是标准流
ls + 2>2.txt
实例的说明:
在运行web项目我们需要打成jar 包,
然而我们的在记录日志的时候需要追加>>而不是需要覆盖日志
java -jar xxx.jar 1>>xxlog.log 2>/dev/null
如果是标准的输出则追加到xx.log中
如果是错误的信息则是标准的错误然后被回收掉.
>等同于1>
>>等同于1>>
>代表覆盖
>>代表追加
如果不加任何的符号则默认为标准输出
如果在>前加2,则是标准错误
总结:简单的来说这就是一个修饰状态的标志,1就是正确的,2就是错误的,>代表覆盖,>>代表追加.
追加信息的指令:
echo '追加的信息'>>1.txt
1.txt中的信息如下所示:
如果想要清
以上是关于LinuxcentOS7基本配置,jdk,mysql,免密登录,xshell密钥登录的主要内容,如果未能解决你的问题,请参考以下文章