yum安装mysql5.7 简书_阿里云服务器(centos7.3)上安装jdk、tomcat、mysql、redis

前言:

平时我们敲的项目,只能在本地浏览,不论项目写得怎么样只有自己看得到,只有发布到了云服务器,别人才能访问得到。学习之路就是这样,当别人能访问自己的项目时,会更有成就感,所以接下来就一起看看阿里云服务器的购买以及各种环境的安装。

一、阿里云服务器的购买及远程连接(学生优惠产品):

1、打开阿里云云翼计划网站。

2、选择服务器进行购买:

AAffA0nNPuCLAAAAAElFTkSuQmCC

图片发自简书App

用支付宝登录进行付款就行了。

3、设置密码、查看公网IP:

购买成功后,进入管理控制台,进入自己的服务器。

AAffA0nNPuCLAAAAAElFTkSuQmCC

图片发自简书App

进入后可以设置root用户密码,查看公网IP。

AAffA0nNPuCLAAAAAElFTkSuQmCC

图片发自简书App

4、远程登录阿里服务器:

这里通过SecureCRT软件来进行远程连接(SecureCRT的安装即使用请参考SecureCRT的安装)。

打开软件后执行如下操作:

AAffA0nNPuCLAAAAAElFTkSuQmCC

图片发自简书App

AAffA0nNPuCLAAAAAElFTkSuQmCC

图片发自简书App

然后会要你输入密码,输入刚才设置的密码就行了。

AAffA0nNPuCLAAAAAElFTkSuQmCC

图片发自简书App

这样就连接上了。

5、开放端口(很重要):

百度"阿里云控制台",登录以后进入自己买服务器管理界面,开放如下端口,以供redis、mysql能正常使用(6379是redis的端口)。

AAffA0nNPuCLAAAAAElFTkSuQmCC

图片发自简书App

二、安装环境:

本文介绍jdk、tomcat、redis、mysql的安装,所需的软件都可以先下载到windows上,然后通过filezilla传到阿里云服务器上,或者直接在已经连接上了阿里云服务器的SecureCRT上通过wget命令进行下载。(本人是先下载到windows上,然后通过filezilla传到阿里云服务器的,如果直接在阿里云服务器上用wget下载,请忽略下面的上传步骤。)

㈠、jdk的安装:

1、下载jdk:

给出下载地址:jdk官网下载。

AAffA0nNPuCLAAAAAElFTkSuQmCC

图片发自简书App

选择图中圈出的版本,jdk版本可以自己选,但是后缀是.rpm的。

2、安装jdk:

①、把jdk上传到阿里云服务器:(如下图,需要的软件我都事先已上传,下面其他软件的上传不再配图。)

AAffA0nNPuCLAAAAAElFTkSuQmCC

图片发自简书App

②、添加可执行权限:

chmod +x jdk-8u171-linux-x64.rpm

③、安装rpm包:

rpm -ivh jdk-8u171-linux-x64.rpm

3、查看是否安装成功:

输入java -version,出现下图说明安装成功。

AAffA0nNPuCLAAAAAElFTkSuQmCC

图片发自简书App

㈡、tomcat的安装:

1、tomcat的下载:

给出下载地址:tomcat官网下载。下载tar.gz那个。

AAffA0nNPuCLAAAAAElFTkSuQmCC

图片发自简书App

2、安转tomcat:

①、把tomcat传到阿里云服务器上。

②、解压tomcat压缩包:

tar -zxvf apache-tomcat-8.5.31.tar.gz

③、启动tomcat:

./apache-tomcat-8.5.31/bin/startup.sh

如下图则启动成功:

AAffA0nNPuCLAAAAAElFTkSuQmCC

图片发自简书App

㈢、redis的安装:

1、下载redis:

给出下载地址:redis官网下载。选择一个版本下载即可。

2、安装redis:

①、把redis上传到阿里云服务器。

②、解压:

tar -zxvf redis-4.0.9.tar.gz

③、修改配置:

vim redis-4.0.9/redis.conf

AAffA0nNPuCLAAAAAElFTkSuQmCC

图片发自简书App

设置允许远程连接:

AAffA0nNPuCLAAAAAElFTkSuQmCC

图片发自简书App

设置为守护进程:

AAffA0nNPuCLAAAAAElFTkSuQmCC

图片发自简书App

设置完后保存退出。

④、安装redis:

cd redis-4.0.9

make

AAffA0nNPuCLAAAAAElFTkSuQmCC

图片发自简书App

