Ubuntu,openEuler,MySql安装

文章目录

Ubuntu

bash 复制代码
# 配置apt下载源
root@ubuntu:~# vim /etc/apt/sources.list
deb [check-date=no] file:///cdrom noble main restricted
deb http://mirrors.aliyun.com/ubuntu/ noble main restricted

什么是Ubuntu

概述

  • Ubuntu(乌班图)属于Debian系列,Debian是社区类Linux的典范,是迄今为止最遵循GNU规范 的Linux系统。
  • Debian最早由Ian Murdock于1993年创建,分为三个版本分支(branch): stable、testing 和 unstable。
  • Debian最具特色的是apt-get / dpkg包管理方式,其实Redhat的YUM也是在模仿Debian的APT方式,但在二进制文件发行方式中,APT应该是最好的了。
  • Ubuntu Server是Ubuntu操作系统的一个版本,是Ubuntu家族的一员,被工程设计作为互联网的骨干系统,Ubuntu Server为公共或私有数据中心带来经济和技术上的可扩展性。

Ubuntu版本简介

桌面版
  • 桌面版是带有GUI界面、面向普通用户使用的操作系统,预装了可帮助用户执行日常基本活动的软件,如:视频、浏览器、文本处理、电子邮件和多媒体等,对标Windows10操作系统
服务器版
  • 服务器版本用于托管网络服务器和数据库等应用程序,是专业人员使用的服务器操作系统
  • 注意:
    • 一般选择LTS长期更新版,LTS为"长期支持"版本每两年在4月份发布一次。LTS版本是Ubuntu的"企业级"版本,使用得最多。估计95%的Ubuntu安装都是LTS版。
    • 可以在开源镜像站点下载,如阿里开源镜像

部署系统

新建虚拟机





安装系统

  • 择安装语言,默认 【 English 】,直接回车
  • 选择键盘,默认回车
  • 安装的服务器版本,如需精简版本选择 【Minimized】最小安装,此处根据需求自行选择,本次安装选择 【 Ubuntu Server
  • 网络设置,此处默认使用DHCP,回车即可
  • Proxy(代理配置),用于访问安装程序环境和已安装系统中的包存储库和snap存储库,不用配置,回车即可
  • 配置软件源,建议更改为国内镜像源提高下载速度,也可以直接回车,以后在更改
  • 系统分区,选择安装磁盘,直接回车默认自动分配,需要手动分区的话选择 【custom storage layout】。**此次安装选择【Custom storage layout】**进行手动分区,按Tab进行选项选择,按空格键选中选项后回车
  • 新建第一个分区:/boot,容量1GB


  • 添加第二个分区:/根分区,剩余容量,不填即可


  • 设置计算机名、用户名及密码
    • your server name:主机名
    • pick a useranme:账户名
    • 注意:ubuntu默认不能设置root密码,可以安装完毕后,使用命令更改root密码
  • 安装OpenSSH Server 服务,空格键选中
  • 选择安装其他服务,直接跳过
  • 开始系统安装
  • 安装完成后选择【Reboot Now】重启系统
  • 注意:出现下列报错,表示未找到光驱,回车即可
  • 使用之前创建的普通账户登录

部署后的设置

设置root密码
  • 由于默认的root用户没有固定密码,则可以通过下列方法更改并切换账户
bash 复制代码
andy@server:~$ sudo  passwd  root   # 以普通账户登录后执行此命令修改root初始密码
[sudo] password for andy:     # 普通账户的密码
New password:                 # 新的root密码 
Retype new password:          # 在输入一遍
passwd: password updated successfully
andy@server:~$ su - root      # 切换到root账户
Password: 
root@server:~# 
关闭防火墙
bash 复制代码
root@server:~# systemctl status  ufw    # 查看ufw防火墙状态
● ufw.service - Uncomplicated firewall
     Loaded: loaded (/lib/systemd/system/ufw.service; enabled; preset: enabled)
     Active: active (exited) since Sat 2023-12-02 07:55:04 UTC; 13min ago
       Docs: man:ufw(8)
   Main PID: 624 (code=exited, status=0/SUCCESS)
        CPU: 1ms


