打包部署
打包项目
如果是一个maven项目,可以直接使用maven的打包。
可以直接右键点击run as然后maven install打包
部署项目
我们一般是部署在linux上,需要先安装jdk和tomcat。
具体步骤是
1、首先下载jdk和tomcat的jar包(注意版本)放在linux上的/usr/local/中,解压
2、然后修改linux的配置文件 etc下的profile
具体如下:
# Java
export JAVA_HOME=/usr/local/jdk1.8.0_131
export JRE_HOME=/usr/local/jdk1.8.0_131/jre
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib
export PATH=$JAVA_HOME/bin:$JRE_HOME/bin/:$PATH
注意如果没有自动生效,可以使用下面来生效
source /etc/profile
3、然后把项目放在tomcat的wepapp下即可,然后就可以启动tomcat
(注意目录)
bin/startup.sh
4、可以修改tomcat的配置文件中server.xml来配置项目路径:
5、也可以修改c盘的C:\Windows\System32下的host文件来配置tomcat的访问路径,即可以把192.168.133.128:808去掉。
开启mysql远程访问
此时直接运行项目会把数据库连接异常,原因是我的mysql是在window下的,而项目是在linux上部署运行的,linux上的项目连接windows下的数据库会会出错。
解决错误:
1、修改配置文件,不能用///,要使用//192.168.6.130:3306(本机ip进行访问)/
2、在cmd中开启root用户的远程连接权限
首先进入mysql:mysql -u -root -p
输入密码:123456
使用数据库:user mysql
修改权限:update user set host=’%’ where user=‘root’;
刷新:flush privileges;
此时就可以远程连接数据库了,项目也可以正常运行了。
在linux下安装mysql
1、下载mysq的linux的安装包
2、把压缩包放在usr/local下解压
tar -zxvf mysql-5.7.28-linux-glibc2.12-x86_64.tar.gz
3、改名:
mv mysql-5.7.28-linux-glibc2.12-x86_64 mysql
4、创建用户组:
groupadd mysql
5、创建用户在用户组:
useradd -r -g mysql mysql
6、创建文件夹:
mkdir -p /data/mysql
7、给用户操作文件的权限:
chown mysql:mysql -R /data/mysql
8、修改配置文件:
vim /etc/my.cnf
全复制(覆盖掉原先的)
[mysqld]
bind-address=0.0.0.0
port=3306
user=mysql
basedir=/usr/local/mysql
datadir=/data/mysql
socket=/tmp/mysql.sock
log-error=/data/mysql/mysql.err
pid-file=/data/mysql/mysql.pid
character_set_server=utf8mb4
symbolic-links=0
explicit_defaults-for_timestamp=true
9、初始化:
进入bin:
cd mysql/bin
./mysqld --defaults-file=/etc/my.cnf --basedir=/usr/local/mysql/ --datadir=/data/mysql/ --user=mysql --initialize
10、查看密码:
cat /data/mysql/mysql.err
11、复制文件:
cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql
12、启动:
service mysql start
登录
./mysql -u root -p
13、设置密码:
set password = password('123456');
14、修改原密码不用:
ALTER USER 'root'@'localhost' PASSWORD EXPIRE NEVER;
15、刷新数据库:
flush privileges;
开启远程连接:
use mysql;
update user set host='%' where user='root';
flush privileges;
可以在navicat中建立连接测试
关闭MySQL root用户远程访问权限:
use mysql;
update user set host = "localhost" where user = "root" and host = "%";
flush privileges;
打开MySQL root用户的远程访问权限:
use mysql;
update user set host = "%" where user = "root";
flush privileges;
重启mysql
service mysql restart
解决问题
一:执行下面代码的时候出错,
mysql -u root -p
原因:这是由于系统默认会查找/usr/bin下的命令,如果这个命令不在这个目录下,当然会找不到命令,我们需要做的就是映射一个链接到/usr/bin目录下,相当于建立一个链接文件。
首先得知道mysql命令或mysqladmin命令的完整路径,比如mysql的路径是:/usr/local/mysql/bin/mysql,我们则可以这样执行命令:
ln -s /usr/local/mysql/bin/mysql /usr/bin
建立软连接之后可以了。
二:初始化的密码不可以使用
解决:
首先,设置不用密码登录,在/etc/my.cnf中加入
skip-grant-tables #忽略mysql权限问题,直接登录
重启mysql
service mysql restart
进入mysql
mysql -u root -p
输入密码时直接回车进入就行。
然后修改root密码:
update mysql.user set authentication_string=password('123456') where user='root@localhost';
刷新重启即可:
flush privileges;
退出:
exit;
此时把配置文件的那句话删掉,然后重启mysql
service mysql restart
然后就可以登录进入,此时可能会出现无法进行任何操作(比如开启远程访问),
ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.
需要重新设置用户
alter user 'root'@'localhost' identified by '123456';
flush privileges;
exit;
再次进入就发现可以开启远程访问登录操作了,然后按照上面的步骤来开启远程访问即可。