前言:推荐使用yum指令自动安装JDK、Tomcat以及MariaDB数据库(Mysql的分支),它可以让你免受配置各种环境变量之苦,安装完直接就可以用,无需配置。

开发环境:Centos7.7 mininal

安装版本:JDK1.8+Mysql 5.7+Tomcat 8.5

一、yum源安装JDK1.8

Centos7中安装Java环境,在安装前先查看有无安装过Java环境。直接运行java 命令,会提示命令未找到,则是没有安装过java环境。

yum下载javafx yum安装jdk1.7_CentOS7安装Tomcat

1.1、查看yum源的java包

yum list java*

yum下载javafx yum安装jdk1.7_yum安装不需要环境变量配置_02

1.2、安装jdk1.8

yum -y install java-1.8.0-openjdk

yum下载javafx yum安装jdk1.7_CentOS7安装Tomcat_03


安装完成后会在最下面显示完成

1.3、查看版本,检测安装是否成功

java -version

yum下载javafx yum安装jdk1.7_yum下载javafx_04

若出现上述提示表示JDK已经成功安装啦!

1.4、输入“java -verbose”用来查看jdk的安装路径

yum下载javafx yum安装jdk1.7_CentOS7安装Tomcat_05

1.5、查看Java Home路径

使用readlink命令可以查看当前系统链接的目标文件,从而找到JavaHome的路径。

readlink -f $(which java) | sed 's:/bin/java::'

运行以上命令可以得到JavaHome的路径,例如:

/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.372.b07-1.el7_9.x86_64/jre

 二、yum源安装Mysql5.7

现在CentOS上默认是没有Mysql的yum源,yum源默认的是 MariaDB。所以我们需要自己先配置Mysql yum源。

MariaDB闲谈:

MariaDB数据库管理系统是MySQL的一个分支,主要由开源社区在维护,采用GPL授权许可。开发这个分支的原因是:自从Sun被Oracle收购以后,原来Sun旗下的MySQL的所有权也落入Oracle的手中。MySQL未来存在闭源的潜在风险,因此社区采用分支的方式来避开这个风险。MariaDB的目的是完全兼容MySQL,包括API和命令行,使之能轻松成为MySQL的代替品。

过去一年中,大型互联网用户以及Linux发行商纷纷抛弃MySQL,转投MariaDB阵营。MariaDB是MySQL的创始人Michael Widenius另起炉灶开发了完全兼容MySQL的数据库系统。它是目前最受关注的MySQL数据库衍生版,也被视为开源数据库MySQL的替代品。Centos7的发行版默认就包含了MariaDB。

首先检查 MySQL 是否已安装

yum list installed | grep mysql

//如果有的话 就全部卸载

yum -y remove 数据库名称

2.1、更换yum源安装Mysql5.7

a、下载并安装MySQL5.7的yum源

wget http://dev.mysql.com/get/mysql57-community-release-el7-7.noarch.rpm
yum localinstall -y mysql57-community-release-el7-7.noarch.rpm

b、使用清华源替换官方源

cp /etc/yum.repos.d/mysql-community.repo /etc/yum.repos.d/mysql-community.repo.bak
sed -i 's#http://repo.mysql.com/#https://mirrors.tuna.tsinghua.edu.cn/mysql/#g' /etc/yum.repos.d/mysql-community.repo
sed -i 's#/el/7/#-el7-#g' /etc/yum.repos.d/mysql-community.repo
yum makecache

c、查看有哪些版本的mysql

yum repolist all | grep mysql

yum下载javafx yum安装jdk1.7_CentOS7安装Tomcat_06

d、yum安装Mysql

安装GPG 公钥

rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2022

安装mysql5.7

yum install -y mysql-community-server

至此MySQL就安装完成了

yum下载javafx yum安装jdk1.7_yum下载javafx_07

查看MySQL安装版本

mysql -V

yum下载javafx yum安装jdk1.7_yum安装不需要环境变量配置_08

2.2、启动Mysql,验证是否安装成功

要知道在centos7中,没有了service命令,都是使用systemctl命令。(centos6中,使用service mysqld start)

systemctl start mysqld  注意启动的时候是start mysqld而不是mysql
systemctl status mysqld  查看MySQLl运行状态

systemctl enable mysqld  设置开机自启

yum下载javafx yum安装jdk1.7_CentOS7安装Mysql_09

如图所示已经启动Mysql了,接下来会进行Mysql相关配置。

2.3、MySQL数据库的配置

2.3.1、登录数据库,修改数据库密码