root@server:~# systemctl  stop  ufw
root@server:~# systemctl  disable  ufw
启用允许root进行ssh
bash 复制代码
root@server:~# vim  /etc/ssh/sshd_config
PermitRootLogin 的参数设为yes

root@server:~# systemctl  restart  ssh   # 注意服务接口为ssh
安装所需软件
bash 复制代码
root@server:~# apt  install  tree  gcc  make  net-tools  openvswitch-switch -y
制作快照

网络配置

Netplan概述

  • Netplan ------ 抽象网络配置生成器 ,是一个用于配置 Linux网络的简单工具。

  • 通过 Netplan ,你只需用一个 YAML文件描述每个网络接口需要配置成啥样即可。 根据这个配置描述, Netplan 便可帮你生成所有需要的配置,不管你选用的底层管理工具是啥

  • Netplan 的特点和功能:

    • YAML 语法:Netplan 使用 YAML 文件格式来描述网络配置信息。YAML 格式旨在使文件易于编写、阅读和理解。您可以在每行结束时添加注释以方便自己和其他管理员查看文件。
    • 多种网络选项:Netplan 支持多种网络选项,包括 IP 地址、子网掩码、网关、DNS 设置、静态路由和 DHCP 客户端等。您可以根据需要选择所需的选项并将其添加到配置文件中。
    • 支持多个网络接口:Netplan 支持管理多个网络接口。无论您使用有线或无线网络,或者使用虚拟网络接口,都可以在配置文件中指定各个接口的设置。
    • 自动应用配置:当您修改 Netplan 配置文件后,Netplan 会自动将其应用到相应的网络接口上。这意味着您无需手动执行命令即可生效所做的更改。
    • 兼容性:Netplan 可以与旧版网络管理工具共存,并且可以在 Ubuntu 16.04 及更高版本上运行。如果您已经使用 ifupdown 或 NetworkManager 进行网络配置,您可以继续使用这些工具,或者将其与 Netplan 配置文件结合使用。
  • Netplan目前支持以下两种 网络管理工具 :

    • NetworkManager
    • Systemd-networkd
    • 一言以蔽之,从前你需要根据不同的管理工具编写网络配置,现在 Netplan将管理工具差异性给屏蔽了。 你只需按照 Netplan规范编写 YAML 配置,不管底层管理工具是啥,一份配置走天下!

配置详解

配置文件
bash 复制代码
# 默认配置文件:/etc/netplan/*.yaml

# 本机
root@server:~# vim  /etc/netplan/50-cloud-init.yaml 
DHCP
bash 复制代码
network:             
    ethernets:
        ens32:
            dhcp4: true
    version: 2
静态IP设置
  • 注意:netplan 说明文件格式存储在下列路径下,该目录下有各种样例文件,可以提供帮助
bash 复制代码
root@server:~# cd  /usr/share/doc/netplan/examples/
root@server:/usr/share/doc/netplan/examples# ls
bonding_router.yaml               infiniband.yaml          sriov_vlan.yam    ......

# 静态IP范例
root@server:/usr/share/doc/netplan/examples# cat  static.yaml 
network:
  version: 2
  renderer: networkd
  ethernets:
    enp3s0:        # 网卡名
      addresses:
        - 10.10.10.2/24    # 静态IP地址/子网掩码
      nameservers:
        search: [mydomain, otherdomain]    # 域名
        addresses: [10.10.10.1, 1.1.1.1]   # DNS解析地址1 , DNS解析地址2
      routes: 
        - to: default
          via: 10.10.10.1    # 网关地址
  • 查看本机IP信息
