Linux 环境安装 JAVA EE 环境
注意,以下环境配置如下:
- 系统:Centos 7.3 64位
- JDK:1.8
- Tomcat:8.5 版本
- MySQL:8.0 版本
安装 JDK
-
下载JDK,进入官网
-
将 jdk 放入到 opt 目录后解压
tar -zxvf jdk-linux-x64.tar.gz
-
查看解压后的 jdk 目录结构
-
配置环境变量,/etc/profile 文件就是环境变量的配置文件
将 jdk 的安装目录配置到 JAVA_HOME 变量
JAVA_HOME=/opt/jdk1.8.0_131
将 jdk 的 bin 目录配置到 path 变量
PATH=/opt/jdk1.8.0_131/bin:$PATH
使环境变量生效
export JAVA_HOME PATH
配置完成之后需要注销用户,环境变量才能够生效 。
-
测试一下是否安装成功
java -version
安装 Tomcat
-
点击官网下载 Tomcat,下载 tar.gz 压缩版。
-
解压 tomcat
tar -zxvf apache-tomcat-8.5.57.tar.gz
查看一下解压后的目录结构
-
启动 tomcat
再解压后的目录下,进入 bin 目录
cd /opt/apache-tomcat-8.5.57/bin
运行
./startup.sh
关闭可以用
./shutdown.sh
-
开放端口
firewall-cmd --add-port=8080/tcp --permanent
-
重新启动防火墙
firewall-cmd --reload
安装 MySQL
一 官网查看
点击此处,选择需要的对应版本
可以根据自己需求选。
二 安装
-
下载最新源
wget http://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm
其中 wget 可以通过 yum install wget
安装
-
安装 MySQL 源。
yum -y install mysql80-community-release-el7-3.noarch.rpm
-
查看安装后的结果
yum repolist enabled | grep mysql.*
-
安装 MySQL 服务器
yum install mysql-community-server
-
启动 MySQL 服务
systemctl start mysqld.service
我们再查看一下状态
systemctl status mysqld.service
三 初始化数据库密码
-
先查看一下初始化的密码
grep "password" /var/log/mysqld.log
-
登录
mysql -uroot -poRV%Pts*D7lF
-
修改密码
ALTER USER 'root'@'localhost' IDENTIFIED BY '****************';
MySQL 默认安装了密码安全检查插件(validate_password),默认密码检查策略要求密码必须包含:大小写字母、数字和特殊符号,并且长度不能少于8位。否则会提示 ERROR 1819 (HY000): Your password does not satisfy the current policy requirements 错误
四 数据库授权
对于远程连接,数据库默认是没有开启权限访问的,所以需要另外开启权限。
-
创建账户
create user 'root'@'%' identified by 'password';
其中
%
代表了任何 IP 地址,如果有需要只需指定一个 IP 地址。 -
赋予权限
grant all privileges on *.* to 'root'@'%' with grant option;
with grant option 这个选项表示该用户可以将自己拥有的权限授权给别人
-
刷新权限
flush privileges;
flush privileges 命令本质上的作用是将当前user和privilige表中的用户信息/权限设置从mysql库(MySQL数据库的内置库)中提取到内存里
总结:
创建账户: create user ‘用户名’@‘访问主机’ identified by ‘密码’;
赋予权限:grant 权限列表 on 数据库 to ‘用户名’@‘访问主机’ ;
with grant option :这个选项表示该用户可以将自己拥有的权限授权给别人
也可以使用修改表来实现,通过切换到 mysql 数据库,使用该命令添加 update user set host = '%' where user = 'root';
五 开启端口
由于是远程连接,需要用防火墙把某些端口开放。
可以通过以下命令开通端口
firewall-cmd --add-port=3306/tcp --permanent
重新启动防火墙
firewall-cmd --reload
六 设置自动启动
systemctl enable mysqld
systemctl daemon-reload
enable :设定下次开机时,后面接的服务名会被启动,systemctl daemon-reload
重新加载某个服务的配置文件,如果新安装了一个服务,归属于 systemctl 管理,要是新服务的服务程序配置文件生效,需重新加载。
七 测试
通过 sqlyog 测试,连接成功。
可能出现的错误
以下的场景都是我在远程连接的场景出现过的错误。
使用 sqlyog 连接 MySQL 出现1251错误
主要是由于mysql8以前的加密规则与mysql8以后的存在差异。如何解决?
方案一:
-
进入 MySQL 后输入 一下命令更改权限
ALTER USER 'root'@'%' IDENTIFIED BY 'password' PASSWORD EXPIRE NEVER;
% 和 password 指的是 IP 地址和密码。
-
更新一下用户密码
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'password';
-
刷新权限
FLUSH PRIVILEGES;
使用 sqlyog 连接 MySQL 出现 1130 错误
该是该主机没有连接远程mysql数据库的权限,可以查看安装 MySQL 安装的第四步,数据库授权是否有操作错误。
使用 sqlyog 连接 MySQL 出现 2003 错误
下面给出解决这个问题的一些方法:
-
检查端口是否设为3306(以你配置指定的端口为准)
-
端口是否开放
-
mysql服务器是否启动
-
mysql服务器资源紧张,也会导致无法连接的情况