Linux 部署应用程序 Java Tomcat Mysql

安装 Java

解压缩并移动到指定目录

  • 解压缩:tar -zxvf jdk-8u141-linux-x64.tar.gz
  • 创建目录:mkdir -p /usr/local/java
  • 移动安装包:mv jdk1.8.0_141/ /usr/local/java/
  • 设置所有者:chown -R root:root /usr/local/java/

配置环境变量

  • 配置系统环境变量:vi /etc/environment
  • 修改系统环境变量
PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games"
export JAVA_HOME=/usr/local/java/jdk1.8.0_141
export JRE_HOME=/usr/local/java/jdk1.8.0_141/jre
export CLASSPATH=$CLASSPATH:$JAVA_HOME/lib:$JAVA_HOME/jre/lib
  • 配置用户环境变量:vi /etc/profile
  • 修改用户环境变量
if [ "$PS1" ]; then
  if [ "$BASH" ] && [ "$BASH" != "/bin/sh" ]; then
    # The file bash.bashrc already sets the default PS1.
    # PS1='\h:\w\$ '
    if [ -f /etc/bash.bashrc ]; then
      . /etc/bash.bashrc
    fi
  else
    if [ "`id -u`" -eq 0 ]; then
      PS1='# '
    else
      PS1='$ '
    fi
  fi
