Ubuntu搭建Java8,Nginx,Redis,Mysql8环境

前言

        在Ubuntu上安装OpenJDK 8,Redis,Mysql8,可以使用APT(Advanced Package Tool)包管理器来完成,以下是适用于较新Ubuntu版本(如18.04及以上)的推荐步骤。

更新软件包索引

sudo apt update

Java

安装

sudo apt install openjdk-8-jdk

验证

java -version

javac -version

Nginx

安装

sudo apt install nginx

配置

   Nginx的配置文件通常位于/etc/nginx/目录下,主要配置文件是nginx.conf,站点配置文件通常位于/etc/nginx/sites-available/目录中。可以编辑这些文件来定制Nginx的行为,比如设置虚拟主机、更改监听端口等。

  测试配置文件是否生效:

sudo nginx -t

  重新加载Nginx

sudo systemctl reload nginx

启动

  启动Nginx服务,并设置它在系统启动时自动启动

sudo systemctl start nginx
sudo systemctl enable nginx

验证

  也可通过ip访问80端口验证

sudo systemctl status nginx

Redis

安装

sudo apt install redis-server

配置

  默认安装后的redis配置文件路径为 /etc/redis/redis.conf 

  可以修改密码配置端口设置持久化策略等

启动

  启动Redis服务,并设置它在系统启动时自动启动

sudo systemctl start redis
sudo systemctl enable redis

验证

sudo systemctl status redis

Mysql

安装

sudo apt install mysql-server

配置

密码

通过如下命令引导设置密码

sudo mysql_secure_installation

如果密码未设置成功,通过如下方式修改密码

通过如下命令跳过授权登陆mysql,修改密码

sudo mysqld_safe --skip-grant-tables &

mysql -u root

USE mysql

FLUSH PRIVILEGES

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'YourNewPassword'

sudo systemctl restart mysql
ONLY_FULL_GROUP_BY(可选)

mysql8默认启用了ONLY_FULL_GROUP_BY SQL模式(不支持group by 的字段不在查询列表)

sudo vim /etc/mysql/conf.d/mysql.cnf

在[mysqld] 下粘贴

sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION

备份

方案一

转储sql

mysqldump -u root -p 123456 databaseName > backup.sql

导入

nohup mysql -u root -p databaseName < /home/ubuntu/backup.sql & 
方案二(数据量较大时)

多个表可以重复此过程或编写脚本进行批量处理

1. 执行导入表结构SQL

        首先,在目标MySQL服务器上创建表的结构,但不包含数据。这通常通过执行包含CREATE TABLE语句的SQL脚本来完成,这些语句定义了表的列、索引、约束等属性

mysql -u username -p -D dbname < table_structure.sql

2. ALTER TABLE table_name DISCARD TABLESPACE;

        对你要迁移的InnoDB表执行此命令。这一步会将表的空间从InnoDB表空间文件中分离出去,实际上是删除了对表数据文件(.ibd文件)的引用,但不会删除文件本身。这样做的目的是允许你安全地移动这些文件

ALTER TABLE table_name DISCARD TABLESPACE;

3. 转移 .ibd 文件

在Ubuntu系统中,MySQL的ibd文件(InnoDB表的空间文件,用于存储数据和索引)通常默认存储在/var/lib/mysql目录下。这个目录是MySQL的数据目录,其中包含了各个数据库的文件夹,每个数据库文件夹内则有各自的.ibd文件。

可以通过检查MySQL的配置文件(通常位于/etc/mysql/mysql.conf.d/mysqld.cnf/etc/mysql/my.cnf)来确认datadir的设置

datadir = /var/lib/mysql

        在执行了DISCARD TABLESPACE之后,可以安全地将表的.ibd文件从源服务器的数据目录移动到目标服务器对应的位置。确保目标服务器的MySQL服务已经停止,或者至少该表没有被任何活动使用,以防止数据不一致

scp /source/data/table_name.ibd root@demo:/source/to/data/

4. ALTER TABLE table_name IMPORT TABLESPACE;

        在目标服务器上,启动MySQL服务(如果之前关闭了的话),然后对同一个表执行此命令。这一步会将之前分离的表空间文件重新关联到表上,使得表可用

ALTER TABLE table_name IMPORT TABLESPACE;

5. 验证迁移结果

启动

  启动Mysql服务,并设置它在系统启动时自动启动

sudo systemctl start mysql
sudo systemctl enable mysql

拓展

Linux命令

    ls -l | grep "^-" | wc -l  统计当前文件夹下的文件数(ls -l  文件以"-"开头,而目录以"d"开头)

    ls -a   显示所有文件(包括隐藏文件)

    ls -R   递归列出子目录内容

    ls *a*  通配符匹配,找出含a的文件和目录

    find . -type f -name "*a*"    -type f指定了只查找文件,-name "*a*"指定了文件名模式

                查找当前目录及其子目录中查找所有文件名中包含"a"的文件

uname -a    显示系统详细信息

Linux ip-192-168-*-* 5.15.0-1041-aws #46~20.04.1-Ubuntu SMP Wed Jul 19 15:40:00 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux 

解释:

  1. Linux: 表明这是一个基于Linux内核的操作系统。

  2. ip-192-168-*-*: 这部分通常代表机器在网络中的IP地址或者是AWS EC2实例的私有DNS主机名格式。在这个例子中,ip-192-168-*-*暗示着这台机器可能位于私有IP地址空间内的一个AWS云环境里,使用192.168.*.*作为其内部IP地址。

  3. 5.15.0-1041-aws: 这是Linux内核的版本号。5.15.0是内核主版本,1041是针对特定发行版或硬件平台(这里是AWS)定制的版本号,意味着这是针对Amazon Web Services优化的内核版本。

  4. #46~20.04.1-Ubuntu SMP:

    • #46表示这个内核版本是该系列的第46次构建。
    • 20.04.1指的是Ubuntu的发行版版本号,这里是Ubuntu 20.04 LTS(长期支持版本)的一个小更新。
    • SMP表示对称多处理(Symmetric Multi-Processing),意味着这个内核支持多处理器系统。
  5. Wed Jul 19 15:40:00 UTC 2023: 这是内核编译的时间戳,即该内核版本最后一次编译的时间,这里是协调世界时(UTC)2023年7月19日15点40分。

  6. x86_64 x86_64 x86_64: 这部分重复三次的x86_64强调了系统的体系结构是64位的,即AMD64或Intel 64架构,适用于支持64位运算的处理器。

  7. GNU/Linux: 指出该操作系统是基于GNU项目组件和Linux内核的组合,这也是大多数现代Linux发行版的共同特征,体现了自由软件基金会对Linux系统的命名习惯。

        综上所述,这段信息描述了一台运行在亚马逊云服务(AWS)上的Ubuntu 20.04 LTS系统的服务器,该服务器使用了一个针对AWS优化的、版本号为5.15.0-1041的64位Linux内核,内核最后一次更新编译于2023年7月19日。

vim命令

  • 复制yy
  • 粘贴p
  • 删除dd
  • 撤销u
  • 全选
    •  进入正常模式(按下 Esc
    •  输入  gg  将光标移动到文件的开头
    • 接着输入  vgg 进入可视行选择模式并选中从当前行到文件末尾的所有行。在这里,v 是进入可视模式的命令,而 G 是跳转到文件最后一行的命令

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值