⑤、启动redis服务:

在redis-4.0.9目录下执行:

src/redis-server redis.conf

⑥、连接测试:

在redis-4.0.9目录下执行:

src/redis-cli

AAffA0nNPuCLAAAAAElFTkSuQmCC

图片发自简书App

这样便连接成功了。

㈣、mysql的安装:

mysql的安装遇到了很多坑,折腾了好久好久才搞定,而且遇到的坑百度上也没有类似问题的解决办法,所以接下来会把我遇到的坑也记录下来。

1、下载mysql:

给出下载地址:mysql官网下载。下载的是RPM Package,大小只有几十kb。

2、安装mysql:

①、把rpm包上传到阿里云服务器。

②、安装rpm包:

rpm -Uvh mysql57-community-release-el7-11.noarch.rpm

AAffA0nNPuCLAAAAAElFTkSuQmCC

图片发自简书App

(图片中mysql版本与上面命令中版本不一致,换成自己的mysql版本,看到了两个100%就执行成功了。)

③、安装mysql:

yum install mysql-community-server

第一个坑来了,执行上述命令后,并没有成功安装,报了如下图的错误:

AAffA0nNPuCLAAAAAElFTkSuQmCC

图片发自简书App

遇到错误怎么办,当然是百度啦。然鹅,百度了一天也没有找到有用的答案。后来我就想,错误提示说requires: libsasl2.so,说明目前没那东西,那么把它安装上去应该就可以了。顺着这个思路,又是一阵百度,终于得解:

Ⅰ、下载cyrus-sasl-lib的rpm包:

下载地址:cyrus-sasl-lib下载地址。

AAffA0nNPuCLAAAAAElFTkSuQmCC

图片发自简书App

Ⅱ、把下载的rpm包传到阿里云服务器。

Ⅲ、执行如下命令进行安装:

yum install cyrus-sasl-lib

安装好了这个再执行第③步的命令,就可以成功安装mysql了。(安装成功太激动了,忘记截图了(,,•́ . •̀,,))。

④、启动mysql服务:

service mysqld start

AAffA0nNPuCLAAAAAElFTkSuQmCC

图片发自简书App

如图启动成功。

⑤、登录mysql:

mysql安装后会为root用户生成一个临时密码,存储在 /var/log/mysqld.log中,使用grep 'temporary password' /var/log/mysqld.log命令即可获取临时密码。教程这么说的,我输入命令后就懵逼了,因为啥也没有。我又打开了mysqld.log文件,发现里面确实没有临时密码。这就是我遇到的第二个坑。

解决思路:

既然没有生成临时密码,那我们就设置免密登录,登录后改一个密码,再把免密登录去掉,然后就能用自己改的密码登录了。

解决过程:

Ⅰ、修改mysql配置文件:

vim /etc/my.cnf

在[mysqld]的段中加上一句:skip-grant-tables。

AAffA0nNPuCLAAAAAElFTkSuQmCC

图片发自简书App

设置好后保存退出。

Ⅱ、重新启动mysql服务:

service mysqld restart

这样就可以不用密码登录mysql了。

Ⅲ、登录mysql:

直接输入命令mysql即可登录。

⑥、设置登录密码:

登录后,就可以操作mysql数据库了。因为现在我们是免密登录,但是没密码总是不安全的,所以设置一个密码。

执行如下命令:

ALTER USER 'root'@'localhost' IDENTIFIED BY '123';

又遇坑了,报错:

your password does not satisfy the current policy requirements。

凭借着我小学的英语水平勉强看懂错误信息大概是说密码不满足要求。百度了才知道mysql为了加上安全性,密码至少8位,且得有数字、英文、符号等。那么就设置一个满足它要求的密码即可。可是为了方便记忆,-我就要设置123为密码怎么办呢?解决办法如下:

依次执行下面的命令:

设置密码检验策略:

set global validate_password_policy = 0;

AAffA0nNPuCLAAAAAElFTkSuQmCC

图片发自简书App

设置大小写字母最少个数:

set global validate_password_mixed_case_count = 0;

AAffA0nNPuCLAAAAAElFTkSuQmCC

图片发自简书App

设置密码包含数字最少数:

set global validate_password_number_count = 3;

AAffA0nNPuCLAAAAAElFTkSuQmCC

图片发自简书App

特殊字符个数:

set globa validate_password_special_char_count = 0;

AAffA0nNPuCLAAAAAElFTkSuQmCC

图片发自简书App

密码最小长度

set global validate_password_length = 3;