fi
export JAVA_HOME=/usr/local/java/jdk1.8.0_141
export JRE_HOME=/usr/local/java/jdk1.8.0_141/jre
export CLASSPATH=$CLASSPATH:$JAVA_HOME/lib:$JAVA_HOME/jre/lib
export PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH:$HOME/bin
if [ -d /etc/profile.d ]; then
  for i in /etc/profile.d/*.sh; do
    if [ -r $i ]; then
      . $i
    fi
  done
  unset i
fi
  • 使用户环境变量生效:source /etc/profile

验证安装是否成功

java -version
# 输出如下
java version "1.8.0_141"

安装 Tomcat

解压缩并移动到指定目录

  • 解压缩:tar -zxvf apache-tomcat-8.5.34.tar.gz
  • 变更目录:mv apache-tomcat-8.5.34 tomcat
  • 移动目录:mv tomcat/ /usr/local/

验证安装是否成功

  • 启动:
    • /usr/local/tomcat/bin/startup.sh
    • ./startup.sh
  • 停止:
    • /usr/local/tomcat/bin/shutdown.sh
    • ./shutdown.sh

安装 MySQL

安装

  • 更新数据源:apt-get update
  • 安装数据库:apt-get install mysql-server

注意: 系统将提示您在安装过程中创建 root 密码。选择一个安全的密码,并确保你记住它,因为你以后需要它。接下来,我们将完成 MySQL 的配置。

配置

注意: 因为是全新安装,您需要运行附带的安全脚本。这会更改一些不太安全的默认选项,例如远程 root 登录和示例用户。在旧版本的 MySQL 上,您需要手动初始化数据目录,但最新的 MySQL 已经自动完成了。

mysql_secure_installation

这将提示您输入您在之前步骤中创建的 root 密码。您可以按 Y,然后 ENTER 接受所有后续问题的默认值,但是要询问您是否要更改 root 密码。您只需在之前步骤中进行设置即可,因此无需现在更改。

验证安装是否成功

按上边方式安装完成后,MySQL 应该已经开始自动运行了。要测试它,请检查其状态。

systemctl status mysql
# 输出如下
● mysql.service - MySQL Community Server
   Loaded: loaded (/lib/systemd/system/mysql.service; enabled; vendor preset: enabled)
   Active: active (running) since Tue 2017-11-21 13:04:34 CST; 3min 24s ago
 Main PID: 2169 (mysqld)
   CGroup: /system.slice/mysql.service
           └─2169 /usr/sbin/mysqld
Nov 21 13:04:33 ubuntu systemd[1]: Starting MySQL Community Server...
Nov 21 13:04:34 ubuntu systemd[1]: Started MySQL Community Server.

常用命令

  • 查看版本:mysqladmin -p -u root version
  • 启动:service mysql start
  • 停止:service mysql stop
  • 重启:service mysql restart
  • 登录:mysql -u root -p
  • 授权:grant all privileges on *.* to 'root'@'%' identified by 'Your Password';

扩展阅读

配置使用密码方式登录

在安装过程中可能没有提示密码设置的环节此时默认使用的是 auth_socket 方式登录,我们需要修改为 mysql_native_password 方式,操作步骤如下

#本地登录 MySQL,此时无需输入密码
mysql -u root -p
#切换数据库到 mysql
use mysql;
#修改 root 账号密码
update user set authentication_string=password('123456') where user='root';
#设置登录模式
update user set plugin="mysql_native_password";
#刷新配置
flush privileges;
#退出 MySQL
exit;
#重新启动 MySQL
systemctl restart mysql

配置远程访问

#修改配置文件
vi /etc/mysql/mysql.conf.d/mysqld.cnf
#注释掉(语句前面加上 # 即可):
# bind-address = 127.0.0.1
#重启 MySQL
service mysql restart
#登录 MySQL
mysql -u root -p
#授权 root 用户允许所有人连接
grant all privileges on *.* to 'root'@'%' identified by '123456';

因弱口令无法成功授权解决步骤

#查看和设置密码安全级别
select @@validate_password_policy;
set global validate_password_policy=0;
#查看和设置密码长度限制
select @@validate_password_length;
set global validate_password_length=1;

其它配置

#修改配置文件:
vi /etc/mysql/mysql.conf.d/mysqld.cnf

[client]
default-character-set=utf8
[mysqld]
default-storage-engine=INNODB
character-set-server=utf8
collation-server=utf8_general_ci
lower-case-table-names=1

注意: 配置内容追加到对应节点的底部即可

ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)

#[mysqld]后面任意一行添加“skip-grant-tables”用来跳过密码验证的过程

[mysqld]
skip-grant-tables

#修改root的密码
mysql -u root -p
mysql> update user set password=password("123456") where user="root";
mysql> flush privileges;
mysql> quit

出现Unknown column 'password' in 'field list'

update mysql.user set authentication_string=password('123456') where user='root' ;

Mysql添加用户与授权

#1、以root用户登录Mysql
#mysql -uroot -proot

#2、切换到mysql数据库
#use mysql

#3、添加用户 只允许指定ip连接
#create user '新用户名'@'localhost' identified by '密码';
#允许所有ip连接(用通配符%表示)
#create user '新用户名'@'%' identified by '密码';

#4、为新用户授权
#基本格式如下
#grant all privileges on 数据库名.表名 to '新用户名'@'指定ip' identified by '新用户密码' ;
#示例
#允许访问所有数据库下的所有表
#grant all privileges on *.* to '新用户名'@'指定ip' identified by '新用户密码' ;
#指定数据库下的指定表
#grant all privileges on test.test to '新用户名'@'指定ip' identified by '新用户密码' ;

#5、设置用户操作权限
#设置用户拥有所有权限也就是管理员
#grant all privileges on *.* to '新用户名'@'指定ip' identified by '新用户密码' WITH GRANT OPTION;
#拥有查询权限
#grant select on *.* to '新用户名'@'指定ip' identified by '新用户密码' WITH GRANT OPTION;
#其它操作权限说明,select查询 insert插入 delete删除 update修改
#设置用户拥有查询插入的权限
#grant select,insert on *.* to '新用户名'@'指定ip' identified by '新用户密码' WITH GRANT #OPTION;
#取消用户查询的查询权限
#REVOKE select ON what FROM '新用户名';

#6、删除用户
#DROP USER username@localhost;
#7、修改后刷新权限
#FLUSH PRIVILEGES;

mysql -uroot -proot;
use mysql;
create user 'dawang'@'%' identified by '123456';
#5.6
grant all privileges on *.* to 'dawang'@'%' identified by '123456' ;
grant all privileges on *.* to 'dawang'@'%' identified by '123456' WITH GRANT OPTION;
FLUSH PRIVILEGES;
#8版本
grant all privileges on *.* to 'dawang'@'%';
grant all privileges on *.* to 'dawang'@'%' WITH GRANT OPTION;
FLUSH PRIVILEGES;

 

 

 

 

 

 

 

 

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值