Linux服务器安装Java及MySQL

Linux服务器安装Java及MySQL

记录关于Linux服务器的全部操作,包括了新服务器的环境配置,以及各种Linux命令操作.新增软件默认安装在 /usr/local/ 下

初始化配置

检查本地系统环境

  1. 在安装任何软件前都可以查看自己的Linux服务器的信息
#检查系统版本
cat /etc/centos-release

#检查系统内核版本
uname -r
  1. Linux服务器的yum下载系统默认的下载源是国外源,如果没有科学上网的话,网速会受到很大的限制,因此解决方案是将下载源更换成国内的阿里源。
mkdir /etc/centos-yum.bak 
mv /etc/yum.repos.d/* /etc/centos-yum.bak/

下载aliyun Yum源repo文件(要对应自己的系统版本下载即可)

# 查看系统版本 
cat /etc/redhat-release

#各系统版本repo文件对应的下载操作
# CentOS 5 
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-5.repo
 
# CentOS 6 
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-6.repo

# CentOS 7 
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo

注意:如果wget命令不生效,说明还没有安装 wget,需要执行命令yum -y install wget进行安装。
安装好后更新yum缓存即可

yum clean all
yum makecache

Java安装

  1. 删除旧版Java,如果安装前有旧版的Java,可以先删除后再装新的
which java
rm -rf /usr/bin/java
#删除后可以用下面的语句测试
java -version
#输出
bash: java: command not found...
#卸载所有java相关的软件
yum -y remove *java*
#清空环境变量
  1. Linux安装Java,使用 yum 安装Java
    1. 先看是否有Java,并搜索Java的相关版本(可不做)
#是否有Java
rpm -qa | grep java

#搜索java的jdk版本
yum list | grep java-1.8.0-openjdk
  1. 执行安装命令
yum install java-1.8.0-openjdk-devel.x86_64 -y
  1. 配置环境变量
#注:一般rpm、yum方式安装的不需要配置环境变量,但是若识别不到还是老老实实配置环境变量

#测试是否配置成功,如果有输出则代表安装成功,不需要再设置环境变量
##获取java版本号
java -version
## 查看JDK的安装路径(安装后才有)
which java

## 修改配置环境
vim /etc/profile
## 把下面的配置放到文件的最后一行
export JAVA_HOME=/usr/local/jdk1.8.0_381    # 这里设置解压的Java目录文件
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib
## 或者是打开 etc/profile中配置java环境
AVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.362.b08-1.el7_9.x86_64/
JRE_HOME=$JAVA_HOME/jre
CLASS_PATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib
PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin
export JAVA_HOME JRE_HOME CLASS_PATH PATH

#让配置立即生效
source /etc/profile

MySQL安装

  1. 删除已有的相关包,在安装前需要确定现在这个系统有没有 MySQL,如果有那么必须卸载。尤其是新的 CentOS 7 系统,它自带mariaDB数据库,所以需要卸载掉。
#查找已安装的MySQL软件包
rpm -qa|grep mysql

#CentOS7下还需要查找是否存在mariadb包
rpm -qa|grep mariadb

#如果输入上述两个命令后都输出存在有包,则需要执行删除命令,xxx为上述命令输出的结果
rpm -e --nodeps xxx
#比如 rpm -qa|grep mariadb 输出 mariadb-libs-5.5.68-1.el7.x86_64,下面的就是删除语句
rpm -e --nodeps mariadb-libs-5.5.68-1.el7.x86_64
  1. 安装准备工作
    1. 提升权限,由于 MySQL 安装过程中,会通过 MySQL 用户在 /tmp 目录下新建 tmp_db 文件,所以需要给 /tmp 目录较大的权限
chmod -R 777 /tmp
  1. MySQL依赖检查,这一步需要检查系统中是否存在一些安装MySQL时需要的依赖库
#执行两个查询命令看是否存在依赖库:
rpm -qa|grep libaio
rpm -qa|grep net-tools

#有输出就是有,如果不存在则需要安装:
yum -y install libaio net-tools
  1. 安装MySQL
# 1.首先进入到 /opt目录:
cd /opt

# 2.使用 wget下载并解压,在下载的过程中会显示进度条
wget http://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.16-1.el7.x86_64.rpm-bundle.tar
tar -xvf mysql-5.7.16-1.el7.x86_64.rpm-bundle.tar

# 3.使用 rpm 命令按顺序依次安装 4 个包:
rpm -ivh mysql-community-common-5.7.16-1.el7.x86_64.rpm 
rpm -ivh mysql-community-libs-5.7.16-1.el7.x86_64.rpm
rpm -ivh mysql-community-client-5.7.16-1.el7.x86_64.rpm 
rpm -ivh mysql-community-server-5.7.16-1.el7.x86_64.rpm
# 3.1第四个安装包如果报错缺少依赖则运行
sudo yum install numactl
  1. 初始化启动MySQL
# 1.MySQL5.7安装后需要手动初始化
mysqld --initialize --user=mysql

# 2.查看并记住初始密码,“root@localhost:” 后面的就是初始化密码,要记下来,后面连接数据库会用到
cat /var/log/mysqld.log | tail -n 10
# 2.1以下是输出,可以看到密码
[root@VM-12-8-centos opt]# cat /var/log/mysqld.log | tail -n 10
2023-12-15T01:51:09.938208Z 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details).
2023-12-15T01:51:10.325254Z 0 [Warning] InnoDB: New log files created, LSN=45790
2023-12-15T01:51:10.396049Z 0 [Warning] InnoDB: Creating foreign key constraint system tables.
2023-12-15T01:51:10.469867Z 0 [Warning] No existing UUID has been found, so we assume that this is the first time that this server has been started. Generating a new UUID: 6bafacd8-9aec-11ee-bf5b-52540007ba0c.
2023-12-15T01:51:10.479402Z 0 [Warning] Gtid table is not ready to be used. Table 'mysql.gtid_executed' cannot be opened.
2023-12-15T01:51:10.479943Z 1 [Note] A temporary password is generated for root@localhost: (%5xxxxjq.fm

启动MySQL

#启动服务
systemctl start mysqld.service

#关闭服务
systemctl stop mysqld.service

#查看MySQL状态
systemctl status mysqld

#查看是否自启动,输出显示mysqld.service是enabled,这意味着该服务已被设置为在系统启动时自动启动。
systemctl list-unit-files|grep mysqld.service

#设置MySQL系统开机自启动
systemctl enable mysqld.service
  1. 首次登陆

首次登陆通过 “mysql -uroot -p” 进行登录,在 “Enter password:” 后输入初始化密码

# 1.登录MySQL,显示MySQL相关信息即登陆成功
# 注意,MySQL登陆的时候,输入密码时不显示出来的,所以要小心别输错了,可以直接复制
mysql -u root -p

# 2.因为初始化密码默认是过期的,必须修改新密码后才能正常使用数据库,不要漏了最后的 ;号
ALTER USER 'root'@'localhost' IDENTIFIED BY 'newpwd123';

# 3.查看MySQL字符集,输入以下语句发现数据库和服务端的默认字符都是latin1,不修改容易出现乱码
show variables like 'character%';
# 以下是输出
+--------------------------+----------------------------+
| Variable_name            | Value                      |
+--------------------------+----------------------------+
| character_set_client     | utf8                       |
| character_set_connection | utf8                       |
| character_set_database   | latin1                     |
| character_set_filesystem | binary                     |
| character_set_results    | utf8                       |
| character_set_server     | latin1                     |
| character_set_system     | utf8                       |
| character_sets_dir       | /usr/share/mysql/charsets/ |
+--------------------------+----------------------------+
8 rows in set (0.01 sec)

# 3.1输入 "vim /etc/my.cnf "或用FinalShell打开 "/etc/my.cnf " 文件进行编辑,在最后一行后加上
character_set_server=utf8
init_connect='SET NAMES utf8'

# 3.2重启MySQL服务,先退出MySQL服务
exit
systemctl restart mysqld
# 实测发现修改了my.cnf文件重启后就修改成utf8了,不需要再修改
##### 3.3重新连入数据库后修改数据库的字符集(其中mydb为数据库名)
#####alter database mydb character set 'utf8';
##### 3.4修改数据库表的字符集(其中mytbl为表名)
#####alter table mytbl convert to character set 'utf8';
  1. 远程连接
# 1.输入以下语句可以查看MySQL的用户信息
select host,user,authentication_string from mysql.user;
# 以下是输出,都是localhost,想要用Navicat等管理工具连过来需要增加远程用户,否则远程连接会报错
+-----------+-----------+-------------------------------------------+
| host      | user      | authentication_string                     |
+-----------+-----------+-------------------------------------------+
| localhost | root      | *B6983F1A1F818B9E5E8C6F2D0B986FA2A51007DF |
| localhost | mysql.sys | *THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE |
+-----------+-----------+-------------------------------------------+
2 rows in set (0.00 sec)

# 2.用户的相关操作
# 下面给出了用户授权、创建用户、删除用户和修改密码的命令

# 2.1用户授权命令(该命令执行授权时如果发现没有指定的用户,则会直接创建一个新用户来完成授权)
grant 权限1,…权限n on 数据库名.表名 to 用户名@用户地址 identified by ‘密码’;
# 新加用户也可以直接用这个,示例:
# 授予通过网络方式登录的root用户,有对所有库、所有表的全部权限,密码设为”newpwd123”:
grant all privileges on *.* to root@'%' identified by 'newpwd123';

# 2.2创建用户,例如名为root的用户,密码设为123abc:
create user root identified by '123abc';

# 2.3修改用户名
update mysql.user **set** user='newName' where user='oldName';
flush privileges;  # 所有通过user表的修改,必须用该命令才能生效。

# 2.3删除用户
drop user user@host;
#user 是用户名,而 host 是用户所在的主机名。
#这个语句将删除与该用户名和主机名关联的用户账户,同时也会删除与该用户关联的所有权限。

# 2.4修改当前用户的密码
set password = password('new_password')

# 2.5修改某个用户的密码
update mysql.user set password=password('new_password') where user='name';
flush privileges; # 所有通过 user表的修改,必须用该命令才能生效。

注意!MySQL远程连接必须要服务器开放3306端口,或者是你自己自定义的端口

  • 14
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值