bash 复制代码
# IP and netmask:
root@server:~# ifconfig  ens32  # IP:192.168.48.151
ens32: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.48.151  netmask 255.255.255.0  broadcast 192.168.48.255
        inet6 fe80::20c:29ff:fee1:522e  prefixlen 64  scopeid 0x20<link>
        ether 00:0c:29:e1:52:2e  txqueuelen 1000  (Ethernet)
        RX packets 52971  bytes 74147184 (74.1 MB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 11760  bytes 744059 (744.0 KB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
        
# gateway:      192.168.48.2
root@server:~# route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         192.168.48.2    0.0.0.0         UG    100    0        0 ens32

# DNS:114.114.114.114
  • 设置
bash 复制代码
root@server:~# vim  /etc/netplan/50-cloud-init.yaml 
# 清除已有内容,将静态IP范例文件内容拷贝到当前配置中,在修改,注意缩进格式
network:
    ethernets:
        ens32:
            dhcp4: no
            addresses: [192.168.48.150/24]
            routes:
              - to: default
                via: 192.168.48.2
            nameservers:
              addresses: [114.114.114.114]
    version: 2
  • 生效
bash 复制代码
root@server:~# netplan  apply

软件安装

方法

  • 使用 apt 工具安装

  • deb 软件包安装

  • 自己下载程序源码编译安装

apt安装软件

作用
  • Apt (Advanced package tool) 是一个命令行包命令行包管理工具,适用于 Ubuntu / Debian Linux。
  • Apt 用于在 Ubuntu / Debian 系统中从命令行安装、删除、更新和升级 Debian 包。Apt 克服了在 apt-get 命令中注意到的问题和错误。使用 apt 命令时,用户必须具有 sudo 权限
常用命令
bash 复制代码
apt update : 更新软件仓库信息,建议在安装或升级包之前执行该命令
apt list : 列出所有可用的软件包
apt list --installed :只列出已安装的包
apt list --upgradeable :只列出可升级的包
apt install 软件包名  -y :安装新软件包
apt download 软件包名 : 下载软件包而不安装
apt remove 软件包名 : 删除软件包
apt upgrade : 升级所有软件包
apt install 包名 --only-upgrade : 要升级特定的安装包
apt full-upgrade : 全面系统升级,请务必小心,因为它可能会删除已安装的软件包并安装更新的软件包
apt search 软件包名 : 搜索软件包
apt show nginx : 查看软件包信息
apt clean : 清除apt缓存
配置apt源
  • 配置文件:
bash 复制代码
/etc/apt/sources.list
  • 推荐的源
bash 复制代码
序  号源		地址
1	阿里		 http://mirrors.aliyun.com/ubuntu/
2	网易		 http://mirrors.163.com/ubuntu/
3	搜狐		 http://mirrors.sohu.com/ubuntu/
4	华为云		 http://repo.huaweicloud.com/ubuntu/
5	中国官方	http://cn.archive.ubuntu.com/ubuntu/
6	官方		 http://archive.ubuntu.com/ubuntu/
7	清华		  http://mirrors.tuna.tsinghua.edu.cn/ubuntu/
8	中科大		 http://mirrors.ustc.edu.cn/ubuntu/
  • 最后需要更新软件列表:
bash 复制代码
root@server:~# apt  update

deb软件包安装

概念
  • deb包是Debian,Ubuntu等Linux发行版的软件安装包,扩展名为.deb,是类似于rpm的软件包。
dpkg命令
  • 格式:
bash 复制代码
dpkg [<选项> ...] <命令>
  • 常用命令
bash 复制代码
dpkg -i 包名  : 安装软件包

dpkg -I 包名  : 查看软件包的详细信息(软件名称、版本以及大小等)

dpkg -c 包名  : 查看软件包结构

dpkg -r 包名  : 卸载软件包
  • 注意:不推荐使用deb软件包,因为要解决软件包依赖问题,安装也比较麻烦。

openEuler简介

概述

​ openEuler的前身是运行在华为公司通用服务器上的操作系统EulerOS。

​ EulerOS是一款基于Linux内核的开源操作系统,支持X86和ARM等多种处理器架构,伴随着华为公司鲲鹏芯片的研发,EulerOS 理所当然地成为与鲲鹏芯片配套的软件基础设施。2019年底,EulerOS被正式推送至开源社区,更名为openEuler。

​ 当前openEuler内核源于Linux,支持鲲鹏及其他多种处理器,能够充分释放计算芯片的潜能,是由全球开源贡献者构建的高效、稳定、安全的开源操作系统,适用于数据库、大数据、云计算、人工智能等应用场景。

​ openEuler是一个面向全球的操作系统开源社区,通过社区合作,打造创新平台,构建支持多处理器架构、统一和开放的操作系统,推动软硬件应用生态繁荣发展。


架构

OpenEuler和主流OS的关系

信创与国产操作系统

"信创"计划,全称是"信息技术应用创新计划",旨在通过推广自主可控的信息技术,提高国家信息安全的保障能力和综合国力

安装OpenEuler

下载

  • 选择基本ISO版本:

创建虚拟机实例

  • 第一步:文件菜单->新建虚拟机->典型->下一步
  • 第二步:稍后安装操作系统
  • 第三步:选择操作系统类型,由于OpenEuler22.03 LTS SP3使用Linux5.10内核则选择如下:
  • 第四步:命名虚拟机
  • 第五步:设置磁盘空间,根据虚拟机安装要求设置,如下:
  • 设置32G,动态空间申请,设置为单个文件
  • 第六步:自定义硬件,设置硬件参数
  • 第七步:设置自定义硬件
    • 内存:推荐2GB
    • 处理器:1颗、2核心
    • 新CD/DVD:适应ISO映像文件,点击浏览按钮,选择之前下载好的openEuler-22.03-LTS-SP2-x86_64-dvd.iso镜像文件
    • 网络适配器:选择NAT模式
    • 显示器:去掉"加速3D图形"的对钩
    • 最终:
  • 选择关闭、完成

虚拟网络编辑器

  • 位置:vmware-> 编辑菜单->虚拟网络编辑器

  • 作用:设置虚拟网卡的连接模式以及网段、IP、DNS、网关

  • 方法:先点击上边的网络模式,在选择下方的设置按钮,一般需要查看"NAT设置"的网关地址以及最下方的网段地址

OpenEuler22.03操作系统的安装部署

  • 使用鼠标点击黑色界面进入OpenEuler22.03系统,通过ctrl+alt可以释放鼠标焦点回到Windows

  • 通过键盘方向键选择第一项Install openEuler 22.03-LTS-SP2 选项进行安装系统

  • 选择语言:中文或英文

  • 安装信息摘要设置

    • 安装目的地:显示安装位置,一般为硬盘,点击自定义,在点击"完成"进行分区:

      /boot:系统启动分区,推荐500M或1GB

      swap:交换分区,4G

      /:根分区,期望容量省略,表示将剩余空间全部分配

      方法:点击下图的加号,设置挂载点及期望容量(重复多次),点击完成,点击接收更改




  • 网络和主机名:打开网卡连接
  • root账户密码设置:密码为OPENlab123
  • 创建用户:创建一个普通账户fox,设置密码:OPENlab123
  • 安装完成后点击"重启系统"

配置OpenEuler22.03

  • 登录
    • 账户:root
    • 密码:OPENlab123
  • xshell7建立连接

  • 关闭防火墙及SELinux

bash 复制代码
[root@server ~]# vi  /etc/selinux/config 
[root@server ~]# systemctl stop  firewalld   # 关闭防火墙
[root@localhost ~]# systemctl disable  firewalld  # 取消开机启动
  • 修改主机名
bash 复制代码
[root@localhost ~]# hostnamectl  set-hostname  server  # server为主机名
[root@server ~]# reboot  # 重启
  • 修改root密码
bash 复制代码
[root@server ~]# passwd root
更改用户 root 的密码 。
新的密码: 
无效的密码: 密码少于 8 个字符
重新输入新的密码: 
passwd:所有的身份验证令牌已经成功更新。
  • 查看yum源
bash 复制代码
[root@server ~]# cat  /etc/yum.repos.d/openEuler.repo 
[root@server yum.repos.d]# yum  makecache  # 制作缓存
  • 查看网卡配置文件
bash 复制代码
[root@server ~]# cat  /etc/sysconfig/network-scripts/ifcfg-ens32
  • 下载所需软件
bash 复制代码
[root@server ~]# yum  install  vim  make  gcc  tree  net-tools tar  -y
  • 测试
bash 复制代码
[root@server ~]# cat /etc/os-release   # 查看系统信息

[root@server ~]# lscpu   # 查看cpu信息

[root@server ~]# free  -m  # 查看内存信息

[root@server ~]# fdisk -l  # 查看磁盘信息

[root@server ~]# top  # 查看进程信息

[root@server ~]# ping  -c  2  www.qq.com
  • 制作快照:虚拟机菜单->快照->拍摄快照->命名为"初始"->拍摄
  • 使用虚拟机进行克隆,命名为node1,启动后后需要更改主机名,重启生效,重新制作node1的快照
  • 可以尝试安装桌面环境(可选)
bash 复制代码
# DDE是统信软件团队研发的一款功能强大的桌面环境
[root@server ~]# yum  install  dde  -y   # 安装包容量较大,建议课后进行

[root@server ~]# systemctl set-default graphical.target # 设置以图形界面方式启动

[root@server ~]# reboot 

网络配置

可视化配置

格式
bash 复制代码
[root@server ~]# nmtui
实验
  • 例:为当前网卡增加一个IP地址
bash 复制代码
[root@server ~]# nmcli c  up ens32
[root@server ~]# nmcli c  reload
[root@server ~]# ip addr

nmcli命令

格式:
bash 复制代码
[root@server ~]# nmcli --help
用法:nmcli [选项] 对象 { 命令 | help }
查看网卡信息:
bash 复制代码
[root@server ~]# nmcli  c  show
[root@server ~]# nmcli  c  show  网卡名  #  查看网卡详细信息,点q退出
[root@server ~]# nmcli dev  status  #  查看已有设备的状态
[root@server ~]# nmcli dev  show  # 查看所有硬件设备状态
激活网卡和关闭连接
bash 复制代码
[root@server ~]# nmcli c up  网卡名   
[root@server ~]# nmcli c down  网卡名    # 停用连接
添加网络连接
bash 复制代码
[root@server ~]# nmcli c  add  type  ethernet ifname ensens32 con-name ens33  autoconnect yes  ip4 192.168.48.135/24  gw4 192.168.48.2

[root@server ~]# nmcli c up  ens161  # 激活

[root@server ~]# nmcli  c  show
  • 命令解释
    • 关键字:nmcli c add type
    • 网络类型:ethernet
    • 现有网卡名:ifname ens32
    • 新网络名称:con-name ens33
    • 开启自动连接:autoconnect yes
    • 新连接的IP地址与网关地址:ip4 192.168.48.135/24 gw4 192.168.48.2
修改网络连接
  • 例:通过ens32连接设置静态ip地址:
bash 复制代码
[root@server ~]# nmcli  c  mod  ens32  ipv4.method  manual  ipv4.addresses  '192.168.48.150/24'  ipv4.gateway  '192.168.48.2'  ipv4.dns  '114.114.114.114'  

[root@server ~]# nmcli c up ens32  # 激活
连接已成功激活(D-Bus 活动路径:/org/freedesktop/NetworkManager/ActiveConnection/7)
[root@server ~]# ip a  # 查看结果
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: ens160: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
    link/ether 00:0c:29:dc:cf:14 brd ff:ff:ff:ff:ff:ff
    altname enp3s0
    inet 192.168.48.150/24 brd 192.168.48.255 scope global noprefixroute ens160
  • ipv4.method manual :手动获取(静态)

  • 通过配置文件查看和编辑:

bash 复制代码
[root@server ~]# vim  /etc/sysconfig/network-scripts/ifcfg-ens32 

TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=none
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
NAME=ens32
UUID=b50354dd-8e11-4494-9072-a152ea6b0783
DEVICE=ens32
ONBOOT=yes
IPADDR=192.168.48.130
PREFIX=24
GATEWAY=192.168.48.2
DNS1=114.114.114.114
删除网络连接
bash 复制代码
[root@server ~]# nmcli  c  show   # 查看网络连接
[root@server ~]# nmcli c del  ens32   #  删除

[root@server ~]# nmcli  c  show  # 再次查看
  • 以上做完之后需要恢复快照

MySql服务

什么是数据库

数据:

  • 描述事物的符号记录, 可以是数字、 文字、图形、图像、声音、语言等,数据有多种形式,它们都可以经过数字化后存入计算机。

数据库:

  • 存储数据的仓库,是长期存放在计算机内、有组织、可共享的大量数据的集合。数据库中的数据按照一定数据模型组织、描述和存储,具有较小的冗余度,较高的独立性和易扩展性,并为各种用户共享,总结为以下几点:
  • 数据结构化
  • 数据的共享性高,冗余度低,易扩充
  • 数据独立性高
  • 数据由 DBMS 统一管理和控制(安全性、完整性、并发控制、故障恢复)

mysql概述

  • MySQL是一个小型关系数据库管理系统,开发者为瑞典MySQL AB公司。在2008年1月16号被sun公司10亿美金收购。2009年,SUN又被Oracle以74亿美金收购。
  • 目前MySQL被广泛地应用在Internet上的中小型网站中。由于体积小、速度快、总体拥有成本低,尤其是开放源代码这一特点,许多中小型网站为了降低网站总体拥有成本而选择了MySQL作为网站数据库。

版本及下载

yum仓库安装

添加yum源

  • 选择版本后下载yum源,注意:Euler22版本对应Centos8 即RedHat8
  • 添加yum源
mysql 复制代码
[root@server ~]# wget  https://dev.mysql.com/get/mysql80-community-release-el8-9.noarch.rpm   # 下载
[root@server ~]# rpm -ivh  mysql80-community-release-el8-9.noarch.rpm  # 安装
[root@server ~]# yum  list  |  grep  mysql

安装

mysql 复制代码
root@server ~]# yum  install  mysql-community-server.x86_64 

[root@server ~]# systemctl start mysqld   # 启动,注意有d

[root@server ~]# systemctl status mysqld

[root@server ~]# grep 'temporary password' /var/log/mysqld.log
2023-07-09T02:38:36.368700Z 6 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: qQ6OmpD?8_.f   # 查看初始登录密码

[root@server ~]# mysql -u root -p         # 以root身份登录
Enter password:   # 赋值初始登录密码

mysql> alter user 'root'@'localhost' identified by 'Admin123!'; # 设置新密码

mysql> show variables like 'validate_password.%';  # 查看密码设置默认的规则
+--------------------------------------+--------+
| Variable_name                        | Value  |
+--------------------------------------+--------+
| validate_password.check_user_name    | ON     | # ON时,账户及密码不能相同 
| validate_password.dictionary_file    |        | # 规则文件保存路径
| validate_password.length             | 8      | # 密码长度
| validate_password.mixed_case_count   | 1      | # 至少要包含大/小写字母的个数
| validate_password.number_count       | 1      | # 至少要包含数字的个数
| validate_password.policy             | MEDIUM | # 密码的验证强度等级
| validate_password.special_char_count | 1      | # 密码中特殊字符个数
+--------------------------------------+--------+
7 rows in set (0.01 sec)
# 默认为中级密码验证规则,密码长度8为,内容至少包含:一个大写字母、一个小写字母、一位数字和一个特殊字符

# 若密码不好记忆可以调低密码验证等级,在设置简单的密码,但生产中不推荐
mysql> set global validate_password.policy=low;

mysql> set global validate_password.length=6;

mysql> alter user 'root'@'localhost'  identified  by  '123456';

mysql> exit
Bye

[root@server ~]#  mysql -u root -p
Enter password:       # 密码为123456
mysql> show databases;    # 注意s和分号结尾
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| sys                |
+--------------------+

mysql> show global variables like 'port';      # 查看默认端口号
+---------------+-------+
| Variable_name | Value |
+---------------+-------+
| port          | 3306  |
+---------------+------+
1 row in set (0.00 sec)

mysql> quit
Bye

本地RPM包安装

使用迅雷下载集合包

上传数据

  • 使用xftp将下载安装包上传到linux端

安装

mysql 复制代码
[root@server ~]# cd /
[root@server /]# tar -xvf mysql-8.0.32-1.el9.x86_64.rpm-bundle.tar   # 解压

[root@server /]# yum localinstall mysql-community-server-8.0.32-1.el9.x86_64.rpm \
mysql-community-client-8.0.32-1.el9.x86_64.rpm \   # 必须,客户端
mysql-community-common-8.0.32-1.el9.x86_64.rpm \   # 必须,公共库
mysql-community-icu-data-files-8.0.32-1.el9.x86_64.rpm  \  # 必须,支持正则表达式的icu数据文件
mysql-community-client-plugins-8.0.32-1.el9.x86_64.rpm \   # 必须,客户端共享插件
mysql-community-libs-8.0.32-1.el9.x86_64.rpm       # 不必须,开发库,开发跟MySql有关的C/C++ 项目时则需要

[root@server /]# cd ~

[root@server ~]# systemctl start mysqld

[root@server ~]# systemctl status mysqld  # 查看状态

[root@server ~]# mysql -u root -p
Enter password: 
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)  # 密码错误,需要重置密码

