centos7.4 + jdk1.8 + tomcat8.5 + mysql8配置

1.服务器是阿里云的centos7.4
jdk, tomcat和mysql都是tar包解压安装的

2.jdk1.8配置
了解wget命令的使用,如下

wget 所需文件的下载地址

了解tar解压命令,如下

tar -zvxf 需要解压的文件.tar.gz

我解压的时候报了下面这个错:
gzip: stdin: not in gzip format
tar: Child returned status 1
tar: Error is not recoverable: exiting now

原因是:我在线下载下来的安装包本身就是损坏的
怎么确定是否损坏呢?
命令:ls -lht 查看文件大小

并且与Windows上存放着的安装包的大小进行了比较。

果然是安装包本身就存在问题,重新下载就好了。
具体见:https://www.cnblogs.com/llxx07/p/6409384.html

然后就是配置jdk的环境了,使用vim编辑profile文件 输入:vim /etc/profile
向文件里面追加以下内容:

#set java environment
JAVA_HOME=/usr/java/jdk1.8.0_152
JRE_HOME=$JAVA_HOME/jre
PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin
CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib
export JAVA_HOME JRE_HOME PATH CLASSPATH

#注意PATH,一定记着加`$PATH`,不然的话,PATH就会被覆盖

若PATH被覆盖也不用怕:https://blog.csdn.net/u013129944/article/details/53906148

使配置文件生效:source /etc/profile
java -version查看是否成功

3.tomcat配置
直接用下载并解压,并开放8080端口便可以访问了
我是直接在阿里云控制台里打开加入安全规则打开端口的

http://ip:8080

用service来管理tomcat服务器的启动、关闭、重启、开机启动,见
https://blog.csdn.net/qq_32786873/article/details/78854878

4.mysql8的配置
参考:https://www.cnblogs.com/dadadechengzi/p/6723686.html

#卸载系统自带的Mariadb
[root@hdp265dnsnfs ~]# rpm -qa|grep mariadb
mariadb-libs-5.5.44-2.el7.centos.x86_64
[root@hdp265dnsnfs ~]# rpm -e --nodeps mariadb-libs-5.5.44-2.el7.centos.x86_64

#删除etc目录下的my.cnf文件

[root@hdp265dnsnfs ~]# rm /etc/my.cnf
rm: cannot remove ?etc/my.cnf? No such file or directory

#检查mysql是否存在
[root@hdp265dnsnfs ~]# rpm -qa | grep mysql
[root@hdp265dnsnfs ~]# 

#检查mysql组和用户是否存在,如无创建
[root@hdp265dnsnfs ~]# cat /etc/group | grep mysql 
[root@hdp265dnsnfs ~]#  cat /etc/passwd | grep mysql

#创建mysql用户组
[root@hdp265dnsnfs ~]# groupadd mysql
#创建一个用户名为mysql的用户并加入mysql用户组
[root@hdp265dnsnfs ~]# useradd -g mysql mysql
#制定password 为111111
[root@hdp265dnsnfs ~]# passwd mysql
Changing password for user mysql.
New password: 
BAD PASSWORD: The password is a palindrome
Retype new password: 
passwd: all authentication tokens updated successfully.

#安装到/var
[root@hdp265dnsnfs var]# tar -zxvf mysql-8.0.1.tar.gz 
[root@hdp265dnsnfs var]# mv mysql-8.0.1-x86_64/ mysql8

#更改所属的组和用户
[root@hdp265dnsnfs var]# chown -R mysql mysql8/
[root@hdp265dnsnfs var]# chgrp -R mysql mysql8/
[root@hdp265dnsnfs var]# cd mysql58/

[root@hdp265dnsnfs mysql57]# mkdir data

[root@hdp265dnsnfs mysql57]# chown -R mysql:mysql data

在etc下新建配置文件my.cnf,并在该文件内添加以下配置

[mysql]
# 设置mysql客户端默认字符集
default-character-set=utf8 
[mysqld]
skip-name-resolve
#设置3306端口
port = 3306 
# 设置mysql的安装目录
basedir=/var/mysql8
# 设置mysql数据库的数据的存放目录
datadir=/var/mysql8/data
# 允许最大连接数
max_connections=200
# 服务端使用的字符集默认为8比特编码的latin1字符集
character-set-server=utf8
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB 
lower_case_table_names=1
max_allowed_packet=16M

