一、安装JDK
1.卸载预装的openJDK
有些云服务器预装了JDK,查看是否预装命令:
rpm -qa|grep jdk
若存在,卸载。命令:
yum -y remove java java-1.8.0-openjdk
查看卸载情况:
java -version
2.安装JDK
阿里云的yum源默认是openJDK,所以需要我们自己去oracle官网找到url地址,用wget命令下载。如果直接使用wget命令的话,虽然成功了,但是应该是安装不了的,这是由于oracle在下载jdk的时候需要用户勾选接受它的协议。所以推荐选择本地下载然后上传到服务器中。
-
从官网下载 目前版本已经出到了jdk10,用的最广泛的是jdk1.8,选择
.rmp
文件下载。出于好奇的心理,我选择了jdk10。 -
上传到服务器
- 进入
/usr
目录下新建文件mkdir java
- 使用
rz
命令上传,会弹出文件选择框,选择上传的jdk 。若使用rz
命令不可用,使用yum install lrzsz
安装rz sz
命令,等待上传完毕。
- 进入
-
安装
- 进入你的安装包目录,使用命令
yum install jdk-10.0.2_linux-x64_bin.rpm
安装,完成后若此时使用java -version
出现以下错误,执行sudo yum install glibc.i686
这个命令即可解决此问题。
jdk-bash: /usr/bin/java: /lib/ld-linux.so.2: bad ELF interpreter: No such file or directory
- 若此时执行
java -version
命令若报错,是因为Linux也需配置环境变量。执行vim/etc/profile
,打开环境变量配置文件,在文件底部输入以下信息,并保存。
# java
JAVA_HOME=/usr/java/jdk-10.0.2
JRE_HOME=$JAVA_HOME/jre
PATH=PATH=$PATH:$JAVA_HOME/bin
CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export JAVA_HOME
export JRE_HOME
export PATH
export CLASSPATH
执行java -version
命令,出现
java version "10.0.2" 2018-07-17
Java(TM) SE Runtime Environment 18.3 (build 10.0.2+13)
Java HotSpot(TM) 64-Bit Server VM 18.3 (build 10.0.2+13, mixed mode)
安装成功
二、安装tomcat
步骤和安装JDK一样
- 下载Tomcat到本地,我仍然选择了最新版本Tomcat9.0.11。然后上传至
usr/tomcat
,在该目录下解压tar -zxf apache-tomcat-9.0.11.tar.gz
。 - 执行
./apache-tomcat-9.0.11/bin/startup.sh
命令,若如下,安装成功
Using CATALINA_BASE: /usr/tomcat9/apache-tomcat-9.0.11
Using CATALINA_HOME: /usr/tomcat9/apache-tomcat-9.0.11
Using CATALINA_TMPDIR: /usr/tomcat9/apache-tomcat-9.0.11/temp
Using JRE_HOME: /usr
Using CLASSPATH: /usr/tomcat9/apache-tomcat-9.0.11/bin/bootstrap.jar:/usr/tomcat9/apache-tomcat-9.0.11/bin/tomcat-juli.jar
Tomcat started.
- 启动tomcat后,我们还需测试是否能从外网访问,在本地浏览器中输入
公网ip:8080
,如果访问失败,是因为阿里云需要配置安全组开放8080端口。解决方案为:去云服务器管理控制台添加安全组规则,详情参考阿里云安全组规则配置及Tomcat外网访问。配置完毕后即可从本地访问服务器tomcat
三、安装mysql
网上大多数教程都是安装mysql5.6和5.7,但是mysql8.0已经问世,并且在性能上有着很大提升,详情见关于MySQL 8.0的几个重点,都在这里,所以选择安装mysql8.0。
- 检查是否已安装过mysql其它版本 。命令:
rpm -qa | grep mysql
。有则删掉,例如:命令yum -y remove mysql-community-client-5.6.38-2.el7.x86_64
。 - 检查centos是否自带mariadb,有则删掉,命令同上类似。
- 因为centos的yum 源中默认是没有mysql的,所以使用wget命令下载rpm包,命令:
wget https://dev.mysql.com/get/mysql-community-server-8.0.12-1.el7.x86_64.rpm
4.进入rpm包目录,使用命令yum install mysql-community-server-8.0.12-1.el7.x86_64.rpm
,然后你会发现安装出错,显示缺少common和client包,这是因为mysql5.7版本以前只安装mysql-server和mysql-client两个rpm包即可。从mysql5.7版本之后mysql-community-client
依赖于mysql-community-libs
,mysql-community-server
依赖于mysql-community-common
共计需要安装4个rpm包。所以使用wget
命令依次下载这三个rpm包到目录。具体为
mysql-community-client-8.0.12-1.el7.x86_64.rpm mysql-community-libs-8.0.12-1.el7.x86_64.rpm
mysql-community-common-8.0.12-1.el7.x86_64.rpm
- 按照lib-client -common-server的顺序依次安装。如果安装client包过程中出现mariadb存在而导出出错,使用命令
rpm -pa | grep mariadb
命令,可能出现以下类似的信息
mariadb-libs-5.5.56-2.el7.x86_64
使用rpm -e mariadb-libs-5.5.56-2.el7.x86_64
删掉,重新安装client包。
- 安装成功后,我们需要修改mysql初始密码。首先执行命令
systemctl start mysqld.service
开启mysql服务。随后我们执行命令grep 'temporary password' /var/log/mysqld.log
查看初始密码。然后登陆mysql 命令mysql -u root -p
,登陆后执行修改密码的命令
alter user 'root'@'localhost' identified by '123456'
会出现以下报错
ERROR 1819 (HY000): Your password does not satisfy the current policy requirements
这是因为mysql对密码等级和规则有限制,解决办法有两个,第一修改密码比如Admin_001.
,第二调整MySQL密码验证规则,修改 policy 和 length 的值。经过查资料,网上大部分的方法如下
mysql> set global validate_password_policy=0;
mysql> set global validate_password_length=1;
在mysql5.7中好使,mysql8.0中却行不通,在mysql8.0中validate_password_policy
和validate_password_length
变量不存在。取而替代的validate_password.policy
和validate_password.length
。详情和解决方法见博文:解决MySQL8.0报错:Unknown system variable 'validate_password_policy'。了解原由后执行命令
mysql> set global validate_password.policy=0;
mysql> set global validate_password.length=1;
再重新设置密码
- 重置密码后,我们需要从远程登录mysql,首先在阿里云控制台添加安全组,开放3306端口,详情见tomcat配置。然后连接,会出现类似以下的错误
ERROR 1103: Host *.*.*.* is not allowed to connect to
这是由于mysql服务端root用户所对应的客户端权限设置问题。默认所对应的客户端地址只有localhost(也就是服务端的机器),所以要增加相应的地址。此处,我们增加任何地址都可以访问mysql服务端的root用户。具体sql语句为:
mysql -u root –p
mysql>use mysql;
mysql>update user set host = '%' where user = 'root';
修改完毕后再尝试登陆,可能会出现以下错误:
错误码:1251 - Client does not support authentication protocol requested by server...
原因是mysql8 之前的版本中加密规则是mysql_native_password,而在mysql8之后,加密规则是caching_sha2_password,解决问题方法有两种,一种是升级navicat驱动,一种是把mysql用户登录密码加密规则还原成mysql_native_password。详情见博文
Navicat连接Mysql8.0.11出现1251错误
四、总结
过程并不顺利,特别是mysql8.0,8.0和之前的版本还是有较大的改动的,不过通过一次次的查找资料总算成功的配置成功。且行且珍惜
网友评论