[root@server ~]# grep password /var/log/mysqld.log   # 查询初始密码
2023-02-09T03:55:47.305118Z 6 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: q&2PO.yJZ+Hp
# q&2PO.yJZ+Hp为密码,需要复制

[root@server ~]# mysql -u root -p
Enter password:   # 粘贴之前的密码

mysql> show databases;
ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.   # 提示需要修改默认密码

mysql> alter user 'root'@'localhost' identified by 'MyNewPass1!'; # 修改密码
Query OK, 0 rows affected (0.01 sec)

mysql> exit
Bye

生产环境中使用通用二进制包安装

作用

  • 二进制包:源码包经过成功编译之后产生的包
  • 优点:由于二进制包在发布之前就已经完成了编译的工作,因此用户安装软件的速度较快
  • 注意:在生产环境中通用二进制包安装方法较为常用

软件包下载

  • 根据上图系统参数里的glibc版本cpu架构选择对应的下载选项:

使用xftp将软件包上传到根目录

解压缩

bash 复制代码
[root@server ~]# cd  /

[root@server /]# tar xvf mysql-8.0.33-linux-glibc2.17-x86_64-minimal.tar

# 解压缩后有三个子包
# mysql-8.0.33-linux-glibc2.17-x86_64-minimal.tar.xz:安装mysql必须的文件
# mysql-router-8.0.33-linux-glibc2.17-x86_64-minimal.tar.xz:官方提供的一个轻量级中间件,主要作用是在应用程序与MySQL服务器之间提供透明的路由方式,是高可用性 (HA) 解决方案的构建块
# mysql-test-8.0.33-linux-glibc2.17-x86_64-minimal.tar.xz:测试框架,用于做mysql 服务的单元,回归和一致性测试,并提供了运行单元测试和创建新单元测试的工具
bash 复制代码
# 继续解压缩
[root@server /]# tar xvf mysql-8.0.33-linux-glibc2.17-x86_64-minimal.tar.xz
[root@server /]# ls