AAffA0nNPuCLAAAAAElFTkSuQmCC

图片发自简书App

设置完后再次执行

ALTERUSER'root'@'localhost'IDENTIFIEDBY'123';就可以了。

设置了密码,我们再把my.cnf中免密登录的那段话注释掉,执行mysql -uroot -p,回车,输入设置的密码重新登录到mysql中来。

⑦、配置支持远程登录的账号:

登录到mysql后,依次执行下面两条语句:use mysql;

grant SELECT,UPDATE,INSERT,DELETE on *.* to 'work'@'%' identified by '123';

flush privileges;

这里是配置了一个work账号,密码也为123,第三条语句是更新配置的意思。

但是,当我输入第一条命令时又报错了,错误如下图。我参考的教程可是一个错误都没出现,咋我的就那么多问题,命苦 ▄█▀█给跪了 。

AAffA0nNPuCLAAAAAElFTkSuQmCC

图片发自简书App

(图中执行的命令是show database,反正此刻执行任何语句都报下面的错。)

错误的大概意思是要重新设置一遍密码,执行如下命令:

set password = password('123');

执行这条命令之后,就不会报错了。再执行上面3条命令,就创建了一个支持远程登录的work账号。

⑧、测试远程连接:

我们用navicat进行远程连接测试:

AAffA0nNPuCLAAAAAElFTkSuQmCC

图片发自简书App

AAffA0nNPuCLAAAAAElFTkSuQmCC

图片发自简书App

连接成功,至此,mysql的安装总算搞定了!

总结:

由于本人linux知识比较欠缺,所以在安装的过程中遇到了各种问题,尤其是mysql的安装,折腾了最久,但是坚持下来最终都得以解决。遇到问题,never give up,就会有收获!

以上内容属于个人笔记整理,如有错误,欢迎批评指正!

作者:贪挽懒月

链接:https://www.jianshu.com/p/1752e49e0d29

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/526055.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

卸载源码安装mysql_CentOS7下源码安装MySQL5.7.6+

卸载CentOS7默认携带的mariadb包# 检查mariadb安装包[rootwing ~]# rpm -qa | grep -i mysql[rootwing ~]# rpm -qa | grep -i mariadbmariadb-libs-5.5.50-1.el7_2.x86_64# 卸载mariadb安装包[rootwing ~]# rpm -e mariadb-libs-5.5.50-1.el7_2.x86_64error: Failed dependenc…

android paint 线宽_android Paint 设置线宽setStrokeWidth()的单位