mysql5.7的新特性之一就是在初始化的时候会生成一个自定义的随机密码,然后你需要找到这个临时密码,登录的时候输入。注意,输入密码的时候是不显示。

a、启动Mysql

systemctl start mysqld

b、找到密码: 红框的地方就是密码

grep 'temporary password' /var/log/mysqld.log

yum下载javafx yum安装jdk1.7_CentOS7安装Mysql_10

c、找到了密码之后,输入以下指令进入数据库

mysql -u root -p

yum下载javafx yum安装jdk1.7_CentOS7安装Mysql_11

此时不能做任何事情,因为MySQL默认必须修改密码之后才能操作数据库。

d、修改密码

#这里的'new password'即为你自己要更改的密码。

ALTER USER 'root'@'localhost' IDENTIFIED BY 'new password';

这里有个问题,新密码设置的时候如果设置的过于简单会报错。 原因是因为MySQL有密码设置的规范,具体是与validate_password_policy的值有关。

yum下载javafx yum安装jdk1.7_yum下载javafx_12

此时,通过进行这两个操作即可.(设置密码的验证强度等级为弱)

set global validate_password_policy=0;  
set global validate_password_length=1;

然后再进行密码的设置,就成功了.

yum下载javafx yum安装jdk1.7_yum下载javafx_13

上面提到Mysql密码设置规范的validate_password_policy,详细请参考:安装MySQL报错 : Your password does not satisfy the current policy requirements

2.3.2、设置Mysql支持远程连接

Mysql为了安全性,在默认情况下用户只允许在本地登录,可是在有此情况下,还是需要使用用户进行远程连接。比如我的VMware的CentOS7中安装的MySQL需要支持远程连接方便数据库备份,现在这样是无法在本地用工具比如Navicat for Mysql登录访问的。

MySQL默认是没有开启远程控制的,必须添加远程访问的用户,即默认是只能自己访问,别的机器是访问不了的。现在要做两件事,第一件事是将云服务器上的3306端口开放;另一件事是配置Mysql远程可以访问。

①先设置刚才的密码可以远程登录,然后使用flush命令使配置立即生效。

#允许root用户在任何地方进行远程登录,并具有所有库任何操作权限

GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'new password' WITH GRANT OPTION;


允许任何ip地址(%表示允许任何ip地址)的电脑用root帐户和密码(Admin123)来访问这个mysql server。


#重载授权表
flush privileges; 

②云服务器开放3306端口

Mysql默认监听端口就是3306

firewall-cmd --zone=public --add-port=3306/tcp --permanent
firewall-cmd --reload  

注意:如果还不行可以尝试重启一下数据库

 这时,在本地电脑的navicat 上的连接远程的MySQL,显示连接成功:

yum下载javafx yum安装jdk1.7_yum安装不需要环境变量配置_14

参考链接:Centos7下无法远程连接mysql数据库的原因与解决

2.3.3、Mysql其他简单配置

Mysql的配置文件真的很多,有的还很蛋疼。比如默认的字符集是拉丁字符集,每次创建数据库的时候要设置字符集;默认还不支持group by语句,默认的时区也不是我们现在的北京时间(东八区),会导致我们的时间差了13个点。针对以上说几个简要的配置,更多的配置在以后遇到了再加上。

先输入exit退出数据库客户端。

打开配置文件,yum安装的默认在/etc文件夹下:

vim /etc/my.cnf

在[mysqld]下面添加,不需要分号

字符集:注意是utf8而不是utf-8!

character-set-server=utf8

这时候使用show variables like 'char%';就可以查看到字符集都是utf8了

sql支持group by语句

sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION

设置时区为东八区

default-time_zone = '+8:00'

最后重启数据库,使配置生效

systemctl restart mysqld

2.4、Mysql常用命令

a、设置安全选项

mysql_secure_installation

b、关闭MySQL

systemctl stop mysqld

c、重启MySQL

systemctl restart mysqld

d、查看MySQL运行状态

systemctl status mysqld

e、设置开机启动

systemctl enable mysqld

f、关闭开机启动

systemctl disable mysqld

g、配置默认编码为utf8:

vi /etc/my.cnf #添加 [mysqld] character_set_server=utf8 init_connect='SET NAMES utf8'

其他默认配置文件路径:

配置文件:/etc/my.cnf 日志文件:/var/log//var/log/mysqld.log 服务启动脚本:/usr/lib/systemd/system/mysqld.service socket文件:/var/run/mysqld/mysqld.pid

h、查看版本

select version();


参考链接:

MySQL 5.7安,使用国内腾讯YUM源加速