使用前的准备

bash 复制代码
[root@server /]# mv mysql-8.0.33-linux-glibc2.17-x86_64-minimal /usr/local/mysql  # 移动到默认安装目录,也可自行修改

[root@server /]# cd /usr/local/mysql   

[root@server mysql]# groupadd mysql    # 创建名为mysql的用户组

[root@server mysql]# useradd -r -g mysql -s /bin/false mysql  # 创建名为 mysql的系统用户,将其添加到mysql用户组中,并设置其登录shell为/bin/false,以限制该用户的登录权限

[root@server mysql]# mkdir mysql-files   # 创建一个名为 mysql-files 的目录,用于存放MySQL数据文件,一般存储备份数据

[root@server mysql]# chown mysql:mysql mysql-files     # 将mysql-files目录的所有者和所属组设置为mysql用户和组

[root@server mysql]# chmod 750 mysql-files    # 设置mysql-files目录的权限为 750,以确保只有 "mysql" 用户组的成员可以读取、写入和执行该目录

初始化软件

bash 复制代码
[root@server mysql]# bin/mysqld --initialize --user=mysql  # 注意:需要复制密码
[root@server mysql]# bin/mysql_ssl_rsa_setup  # 支持ssl,用于安全通信
[root@server mysql]# bin/mysqld_safe --user=mysql &  # 使用后台方式以mysql用户身份启动 MySQL 服务器,mysqld_safe 是一个用于启动和监控 MySQL 服务器的脚本

