CentOS7上安装与配置Tomcat8与MySQL5.7

一、安装tomcat

Tomcat 的安装依赖 JDK,在安装 Tomcat 之前需要先安装 Java JDK。输入命令 java -version,如果显示 JDK 版本,证明已经安装了 JDK。

JDK安装好后,接下来下载并解压tomcat安装包。

配置端口号,进入 tomcat 的 conf 目录下,修改 server.xml 文件,可以修改端口,默认 8080。

启动 tomcat,进入 tomcat 的 bin 目录下:

如果访问 http://ip:8080/ 失败,查看防火墙开放端口:

firewall-cmd --zone=public --list-ports

 如没有8080,添加8080:

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

 至此,http://ip:8080/ 应该可以访问了。见下图:

二、安装MySQL

1.在安装之前,为防止重装,所以先卸载MySQL。

yum方式:

查看yum方式是否安装过MySQL。

如或显示了列表,说明系统中有MySQL。

yum卸载。根据列表上的名字进行卸载:

yum remove mysql-community-client.x86_64  mysql-community-common.x86_64  mysql-community-libs.x86_64  mysql-community-server.x86_64 mysql57-community-release.noarch
rm -rf /var/lib/mysql  
rm /etc/my.cnf

 rpm查看安装。

rpm 卸载:

rpm -e mysql-community-common-5.7.23-1.el7.x86_64
rpm -e mysql-community-server-5.7.23-1.el7.x86_64
rpm -e mysql-community-libs-5.7.23-1.el7.x86_64
rpm -e mysql57-community-release-el7-10.noarch
rpm -e mysql-community-client-5.7.23-1.el7.x86_64
cd /var/lib/  
rm -rf mysql/

 清除余项:

whereis mysql
mysql: /usr/bin/mysql /usr/lib64/mysql /usr/local/mysql /usr/share/mysql /usr/share/man/man1/mysql.1.gz
#删除上面的文件夹
rm -rf /usr/bin/mysql

 删除配置:

rm –rf /usr/my.cnf
rm -rf /root/.mysql_sercret

 剩余配置检查:

chkconfig --list | grep -i mysql
chkconfig --del mysqld

 2.安装MySQL。

yum安装,先要搞到源。

wget http://repo.mysql.com/mysql57-community-release-el7-9.noarch.rpm
sudo rpm -ivh mysql57-community-release-el7-9.noarch.rpm

 更新yum软件包:

yum check-update 

 更新系统:

yum update

 安装mysql:

yum install mysql mysql-server

 接下来是漫长的等待。如果中途关机,或者下载挂了,请执行卸载步骤后,再来一次。

完成后,记住要给root上密码。如果使用中发现:

这是因为,为了加强安全性,MySQL5.7为root用户随机生成了一个密码,在error log中,关于error log的位置,如果安装的是RPM包,则默认是/var/log/mysqld.log。

一般可以通过log_error设置。可以通过# grep "password" /var/log/mysqld.log 命令获取MySQL的临时密码。

用该密码登录到服务端后,必须马上修改密码,不然会报如下错误:

如果只是修改为一个简单的密码,会报以下错误:

这个其实与validate_password_policy的值有关。

validate_password_policy有以下取值:

PolicyTests Performed
0 or LOW Length
1 or MEDIUM Length; numeric, lowercase/uppercase, and special characters
2 or STRONG Length; numeric, lowercase/uppercase, and special characters; dictionary file

默认是1,即MEDIUM,所以刚开始设置的密码必须符合长度,且必须含有数字,小写或大写字母,特殊字符。

有时候,只是为了自己测试,不想密码设置得那么复杂,譬如说,我只想设置root的密码为123456。

必须修改两个全局参数:

首先,修改validate_password_policy参数的值:

这样,判断密码的标准就基于密码的长度了。这个由validate_password_length参数来决定。

其中,validate_password_number_count指定了密码中数据的长度,validate_password_special_char_count指定了密码中特殊字符的长度,validate_password_mixed_case_count指定了密码中大小字母的长度。

这些参数,默认值均为1,所以validate_password_length最小值为4,如果你显性指定validate_password_length的值小于4,尽管不会报错,但validate_password_length的值将设为4。

如果修改了validate_password_number_count,validate_password_special_char_count,validate_password_mixed_case_count中任何一个值,则validate_password_length将进行动态修改。

当然,前提是validate_password插件必须已经安装,MySQL5.7是默认安装的。

那么如何验证validate_password插件是否安装呢?可通过查看以下参数,如果没有安装,则输出将为空。

给root更改密码:

systemctl start mysqld mysql -u root 
mysql> update mysql.user set authentication_string=password('new_password') where user='root' and Host ='localhost';
mysql> flush privileges;
mysql> quit;

3.远程连接MySQL

另外,我们可以将在VMware的centOS中安装的MySQL配置为支持远程连接。

在CentOS7中执行:

service iptables start/stop

 会报错:

Failed to start iptables.service: Unit iptables.service failed to load: No such file or directory.

 可以采取传统的防火墙管理方式。执行以下命令:

systemctl stop firewalld
systemctl mask firewalld

 安装iptables-services:

yum install iptables-services

 设置开机启动:

systemctl enable iptables
systemctl stop iptables
systemctl start iptables
systemctl restart iptables
systemctl reload iptables

保存设置:

service iptables save

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

posted @ 2018-09-25 18:09  奔跑在梦想的道路上  阅读(1218)  评论(0编辑  收藏  举报