Ubuntu配置JDK、MySQL和Tomcat遇到的一些坑

之前买了阿里云的Ubuntu服务器,安装JDK、MySQL和Tomcat的时候遇到了一些问题,折腾了挺长时间,这里是一些记录。

安装配置JDK

windows上下载的jdk-8u161-linux-i586.tar.gz用xshell执行rz命令上传到阿里云的ubuntu,然后执行mkdir /usr/java建一个文件夹,再执行tar zxvf jdk-8u161-linux-i586.tar.gz -C /usr/java解压到java目录下,
之后执行vim ~/.bashrc在文件尾添加以下内容设置环境变量:

1
2
3
4
export JAVA_HOME=/usr/java/jdk1.8.0_151
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:{JAVA_HOME}/lib:{JRE_HOME}/lib
export PATH={JAVA_HOME}/bin:PATH

这里遇到了报错-bash: java/ jdk1.8.0_131/bin/java: cannot execute binary file,是因为我下载的JDK是64位的,而ubuntu是32位的…使用getconf LONG_BIT命令可以查看linux位数。

安装配置Mysql

安装时有遇到Err http://mirrors.aliyun.com/ubuntu 404 Not Found,执行sudo apt-get update就可以了。

网上学到的一个技巧:如果忘记了MySQL账户的密码,文件/etc/mysql/debian.cnf里有个MySQL用户debian-sys-maint。可以mysql -u debian-sys-maint -p使用文件提供的密码登录MySQL修改root的密码。

修改MySQL密码时因为设置的密码过于简单会报错Your password does not satisfy the current policy requirements,处理如下:

1
2
3
4
5
6
7
8
9
10
11
12
mysql> update mysql.user set authentication_string=password('123456') where user='root' and Host ='localhost';
ERROR 1819 (HY000): Your password does not satisfy the current policy requirements

mysql> set global validate_password_policy=0;
Query OK, 0 rows affected (0.00 sec)

mysql> set global validate_password_length=4;
Query OK, 0 rows affected (0.00 sec)

mysql> update mysql.user set authentication_string=password('123456') where user='root' and Host ='localhost';
Query OK, 1 row affected, 1 warning (0.00 sec)
Rows matched: 1 Changed: 1 Warnings: 1

安装配置tomcat

安装运行之后不能使用外网访问,执行ufw allow 8080允许外网可以访问8080端口
然后配置阿里云安全组,找到自己的实例,点击更多-安全组配置-配置规则-添加安全组规则配置端口范围8080/8080授权对象0.0.0.0/0之后就可以了。