# 注意:此时上述命令执行完毕处于后台运行状态,需要另行启动一个终端
[root@server ~]# ps  -ef | grep  mysql   # 查看进程运行状态
[root@server ~]# cd /usr/local/mysql
[root@server ~]# bin/mysql -u root -p   # 登录,可能报错

# 报错,需要找到下面的文件进行软连接
[root@server ~]# ln -s /usr/lib64/libncurses.so.6   /usr/lib64/libncurses.so.5
[root@server ~]# ln -s /usr/lib64/libtinfo.so.6  /usr/lib64/libtinfo.so.5
[root@server ~]# bin/mysql -u root -p
Enter password:   # 粘贴之前的初始密码

mysql> alter  user 'root'@'localhost'  identified  with  mysql_native_password by '123456';  修改密码
mysql> flush privileges;   # 刷新
mysql>exit

[root@server ~]# ps -ef | grep mysql
[root@server ~]# kill  -9  pid号   # 在当前终端关闭运行的mysql

设置mysql的配置文件

bash 复制代码
# 回到之前的终端,敲一个回车,显示进程以杀死
[root@server mysql]# vim /etc/my.cnf  # 新建配置文件,输入以下内容:
[client]
port = 3306
socket = /tmp/mysql.sock
[mysqld]
server-id = 1
port = 3306
basedir = /usr/local/mysql
datadir = /usr/local/mysql/data
tmpdir = /tmp
socket = /tmp/mysql.sock
character-set-server = utf8mb4
collation-server = utf8mb4_general_ci
init_connect='SET NAMES utf8mb4'
default-storage-engine=INNODB
log_error = error.log