首先画一个空心的矩形框,代码如下:public class MainActivity extends Activity {Overridepublic void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);ImageView image (ImageView…

python绘制四边螺旋线代_解决python彩色螺旋线绘制引发的问题

彩色螺旋线的绘制代码如下:import turtleimport timeturtle.pensize(2)turtle.bgcolor(black)colors [red, yellow, purple, blue]turtle.tracer(False)for x in range(400):turtle.forward(2*x)turtle.color(colors[x % 4])turtle.left(91)turtle.tracer(True)tim…

java的excel导出_java 实现excel 导出功能

1 //导出数据2 //SELECT SUBSTRING(create_time,1,10) s,COUNT(*) FROM data_read WHERE data_id IN (SELECT data_id FROM DATA WHERE model_id2 OR model_id27) GROUP BY s3 RequestMapping(params "methodoutData",method RequestMethod.GET)4 public voidoutCom…

java如何让线程阻塞_Java中如何使一个线程进入阻塞态?

按我的理解,当一个线程需要获取的锁被另一个线程占用时,将进入阻塞态。但实际好像不是这样的,下面是我的代码。在run方法中会调用MyBlock的isBlocked方法,该方法添加了synchronized限定。在main方法中创建两个线程:t1和…

java监听焦点事件_【Java Swing公开课|Java Swing焦点事件监听器怎么用,看完这篇文章你一定就会了】- 环球网校...

【摘要】作为一门面向对象编程语言,Java吸收了C语言的优点,也展现了其强大的一面,我们能在各个地方看到其功能强大和简单易用的两个特征,当然,也吸引了很多程序员的注意力,所以就有人想了解Java的相关内容&…

idea创建java项目目录结构_用IDEA创建一个简单的Maven的JavaWeb项目

1.项目环境IDEA:2016.2JDK:1.8.0_76Maven:3.2.52.File-->New-->Project-->Maven3.选择Project SDK:1.8,然后勾选下方的Create from archetype,选择maven archetype webapp,点击Next4.填…

java min 函数的使用方法_【Python】Java程序员学习Python(五)— 函数的定义和使用...

不想做一个待宰的羔羊!!!!要自己变得强大。。。。函数的定义和使用放在最前边还是有原因的,现在语言趋于通用,基本类型基本都是那些,重点还是学习对象的使用方法,而最根本的还是方法…

java 斜率求角度_计算两条线之间的角度而不必计算斜率? (Java)

我有两条线:L1和L2。我想计算两条线之间的角度。 L1具有点:{(x1,y1),(x2,y2)}和L2具有点:{(x3,y3),(x4,y4)}。如何计算这两条线之间形成的角度,而不必计算斜率…

java runtime类 heap_Java 进阶(一) JVM运行时内存模型

1.JVM运行时数据区域的划分a.程序计数器(Program Counter Register)一块较小的内存空间,可以看作是当前线程所执行的字节码的行号指示器。每个线程拥有独立的一个计数器,如果当前执行的是Native方法,则计数器值为空。b.JVM栈(Java Virtual Ma…

jmeter java性能_jmeter java性能测试

本篇文章主要讲解jmeter如何测试java请求,以项目中某个接口为例,请求数据为post,返回也为post1:新建maven工程,pom文件为1 2 xsi:schemaLocation"http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd…

mysql 换服务器_更换MYSQL后数据库连接问题

【IT168 服务器学院】查看MYSQL数据库中 数据库与用户的连接方式>mysql -uroot -ppassword>use mysql;>select User,host,Password from user;问题:将备份的MYSQL数据库CP回DATA下后,老是连接数据库出错,或是提示UPDATE之类&#xf…

java 向上转型_java向上转型和向下转型

转型是在继承的基础上而言的,继承是面向对象语言中,代码复用的一种机制,通过继承,子类可以复用父类的功能,如果父类不能满足当前子类的需求,则子类可以重写父类中的方法来加以扩展。向上转型:子…

ckeditor java 上传_java使用CKEditor实现图片上传功能

java如何使用ckeditor实现图片上传功能,具体内容如下1.根据实际需要下载指定的ckeditor2.删除文件ckeditor/plugins/image/dialogs/image.js预览框中文本内容,并修改hidden属性值为显示上传选项卡删除image.js中包含在双引号中的上述文本将image.js中的h…

imsi序列号_IPhone 获取IMSI序列号

获取IPhone的IMSI序列号 无 #include dlfcn.h#define PRIVATE_PATH "/System/Library/PrivateFrameworks/CoreTelephony.framework/CoreTelephony"- void getImsi(){#if !TARGET_IPHONE_SIMULATOR void *kit dlopen(PRIVATE_PATH,RTLD_LAZY); NSString *imsi获取IPh…

java如何实现信号量_使用二进制信号量实现通用信号量

看到你的问题图像后,输入信号量的目的是只允许单个进程/线程等待锁定,如果你不使用它,其他进程将进入等待队列 .why we need the entry semaphore条目信号量未使用任何值初始化,如果它是全局声明的,则它将初始化为0.因…

java定时任务什么时间e结束_Java定时任务

public classQuartzManager {private static SchedulerFactory schedulerFactory newStdSchedulerFactory();/*** Description: 添加一个定时任务**paramjobName 任务名*paramjobGroupName 任务组名*paramtriggerName 触发器名*paramtriggerGroupName 触发器组名*paramjobClas…

Java中运用数组的四种排序方法_JAVA中运用数组的四种排序方法

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼快速排序public class TestMain {public static void main(String[] args) {Integer[] list{34,3,53,2,23,7,14,10};QuicSort qsnew QuicSort();qs.quick(list);for(int i0;iSystem.out.print(list[i]" ");}System.out.p…

java 时间转中文_使用JScript把时间转成中文

测试页function TimeCtrl(){this.DateObj new Date();this.toGb function(Str){Str Str.toString();if(/^\d$/.test(Str)){var NewStr "";var GBNum "零一二三四五六七八九";for(var i 0; i < Str.length; i){NewStr GBNum.charAt(Str.charAt(i)…

java比赛用多重for_关于 Java 中 for的多重循环

1、i1&#xff0c;赋值2、判断 i < 3(i为1)&#xff0c;结果为 true&#xff0c;进入循环体 A&#xff1a;for (int j 1;j < i;j) {System.out.print("*");} System.out.println(); 这部分。3.0、执行循环体 A。3.1、j 1&#xff0c;赋值3.2、判断 j < i …