文章目录
安装环境:
VMware+Centos7
在
Window11
上搭建的;使用yum安装MySQL5.7,jdk1.8;
基础安装
预先配置
配置用户sudo权限
Linux要使用root权限操作,有两种方式:临时sudo
命令,切换到root用户命令su root
;
su root
:切换到root用户,su 用户名
命令格式是切换到某个用户上;sudo 命令操作
:是临时使用root权限,操作完会回到当前用户上;(sudo需要配置权限才能使用)
而当未配置时,直接使用 sudo
命令可能会报错(报错如下:),因为当前用户没有配置sudo
权限
解决方法:这里就不说明如何使用vim修改了,这是基础使用;
# 报错:“Jairo不在sudoers文件中。此事将被报告” -- Jairo是用户名
# 1. 切换到root用户
su root // 随后输入密码
# 2. 进入/etc/sudoers文件中
vim /etc/sudoers
# 3. 直接在最后一行加入此代码即可
Jairo ALL=(ALL) ALL
配置网络
说明:VM安装Centos后,在没配置网络的NAT时,一开始就会无法使用网络;即使在第一次启动Linux时的界面配置了,后续还可能出现 `yum`命令的网络报错;这里应该是默认安装的问题;
解决方法:修改网络配置文件,`ONBOOT=yes`是**激活网卡**
# 进入网络的配置文件
vim /etc/sysconfig/network-scripts/ifcfg-ens33
# 将ONBOOT=no改为ONBOOT=yes(一般在最后一行)
ONBOOT=no 改为 ONBOOT=yes
# 重启启动网络
service network restart
# 测试- 使用ping或者其它
ping baidu.com
配置基础的国内yum源
# 查看yum源
yum repolist
# 定位到base reop源位置
cd /etc/yum.repos.d
# 接着备份旧的配置文件
mv CentOS-Base.repo CentOS-Base.repo.bak
# 下载阿里源的文件
wget -O CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
# 非阿里云ECS用户会出现 Couldn’t resolve host ‘mirrors.cloud.aliyuncs.com’ 信息,不影响使用,但辣眼睛,可以修改配置
sed -i -e '/mirrors.cloud.aliyuncs.com/d' -e '/mirrors.aliyuncs.com/d' /etc/yum.repos.d/CentOS-Base.repo
# 清理缓存 并 重新生成缓存
yum clean all
yum makecache // 将网上的包及版本信息缓存到本机;
# 再次查看yum源信息-已改为了阿里的源了
yum repolist
ftp连接
当配置过了`ONBOOT=yes`**激活网卡**后,即可使用ftp工具远程连接了;
我这里用的是免费的 FileZilla工具;在Centos的终端上输入`ifconfig`,在输出的第二行的 `inet`后的ip即是Centos的ip;直接连接即可;
安装MySQL
关于MariaDB
预先准备环境
查看是否有安装mysql以及mariadb数据库,新Centos7一般安装有mariadb软件包,但无MySQL的;
# 检查是否安装有MySQL:一般都没有
rpm -qa | grep mysql
# 检查是否安装mariadb:Centos7有默认的
rpm -qa | grep mariadb
# 卸载mariadb 保证系统单一:注意先配置sudo权限
sudo rpm -e --nodeps mariadb-libs-版本(如:5.5.68-1.el7.x86_64)
# yum工具的清理
sudo yum clean all
# yum 将服务器的软件包缓存到本地
sudo yum makecache
# 升级所有包同时也升级软件和系统内核
sudo yum update
安装repo源并下载mysql
下载并安装MySQL的repo源,然后yum通过此源下载相应的包进行下载安装(此时下载可能非常慢-后面有解决办法)
# 先切换到root用户吧,比较多要权限的操作
su root
# 到用户级的程序目录中
cd /opt/
# 通过wget下载mysql的repo源
wget https://repo.mysql.com//mysql57-community-release-el7-11.noarch.rpm
# 安装mysql57-community-release-el7-11.noarch.rpm包==会得到两yum repo源,在/etc/yum.repos.d/下;
rpm -ivh mysql57-community-release-el7-11.noarch.rpm
# 安装MySQL
yum install mysql-server
# 此时下载可能只有几k或十几k;直接ctrl+c终止;手动在镜像网站下载好上传,再操作
加速下载
下载方法一:通过wget直接下载;
# 到Centos的mysql5.7版本对应的缓存目录下
cd /var/cache/yum/x86_64/7/mysql57-community/packages/
# 下载server与client两个最大的包
wget http://mirrors.ustc.edu.cn/mysql-ftp/Downloads/MySQL-5.7/mysql-community-client-5.7.37-1.el7.x86_64.rpm
wget http://mirrors.ustc.edu.cn/mysql-ftp/Downloads/MySQL-5.7/mysql-community-server-5.7.37-1.el7.x86_64.rpm
# 也可以选择其它的地址,但需要自己去搜索镜像源,并找到地址,若记得版本,可直接修改上面的版本;
下载方法二:
- 直接搜索 “国内镜像网站”,找一个就行;MySQL5.7镜像地址
- 下载
mysql-community-server-5.7.37-1.el7.x86_64.rpm
与mysql-community-client-5.7.37-1.el7.x86_64.rpm
两个文件即可;注意是mysql-community
开头,仔细找,莫找错了,再下载; - 用ftp工具连接Centos,并将这两文件放到
/var/cache/yum/x86_64/7/mysql57-community/packages/
目录下
正式安装
GPG验证不通过,公钥不对,签名验证失败;官网说,如果使用的4.1以上版本的rpm的话,除了import mysql的公钥到个人用户的配置中,还需要import mysql的公钥到RPM的配置中。
# 文件下载并上传到了相应缓存目录下后,再次执行安装;
yum install mysql-server
# 此时可能会出现 安装失败,具体错误如下:
--mysql-community-server-5.7.37-1.el7.x86_64.rpm 的公钥尚未安装
--失败的软件包是:mysql-community-server-5.7.37-1.el7.x86_64
--GPG 密钥配置为:file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql
# 解决方法,配置密钥
rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2022
修改密码
# 安装后直接重启mysql
systemctl restart mysqld
# 输入mysql或mysql -uroot登录root用户时报错
mysql -uroot
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)
# 设置root用户免密登录
vi /etc/my.cnf // 进入my.cnf配置文件
# 添加跳过密码验证:直接在最后一行添加即可
skip-grant-tables
# 重启服务
systemctl restart mysqld
# 无密码登录mysql
mysql -uroot
# 设置密码,随后quit
mysql> update mysql.user set authentication_string=password('your-password') where user='root' and Host = 'localhost';
# 关闭免密登录,注释掉skip-grant-tables
vi /etc/my.cnf
# 重启服务
systemctl restart mysqld
密码策略配置
设置validate_password_policy
密码强度;
# 进去mysql后,无论输入什么东西,都会报错提示修改密码;
mysql -uroot -p
mysql> show databases;
# 报错
ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.
# 更改密码-并再次查询数据库;
mysql> alter user 'root'@'%' identified by 'your-password';
mysql> show databases;
# 仍然报错,但是是另一个错误,提示密码强度不够
ERROR 1819 (HY000): Your password does not satisfy the current policy requirements
# 更改密码强度要求-并刷新权限到内存;
mysql> set global validate_password_policy=0;
mysql> set global validate_password_length=1;
mysql> flush privileges;
# 此时,在终端一切都能正常访问了,但在windows下的navicat还不能正常访问,因为3306端口与远程访问权限未设置;
开启3306端口权限
iptables-services
是Linux免费的包过滤防火墙,在Centos7一般是未安装的;
# 检测并关闭firewall
#不可忽略此步-否则每次重启VM时,firewall会把iptables覆盖,导致navicat等连不上-3306未开启
systemctl status firewalld.service #检测是否开启了firewall
systemctl stop firewalld.service #关闭firewall
systemctl disable firewalld.service #禁止firewall开机自启
# 安装 iptables-services
yum -y install iptables-services
# 编辑 /etc/sysconfig/iptables 配置文件
vim /etc/sysconfig/iptables
# 添加下面命令开启3306端口,里面有开放的22端口配置,直接在22端口那一行后添加即可;
-A INPUT -p tcp -m state --state NEW -m tcp --dport 3306 -j ACCEPT
# 重启防火墙---下一次打开时,可能远程连接超时失败,这时重启iptables;
service iptables restart
# 设置开机自动启动
systemctl enable iptables.service
设置root可远程访问
# 此时,Windows的navicat连接=远程连接会出现 1130 host is not allowed to connect to mysql
# 进入MySQL,配置远程可访问
mysql -uroot -p
mysql>use mysql;
mysql>update user set host = '%' where user = 'root';
mysql>flush privileges;
# 搞定;
安装JDK
安装openjdk1.8
# 使用yum查找openjdk
yum search java |grep openjdk
# 安装jre 一般只安装这个
yum install java-1.8.0-openjdk
# 安装jdk
yum install java-1.8.0-openjdk-devel.x86_64
# 查看安装目录
dirname $(readlink $(readlink $(which java)))
# Centos7是默认安装了openjdk1.8的jre的,jdk是否安装没注意看,反正不用配置环境变量;
# 判断是否成功
java -version
javac -version
基础使用
vim编辑器的简单认识
vim的三种模式
- 命令模式(只读):只有最基本的命令,如:
:
与i
以及a
,都是进入 末行模式与编辑模式; - 输入模式(插入):输入修改内容了,正常的输入,移动光标;ESC退出此模式到命令模式;
- 末行模式(底线命令):在按了
:
后进入了末行模式了;q退出程序,w保存文件;:w
保存操作;:w 路径
另存为:q
退出编辑器:q!
强制退出wq
保存并退出wq!
强制保存退出
代补充