# 注意:以下是上述配置文件的解释
[client]      # 客户端设置
port = 3306   # 默认端口号
socket = /tmp/mysql.sock   # 启动套接字 

[mysqld]
###############################基础设置#####################################
server-id = 1      # Mysql服务的唯一编号 每个mysql服务Id需唯一
port = 3306        # 端口号 3306
basedir = /usr/local/mysql     # mysql安装根目录
datadir = /usr/local/mysql/data    # mysql数据文件所在位置 没有改目录则创建
tmpdir = /tmp    # 临时目录 比如load data infile会用到
socket = /tmp/mysql.sock   # 设置socke文件所在目录
#数据库默认字符集,主流字符集支持一些特殊表情符号(特殊表情符占用4个字节)
character-set-server = utf8mb4
#数据库字符集对应一些排序等规则,注意要和character-set-server对应
collation-server = utf8mb4_general_ci
#设置client连接mysql时的字符集,防止乱码
init_connect='SET NAMES utf8mb4'
default-storage-engine=INNODB
###############################日志设置#####################################
#数据库错误日志文件
log_error = error.log

配置启动脚本

bash 复制代码
[root@server ~]# cd  /usr/local/mysql/support-files
[root@bogon support-files]# dnf install chkconfig-1.24-1.el9.x86_64 
[root@server support-files]# cp -a mysql.server /etc/init.d/mysql.server # 拷贝启动脚本
[root@server support-files]# cd  /etc/init.d  
[root@server init.d]# vim  mysql.server  # 增加=之后的内容
basedir=/usr/local/mysql
datadir=/usr/local/mysql/data