初始化就出问题了
参考:https://www.jb51.net/article/138790.htm
不能使用bin/mysql_install_db --user=mysql --basedir=/var/mysql8/ --datadir=/var/mysql8/data/
按照如下进行初始化:

#bin/mysqld --initialize --user=mysql --datadir=/data/mysql/
#bin/mysql_ssl_rsa_setup

执行./mysqld –initialize 时可能会报如下错误:
./bin/mysqld: error while loading shared libraries: libaio.so.1: cannot open shared object file: No such file or directory

原因是没有安装libaio.so.1,安装即可。
执行yum install libaio搞定

# cp ./support-files/mysql.server /etc/init.d/mysqld
# chown 777 /etc/my.cnf 
# chmod +x /etc/init.d/mysqld

# /etc/init.d/mysqld restart
Shutting down MySQL.. SUCCESS! 
Starting MySQL. SUCCESS! 

#设置开机启动

# chkconfig --level 35 mysqld on
# chkconfig --list mysqld

使用service管理mysql
# chmod +x /etc/rc.d/init.d/mysqld
# chkconfig --add mysqld
# chkconfig --list mysqld
# service mysqld status
 SUCCESS! MySQL running (4475)


#export PATH=$PATH:/var/mysql8/bin
#source /etc/profile

对chown和chmod做简单的了解:

chown是更改档案拥有者
chmod是更改文件权限rwx读写执行
语法为:chmod abc file 
其中a,b,c各为一个数字,分别表示User、Group、及Other的权限。 
r=4,w=2,x=1 
若要rwx属性则4+2+1=7; 
若要rw-属性则4+2=6; 
若要r-x属性则4+1=7-rw------- (600) -- 只有属主有读写权限。 
-rw-r--r-- (644) -- 只有属主有读写权限;而属组用户和其他用户只有读权限。 
-rwx------ (700) -- 只有属主有读、写、执行权限。 
-rwxr-xr-x (755) -- 属主有读、写、执行权限;而属组用户和其他用户只有读、执行权限。 
-rwx--x--x (711) -- 属主有读、写、执行权限;而属组用户和其他用户只有执行权限。 
-rw-rw-rw- (666) -- 所有用户都有文件读、写权限。这种做法不可取。 
-rwxrwxrwx (777) -- 所有用户都有读、写、执行权限。更不可取的做法。

具体见:http://justcoding.iteye.com/blog/1978270

密码修改:在my.cnf里添加--skip-grant-tables就可以跳过密码进入,记得service mysqld restart

将root密码置空
use mysql;  
update user set authentication_string='' where user='root';

退出,删除--skip-grant-tables并重启service mysqld restart
使用 ALTER 修改 root 用户密码

ALTER user 'root'@'localhost' IDENTIFIED BY 'Xpf123@';

具体见:https://blog.csdn.net/xinpengfei521/article/details/80400142

又有问题了,使用navicat连接时报错:
2059 - authentication plugin 'caching_sha2_password' -navicat连接异常
原因:

mysql 8.0 默认使用 caching_sha2_password 身份验证机制 
—— 从原来的 mysql_native_password 更改为 caching_sha2_password。
客户端不支持新的加密方式。

解决方案:修改用户的密码和加密方式

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'root';

见:https://blog.csdn.net/u012613251/article/details/80346665

可是,可是还有问题,

mysql> alter user 'root'@'localhost' identified by 'password';
ERROR 1396 (HY000): Operation ALTER USER failed for 'root'@'localhost'
mysql> select user ,host from user;
+------------------+-----------+
| user             | host      |
+------------------+-----------+
| root             | %         |
| mysql.infoschema | localhost |
| mysql.session    | localhost |
| mysql.sys        | localhost |
+------------------+-----------+
4 rows in set (0.00 sec)

这里root的host是%
是因为在我们开启MySQL远程访问权限 允许远程连接时,将host改成了%

use mysql;
update user set host='%' where user='root';

见:https://www.cnblogs.com/weifeng1463/p/7941625.html

猜你喜欢

转载自blog.csdn.net/ken1583096683/article/details/80837166
今日推荐