编辑
2023-03-07
Linux
00
请注意,本文编写于 687 天前,最后修改于 409 天前,其中某些信息可能已经过时。

目录

环境安装
JDK安装
Tomcat
安装Docker(yum安装)
Mysql安装8.0
Mysql5.7安装
Mysql5.7.36rpm包安装
Mysql5.7.36单机多实列部署

环境安装

安装软件一般有三种方式:rpm、解压缩、yum在线安装

JDK安装

1、下载jdk rpm。去oralce官网下载即可!

2、安装java环境

bash
# 检测当前系统是否存在java环境!java -version # 如果有需要卸载 # rpm -qa|grep jdk 检测JDK版本信息 # rpm -e --nodeps jdk # 卸载完毕后即可安装java # rpm -ivk prm包 # 配置环境变量
shell
#安装命令 rpm -ivh 包名.rpm
shell
JAVA_HOME =你的JDK安装位置 CLASSPATH = .;%JAVA_HOME%\lib PATH = %JAVA_HOME%\bin

配置环境变量:/etc/profile

但rmp安装方式不需要配置环境变量!

shell
vim /etc/profile JAVA_HOME=/usr/java/jdk1.8.0_65 CLASSPATH=%JAVA_HOME%lib;%JAVA_HOME%/jre/lib PATH=$JAVA_HOME/bin;$JAVA_HOME/jre/bin export PATH CLASSPATH JAVA_HOME #保存退出

让这个配置文件生效!source/etc/profile

防火墙

bash
# 查看firewall服务状态 systemctl status firewalld # 开启、重启、关闭、firewalld.service服务 # 开启 service firewalld start # 重启 service firewalld restart # 关闭 service firewalld stop # 查看防火墙规则 firewall-cmd --list-all # 查看全部信息 firewall-cmd --list-ports # 只看端口信息 # 开启端口 开端口命令:firewall-cmd --zone=public --add-port=80/tcp --permanent # 开启端口之后阿里云还要配置安全组 也就是 两个都要开 才能用 重启防火墙:systemctl restart firewalld.service 命令含义: --zone #作用域 --add-port=80/tcp #添加端口,格式为:端口/通讯协议 --permanent #永久生效,没有此参数重启后失效

Tomcat

ssm war包 就需要放在tomcat里面

1、下载tomcat。 官网下载即可 tomcat9 apche-tomcat-9.0.22.tar.gz

2、解压这个文件

bash
tar -zxvf apche-tomcat-9.0.22.tar.gz

3、启动tomcat测试 ./xxx.sh即可

bash
# 执行 ./startup.sh # 停止 ./shutdown.sh

安装Docker(yum安装)

基于 CentOS 7 安装

  1. 官网安装参考手册:https://docs.docker.com/install/linux/docker-ce/centos/

  2. 确定你是CentOS7及以上版本

    bash
    [root@192 Desktop]# cat /etc/redhat-release CentOS Linux release 7.2.1511 (Core)
  3. yum安装gcc相关(需要确保 虚拟机可以上外网 )

    bash
    yum -y install gcc #-y 自动确定所有的提示 yum install 安转命令 yum -y install gcc-c++ #
  4. 卸载旧版本

    #好像也可以 不知道是啥子 yum -y remove docker docker-common docker-selinux docker-engine # 官网版本 yum remove docker \ docker-client \ docker-client-latest \ docker-common \ docker-latest \ docker-latest-logrotate \ docker-logrotate \ docker-engine
  5. 安装需要的软件包

    yum install -y yum-utils device-mapper-persistent-data lvm2
  6. 设置stable镜像仓库

    # 错误 yum-config-manager --add-repohttps://download.docker.com/linux/centos/docker-ce.repo ## 报错 [Errno 14] curl#35 - TCP connection reset by peer [Errno 12] curl#35 - Timeout # 正确推荐使用国内的 yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
  7. 更新yum软件包索引

    yum makecache fast
  8. 安装Docker CE

    yum -y install docker-ce docker-ce-cli containerd.io
  9. 启动docker

    systemctl start docker
  10. 测试

bash
#版本信息 docker version #工作区间 docker run hello-world #查看镜像 docker images

Mysql安装8.0

