数据库的安装
考虑到mysql不能一直用5.0,就想在linux上安装mysql8.0,步骤和要点如下:
-
先用 rpm -qa | grep mysql 看看是否有mysql已经被安装过。如果有则先用 rpm -e 删除
-
从 https://dev.mysql.com/downloads/repo/yum/ 下载yum的仓库源,这是一个rpm文件,可以windowns通过lzsrs把它拖动到文件夹,也可以直接在linux下用以下命令来下载。
wget https://repo.mysql.com//mysql80-community-release-el7-1.noarch.rpm
-
下载得到一个名为
mysql80-community-release-el7-11.noarch.rpm
的文件,使用命令rpm -ivf mysql80-community-release-el7-11.noarch.rpm
安装这个rpm -
安装这个源以后。会在
/etc/yum.repos.d/
新增两个文件,他们叫做yum源,定义了yum安装某个软件时从那个网址下载资源以及各种资源的依赖关系,让yum可以安装mysql-comunity-server等软件。 -
可以用vim修改
mysql-community.repo
文件,这样就可以下载5.7而不是8.0,但我选择8.0 -
开始安装服务端,客户端,和开发工具包:
yum -y install mysql-community-client mysql-community-server mysql-community-devel
这三个组件都需要安装,一个服务端,一个 -
程序安装完后,
rpm-qa | grep mysql
应该就能看到这几个组件了。 -
启动Mysql服务,并设置开机启动:
-
- systemctl start mysqld
- systemctl enable mysqld
这样数据库就安装好了
第一次进入数据库
- 如果安装过程会给你一个随机密码的,那是root的初始密码。但大部分人都会错过,你可以到**/var/log/mysqld.log** 这个文件找到初始的随机密码,大概在第2~4行的样子。
- 也可以用另一种方式修改密码。
- 先在**/etc/my.cnf**这个文件添加一句命令:
skip-grant-tables
,重启mysqld服务:systemctl restart mysqld
就可以实现免密登录。 mysql -uroot -p
让你输入密码就按回车。alter user 'root'@'localhost'IDENTIFIED BY 'MyNewPass@123'
用这个命令来重置root的密码。注意,因为mysql8的新规定,要求密码有大小写字母和特殊符号,否则不让通过。- 修改好密码后,退出mysql,把**/etc/my.cnf**文件的
skip-grant-tables
这行命令删掉,重启服务,就能正常登陆。
- 先在**/etc/my.cnf**这个文件添加一句命令:
修改密码
- 开发时期用这么难的密码太碍事了,我们可以修改密码策略等级,来允许我们设置比较简单的密码。
-
set global validate_password.policy=0
可以让密码策略等级设置成最低。set global validate_password.length=4
可以让密码最短为4位- 但这只是暂时性的修改,一旦关闭mysql就又变成原来的了,但这也是我们需要的效果。
- 因为mysql8.0是用了新的密码加密模式来存储数据的,所以第三方可视化工具一般是不能登录的。我们可以把**/ect/my.cnf**下的
default-authentication-plugin=mysql_native_password
激活*(前面的井号去掉)*,这样就自动把密码存储格式变回8.0之前的,也可以把单个用户的密码改成用以前的策略加密: -
- alter user ‘root’@‘localhost’ IDENTIFIED WITH mysql_native_password BY ‘admin’ 这样就能把密码以之前的策略加密。
- 最后,因为mysql8.0默认是不允许远程登录的,root的host是localhost。只能从本地登录,用以下命令可以把指定用户的host变成% ,这样就能从任意主机访问这个用户了。
-
- update user set host = ‘%’ where user = ‘root’;(其实就是简单的修改数据库表)
- 大功告成,现在可以从任意主机的任意第三方软件访问linux虚拟机上的数据库啦。
修改时区问题
-
mysql8.0的一个好处就是不用专门修改字符集,但是时区还是会乱的。要在/etc/my.cnf中修改:
default-time_zone = '+8:00'
my.cnf
是mysql的所有配置文件,想执行任何持久化的配置都应该修改这里的信息。
其他软件的安装
tomcat和jdk
- tomcat和java都只需要解压安装,然后配置/etc/profile即可
Redis的安装
- 解压好在官网下载的redis以后,进入目录直接执行make install 命令就可以编译安装,安装完成输入make test可以尝试redis是否安装成功
部署过程中踩到的坑:
- 必须保证linux中的jdk版本大于等于项目依赖的jdk版本,我就是因为linux的jdk版本太低,以至项目报404错误。
- 有时验证码无法显示,我也不知道原因,按照网上的方法就可以解决:
-
- 找到${TOMCAT_HOME}/bin/catalina.sh (windows修改catalina.bat)。
- 查找到-Djava.io.tmpdir="$CATALINA_TMPDIR"这行,
- 并在这一行下加入:-Djava.awt.headless=true \,总共有7处需要添加。
目前就这些,有再来更新。