装虚拟机是一件很简单的事情,但也可能会变得非常棘手,尤其是当你用的是Thinkpad。
问题一:
2017年我自学Java时,发现自己的机器(二手Thinkpad T430s)安装CentOS一直报错:
问题二:
后来好不容易装上了,又一直打印以下错误信息:
问题三:
饶了一大圈总算解决,结果发现安装MySQL又是一件苦差事。跟着崔老师学习JavaWeb时,安装的MySQL Server是5.6版本。但是我最近玩乐优商城时,发现5.6版本执行下面这个建表语句时会报错:
DROP
具体错误在:
`
原因:
mysql会默认为表中的第一个timestamp字段(且设置了NOT NULL)隐式设置DEFAULAT CURRENT_TIMESTAMP。上例那样的设置实际上等同于设置了两个CURRENT_TIMESTAMP,因此而报错。
使用MySQL5.7及以上就没问题了。
虽然这个问题不完全是软件的坑,但是总归让人不爽。所以我就想着升级到5.7。结果Linux下MySQL5.7的安装非常麻烦,而且网上很多博客都不具备可操作性...虽然有很多朋友劝我用docker,或者干脆yum自动安装。都是很好的建议,甚至我的这种办法是非常笨拙的。但这对熟悉linux命令行操作还算有益处(对刚接触Linux的新手)。所以这篇文章的目的有两个:
- 学会常用Linux操作
- 学会安装JDK/Tomcat/MySQL5.7
请先下载所有本次安装必须的软件(见评论区)
VMware10安装
按文档安装VMware
CentOS6.5安装
1-->请Thinkpad用户特别小心!务必先下载下方小工具,检查电脑是否开启虚拟化。
如果有红叉,请参考:
如果不知道自己的机子如何进入BIOS,请自行百度(一般开机狂按F2或F12)。
2-->按照文档,在VMware上安装CentOS
有两点需要注意:
- 本次安装是CentOS 64位,请选择CentOS 64
- Thinkpad用户,如果出现开头提到的“问题二”(指纹识别损坏),请安装CentOS后,移除USB
Secure Shell安装
因为无法直接在VMware上进行复制粘贴,对我们程序员非常不利。所以,我们采用Secure Shell远程操作Linux。安装很简单,一路next即可。
软件位置
Secure Shell上远程登录Linux,等同于本地操作
Secure Shell还集成了图形化界面,可以直接拖拽文件上传
用Secure Shell连接Linux时需要知道ip,请在VMware的Linux上登录后输入ifconfig获取。
对Secure Shell使用有疑问的话,请参考黑马32期day26的linux笔记。
JDK安装
0-->如果完全没学过Linux命令行,请根据黑马32期day26的linux笔记,敲一遍就好了
1-->通过Secure Sehll,上传jdk的压缩包到/usr/local下
2-->安装步骤(切换到Secure Shell命令行窗口):
1)查看当前Linux系统是否已经安装java
输入 rpm -qa | grep java
2)卸载两个openJDK
输入 rpm -e --nodeps 文件名
3) 解压jdk
cd /usr/local
tar –zxvf jdk-8u144-linux-x64.tar.gz
4)配置jdk环境变量
编辑/etc/profile配置文件
vim /etc/profile
将下面配置拷贝进去(黏贴到最后一行)
#set java environment
JAVA_HOME=/usr/local/jdk1.8.0_144
CLASSPATH=.:$JAVA_HOME/lib.tools.jar
PATH=$JAVA_HOME/bin:$PATH
export JAVA_HOME CLASSPATH PATH
退出保存
先按Esc,然后按出":",最后输入wq
5)重新加载/etc/profile配置文件
source /etc/profile
6)删除jdk的压缩包
rm -rf jdk-8u144-linux-x64.tar.gz
结束
Tomcat安装
1-->拖拽apache-tomcat-8.5.38.tar.gz到usr/local
2-->安装步骤
1)解压Tomcat
cd /usr/local
tar –zxvf apache-tomcat-8.5.38.tar.gz
2)开放Linux对外访问的端口8080
/sbin/iptables -I INPUT -p tcp --dport 8080 -j ACCEPT
/etc/rc.d/init.d/iptables save
3)启动(或者稍后关闭)Tomcat
进入tomcat的bin下启动:./startup.sh
进入tomcat的bin下关闭:./shutdown.sh
启动成功后,打开你windows本地的浏览器,尝试访问Tomcat:
比如 192.168.123.456:8080
结束
MySQL5.7安装
如果你是centos7.x推荐我基友的这篇,否则按我下面这种来吧:
尼克陈:阿里云CentOS安装Mysql数据库zhuanlan.zhihu.com
1-->还是拖拽安装包到/usr/local
2-->安装步骤
1)解压
cd /usr/local
tar -zxvf mysql-5.7.25-linux-glibc2.12-x86_64.tar.gz
2)删除压缩包
rm -rf mysql-5.7.25-linux-glibc2.12-x86_64.tar.gz
3)将刚才解压的文件夹改名为mysql
mv mysql-5.7.25-linux-glibc2.12-x86_64/ mysql
4)卸载系统自带mysql
查看:rpm -qa|grep mysql
卸载:rpm -e --nodeps 自带的mysql名称
如果查看没结果,说明没有自带mysql,直接下一步
5)创建用户组和用户
创建用户组:groupadd mysql
创建用户:useradd -r -g mysql mysql
6)给mysql用户指定专有用户和用户组
首先创建data目录
cd /usr/local/mysql
mkdir data
指定用户和用户组:
cd /usr/local
chown -R mysql mysql/
chgrp -R mysql mysql/
7)初始化mysql
cd /usr/local/mysql/bin
./mysqld --initialize --user=mysql --basedir=/usr/local/mysql/ --datadir=/usr/local/mysql/data/ --lc_messages_dir=/usr/local/mysql/share --lc_messages=en_US
8)配置my.cnf
vi /etc/my.cnf
然后拷贝下面代码进去
[mysqld]
basedir=/usr/local/mysql/
datadir=/usr/local/mysql/data/
退出保存
先按Esc,然后按出":",最后输入wq
9)启动
进入:cd /usr/local/mysql/bin
启动:./mysqld_safe --user=mysql &
10)设为开机启动
cd /usr/local/mysql/support-files/
cp mysql.server /etc/init.d/mysql
vi /etc/init.d/mysql
将mysql目录填上:
basedir=/usr/local/mysql/
datadir=/usr/local/mysql/data/
键盘↓,很快就找到了
授权:chmod +x /etc/init.d/mysql
设为开机启动:chkconfig --add mysql
11)登录mysql修改密码授权远程登录(Linux默认不允许远程访问MySQL)
进入:cd /usr/local/mysql/bin
登录:./mysql -u root -p
输入刚才保存的临时密码:xxxxxxxx(手动输入,不要复制,容易出错)
修改密码:set password=password("root");
登录授权:grant all privileges on *.* to'root' @'%' identified by 'root';
授权生效:flush privileges;
下次开启虚拟机,本机用navicat连接数据库时,用户名和密码均为:root
12)开放Linux的对外访问的端口3306
/sbin/iptables -I INPUT -p tcp --dport 3306 -j ACCEPT
/etc/rc.d/init.d/iptables save
结束!
快用Navicat远程访问MySQL试试吧!
MySQL5.7中文乱码解决:
https://blog.51cto.com/14497235/2429967
参考资料
1.黑马32期day26 linux笔记
2.(本文MySQL安装搬运自此)
如果觉得本文不够详细,不妨按上面两篇文档来。
2019-3-20 18:51:00