1.去mysql官网下载8.0安装包。 2.创建一个文件夹。 # mkdir -p /opt/software/mysql 3.进入目录然后通过fpt上传mysql包到服务器。 4. tar -xvf mysql-8.0.28-1.el7.x86_64.rpm-bundle.tar 5. rpm -ivh mysql-community-common-8.0.28-1.el7.x86_64.rpm 6. rpm -ivh mysql-community-client-plugins-8.0.28-1.el7.x86_64.rpm 7. rpm -ivh mysql-community-libs-8.0.28-1.el7.x86_64.rpm 8. rpm -ivh mysql-community-client-8.0.28-1.el7.x86_64.rpm 9. rpm -ivh mysql-community-icu-data-files-8.0.28-1.el7.x86_64.rpm 10. rpm -ivh mysql-community-server-8.0.28-1.el7.x86_64.rpm 11.初始化mysql,执行命令#:systemctl start mysqld 12.这时需要到etc目录下进行配置文件;vim /etc/my.cnf 进入加一句 skip-grant-tables ,记住不要#号,然后保存退出.

image.png

shell
13.接着是重启mysql让配置文件生效:systemctl restart mysqld 14.就可以直接:mysql -uroot -p。无密码进入了。 15.show databases; -- 查看数据库; use mysql; -- 切换数据库 16.把user表的密码清空,先use mysql切换好数据库,然后 update user set authentication_string='' where user='root' 17.删掉之前vim命令加的那句话,然后重启服务:systemctl restart mysqld 18.mysql -uroot -p 登录提示要密码就是空的直接回车进入。 19.然后自己去修改密码:alter user 'root'@'localhost' IDENTIFIED BY '你要改的密码';(必须要有数字,字母有大小写,有特殊符号) 20.报错就执行#:flush privileges; #在执行下面修改密码 ALTER USER 'root'@'localhost' IDENTIFIED BY '123456';

Mysql5.7安装

1.上传两个rpm包到服务器。

2.解压rpm包:

rpm -ivh mysql-community-server-5.7.25-1.el7.x86_64.rpm --force --nodeps

rpm -ivh mysql-community-client-5.7.25-1.el7.x86_64.rpm --force --nodeps

3.这时需要到etc目录下进行配置文件;vim /etc/my.cnf 进入加一句 skip-grant-tables ,记住不要#号,然后保存退出.

4.接着是重启mysql让配置文件生效

restart mysqld;

5.这时登录数据库: mysql -uroot -p

6.use mysql; -- 切换数据库.

7.把user表的密码清空,先use mysql切换好数据库,然后 update user set authentication_string='' where user='root';

8.删掉之前vim命令加的那句话,然后重启服务 systemctl restart mysqld。

9.mysql -uroot -p 登录提示要密码就是空的直接回车进入。

10.然后自己去修改密码

user 'root'@'localhost' IDENTIFIED BY '123456';(报错1819使用这句话:

set global validate_password_policy=0;

set global validate_password_length=4;

SET PASSWORD = PASSWORD('密码.');

)

Mysql5.7.36rpm包安装

1.RPM包下载地址:https://downloads.mysql.com/archives/community/

image.png

2.解压rpm包

js
tar -vxf mysql-5.7.36-1.el7.x86_64.rpm-bundle.tar

3.删除对mysql有影响的依赖包

js
rpm -qa |grep mariadb

image.png

js
rpm -e 查出的包 --nodeps

4.安装perl

js
yum insatll perl -y

5.rpm安装 第一个装

js
rpm -ivh mysql-community-common-5.7.36-1.el7.x86_64.rpm

第二个装

js
rpm -ivh mysql-community-common-5.7.36-1.el7.x86_64.rpm

第三个装

js
rpm -ivh mysql-community-client-5.7.36-1.el7.x86_64.rpm

第四个装

js
rpm -ivh mysql-community-client-5.7.36-1.el7.x86_64.rpm

5.安装完后启动数据库

js
systemctl start mysqld

查看数据库状态

js
systemctl status mysqld

6.修改数据库密码

js
vi /etc/my.cnf

进入加一句 skip-grant-tables ,记住不要#号,然后保存退出

然后重启mysql让配置文件生效。

js
systemctl restart mysqld

最后去mysql -uroot -p去修改密码

js
set global validate_password_policy=0; set global validate_password_length=4; SET PASSWORD = PASSWORD('密码.');

7.修改可以远程登录

js
use mysql;
js
select host,user from user;
js
update user set host='%' where user='root';

刷新权限

js
FLUSH PRIVILEGES;

8.查看mysql存储路径

js
SHOW VARIABLES LIKE 'datadir';

Mysql5.7.36单机多实列部署

1.下载二进制包上传到服务器。