[root@server ~]#chkconfig --add mysql.server  添加到开机自启动服务中  
[root@server ~]#chkconfig mysql.server on     开启开机启用
[root@server ~]#systemctl daemon-reload       如果重新修改配置后,重载

[root@server ~]# systemctl start mysql
[root@server ~]# vim  ~/.bash_profile   # 设置环境变量需添加如下语句
export PATH=$PATH:/usr/local/mysql/bin
[root@server ~]# source ~/.bash_profile
[root@server ~]# mysql  -uroot -p
相关推荐
笑衬人心。几秒前
Ubuntu 22.04 修改默认 Python 版本为 Python3 笔记
笔记·python·ubuntu
长征coder7 分钟前
AWS MySQL 读写分离配置指南
mysql·云计算·aws
ladymorgana41 分钟前
【docker】修改 MySQL 密码后 Navicat 仍能用原密码连接
mysql·adb·docker
PanZonghui1 小时前
Centos项目部署之安装数据库MySQL8
linux·后端·mysql
GreatSQL社区1 小时前
用systemd管理GreatSQL服务详解
数据库·mysql·greatsql
掘根1 小时前
【MySQL进阶】错误日志,二进制日志,mysql系统库
数据库·mysql
weixin_438335401 小时前
基础知识:mysql-connector-j依赖
数据库·mysql
小明铭同学1 小时前
MySQL 八股文【持续更新ing】
数据库·mysql
物联网老王10 小时前
Ubuntu Linux Cursor 安装与使用一
linux·运维·ubuntu
程序员岳焱12 小时前
Java 与 MySQL 性能优化:Java 实现百万数据分批次插入的最佳实践
后端·mysql·性能优化