mysql-5.7.36-linux-glibc2.12-x86_64.tar.gz

2.解压

js
tar -vxf mysql-5.7.36-linux-glibc2.12-x86_64.tar.gz

3.重命名名称

js
mv mysql-5.7.36-linux-glibc2.12-x86_64.tar.gz mysql

4.添加环境变量 看你解压的文件在什么路径。

例如:我的在/usr/local/mysql

js
vi /etc/profile

在最下面加一行

js
export PATH=/usr/local/mysql/bin:$PATH

image.png 然后保存退出,对文件进行生效。

js
source /etc/profile

5.创建mysql用户

js
useradd mysql

6.创建多实列目录

js
mkdir -p /apps/mysql_{3307,3308,3309}
js
mkdir -p /apps/mysql_3307/{data,run,logs} mkdir -p /apps/mysql_3308/{data,run,logs} mkdir -p /apps/mysql_3309/{data,run,logs}

7.给目录授权给mysql用户

js
chown -R mysql.mysql /apps/

8.自定义配置文件

my.cof
[mysql] prompt=\\u@\\v \\d \\r:\\m:\\s> default-character-set=utf8mb4 [mysqldump] quick max_allowed_packet = 512M [mysqld] # 目录、端口根据实际情况调整 port = 3307 socket = /apps/mysql_3307/run/mysqld.sock datadir = /apps/mysql_3307/data pid_file = /apps/mysql_3307/run/mysqld.pid log_error = /apps/mysql_3307/logs/mysqld-err.log # 需要修改,每个实例的server_id需要不同 server_id = 10001 # 是否区分大小写 lower_case_table_names = 1 # 字符集及排序规则 collation_server = utf8mb4_bin character_set_server = utf8mb4 # 隔离级别 transaction-isolation = READ-COMMITTED #指定了绑定的IP地址为0.0.0.0,允许所有IP进行连接 bind_address = 0.0.0.0 #指定了mysqld的运行用户为mysql。 user = mysql #跳过外部锁定机制。 skip_external_locking

9.初始化数据库3307数据库

js
mysqld --defaults-file=/apps/mysql_3307/mysql_3307.cnf --initialize --basedir=/usr/local/mysql --explicit_defaults_for_timestamp

相关信息

  • mysqld :指定要执行的MySQL服务器可执行文件。
  • --defaults-file=/apps/mysql_3307/mysql_3307.cnf :指定MySQL服务器的配置文件路径为 /apps/mysql_3307/mysql_3307.cnf 。配置文件中包含了MySQL服务器的各种设置和选项。
  • --initialize :表示要进行初始化操作,即创建并初始化MySQL实例的数据目录。
  • --basedir=/usr/local/mysql :指定MySQL服务器的基础目录路径为 /usr/local/mysql 。基础目录包含了MySQL服务器的安装文件和程序。
  • --explicit_defaults_for_timestamp :表示使用显式默认值进行时间戳初始化。这个选项可以确保在创建表时,时间戳列的默认值被正确设置。
  • 综合起来,这个命令的作用是使用指定的配置文件和基础目录路径,初始化一个MySQL实例,并使用显式默认值进行时间戳初始化。

10.初始化后,查看初始化密码

js
grep 'password' mysqld-err.log

11.复制启动文件,请配置开机自启。

js
cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql3307
js
vi /etc/init.d/mysql3307

需要修改三个地方

js
PATH="/sbin:/usr/sbin:/bin:/usr/bin:$basedir/bin" export PATH

js
$bindir/mysqld_safe --defaults-file=/apps/mysql_3307/mysql_3307.cnf >/dev/null &

image.png

12.启动数据库

js
cd /etc/init.d/
js
./mysql3307 start

查看3307端口是否启动

js
netstat -ntlp

13.登录数据库

js
mysql -uroot -S /apps/mysql_3307/run/mysqld.sock -p

14.修改数据库密码

js
set password for root@'localhost' = PASSWORD("songxuan123");

15.创建一个测试数据库和测试用户。

创建一个ceshishujuku数据库

sql
create database ceshishujuku;

创建一个songxuan的用户密码是songxuan123,并授权对ceshishujuku库所有的操作权限。

sql
GRANT ALL PRIVILEGES ON ceshishujuku.* TO 'songxuan'@'%' IDENTIFIED BY 'songxuan123';
js
flush privileges;

16.测试链接

image.png

本文作者:松轩(^U^)

本文链接:

版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!

Document