当前位置: 首页 > news >正文

openEuler 22.03 安装 Mysql 5.7,TAR离线安装

目录

    • 一、检查系统是否安装其他版本Mariadb数据库
    • 二、环境检查
      • 2.1 必要环境检查
      • 2.2 在线安装(有网络)
      • 2.3 离线安装(无网络)
    • 二、下载Mysql
      • 2.1 在线下载
      • 2.2 离线下载
    • 三、安装Mysql
    • 四、配置Mysql
    • 五、开放防火墙端口
    • 六、数据备份
    • 七、常用命令

一、检查系统是否安装其他版本Mariadb数据库

# 查看已安装的 Mariadb 数据库版本
[root@openeuler ~]# rpm -qa|grep -i mariadb
# 卸载已安装的 Mariadb 数据库
[root@openeuler ~]# rpm -qa|grep mariadb|xargs rpm -e --nodeps

二、环境检查

2.1 必要环境检查

# 查看 libaio 版本
[root@openeuler ~]# rpm -q libaio
# 查看 numactl 版本
[root@openeuler ~]# rpm -q numactl
# 查看 ncurses-compat-libs 版本
[root@openeuler ~]# rpm -q ncurses-compat-libs

2.2 在线安装(有网络)

[root@openeuler ~]# sudo dnf install -y libaio numactl ncurses-compat-libs

2.3 离线安装(无网络)

1.3.1 软件包下载
openEuler软件中心:https://easysoftware.openeuler.org/zh/rpm
华为开源镜像站:http://mirrors.huaweicloud.com/openeuler/openEuler-22.03-LTS-SP4/everything/x86_64/Packages/
华中科技大学镜像站:https://mirrors.hust.edu.cn/openeuler/openEuler-22.03-LTS-SP4/everything/x86_64/Packages/
RPMFind:http://www.rpmfind.net/linux/rpm2html/search.php

依赖包下载:openEuler 22.03 离线安装 Mysql 5.7 依赖包
1.3.2 软件包安装

# 切换到 RPM 包所在目录,假设 RPM 包存放在 /home/rpm_packages 目录下
[root@openeuler ~]# cd /home/rpm_packages
# 正常安装命令
[root@openeuler rpm_packages]# sudo rpm -ivh *.rpm --nodeps
# 强制安装命令
# 重要事项:没把握的话,千万不要用下面这个命令,这个命令会忽略依赖和兼容性,可能会导致基础组件被卸载掉。
[root@openeuler rpm_packages]# sudo rpm -Uvh *.rpm --nodeps --force

小技巧:可以提前在有网络环境下下载安装包,移动到无网络环境
yumdownloader --resolve libaio
yumdownloader --resolve numactl
yumdownloader --resolve ncurses-compat-libs

二、下载Mysql

2.1 在线下载

# 创建安装目录
[root@openeuler ~]# cd /usr/local/
[root@openeuler local]# wget https://downloads.mysql.com/archives/get/p/23/file/mysql-5.7.44-el7-x86_64.tar.gz

2.2 离线下载

下载地址:https://downloads.mysql.com/archives/community/
上传到 /usr/local 目录下
在这里插入图片描述

三、安装Mysql

3.1 创建 MySQL 用户和组

# 创建用户和组
[root@openeuler ~]# sudo groupadd mysql
[root@openeuler ~]# sudo useradd -r -g mysql -s /bin/false mysql

3.2 初始化安装

# 进入安装目录
[root@openeuler ~]# cd /usr/local/
# 解压安装包
[root@openeuler local]# tar -zxvf mysql-5.7.44-el7-x86_64.tar.gz
# 重命名
[root@openeuler local]# sudo mv mysql-5.7.44-el7-x86_64 /usr/local/mysql
# 创建数据目录
[root@openeuler local]# sudo mkdir -p /mnt/mysql/data
# 初始化
[root@openeuler local]# sudo /usr/local/mysql/bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/mnt/mysql/data

初始化完成后,会在终端输出初始密码,如 [Note] A temporary password is generated for root@localhost: xxxxxx),请务必记录此密码。

3.3 Mysql 用户授权

# 安装目录授权
[root@openeuler local]# sudo chown -R mysql:mysql /usr/local/mysql
# PID目录授权
[root@openeuler local]# sudo mkdir -p /var/run/mysqld
[root@openeuler local]# sudo chown -R mysql:mysql /var/run/mysqld
# 日志目录授权
[root@openeuler local]# sudo touch /var/log/mysqld.log
[root@openeuler local]# sudo chown -R mysql:mysql /var/log/mysqld.log

3.4 配置 my.cnf

# 创建配置文件 /etc/my.cnf
[root@openeuler ~]# sudo tee /etc/my.cnf <<EOF[mysqld]
#
# Remove leading # and set to the amount of RAM for the most important data
# cache in MySQL. Start at 70% of total RAM for dedicated server, else 10%.
# innodb_buffer_pool_size = 128M
#
# Remove leading # to turn on a very important data integrity option: logging
# changes to the binary log between backups.
# log_bin
#
# Remove leading # to set options mainly useful for reporting servers.
# The server defaults are faster for transactions and fast SELECTs.
# Adjust sizes as needed, experiment to find the optimal values.
# join_buffer_size = 128M
# sort_buffer_size = 2M
# read_rnd_buffer_size = 2M
#socket=/var/lib/mysql/mysql.sock
socket=/tmp/mysql.sock# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
user=mysql
# 端口,默认3306
port=3366
# 安装路径
basedir=/usr/local/mysql
# 存储路径
datadir=/mnt/mysql/data
# 设置编码
character-set-server=utf8
collation-server=utf8_general_ci
# 默认采用InnoDB存储引擎
default-storage-engine=INNODB
# 设置大小写敏感
lower_case_table_names=1
# sql_mode定义了支持的sql语法、数据校验等
sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
# 最大并行连接数
max_connections=100000[mysql]
default-character-set = utf8[mysql.server]
default-character-set = utf8[mysqld_safe]
default-character-set = utf8[client]
default-character-set = utf8
socket=/tmp/mysql.sock
EOF

3.5 设置环境变量

# /usr/local/mysql/bin 换成实际地址
[root@openeuler local]# echo export PATH=$PATH:/usr/local/mysql/bin >> /etc/profile
[root@openeuler local]# source /etc/profile
[root@openeuler local]# env

3.6 配置 SELinux 安全上下文

[root@openeuler local]# sudo chcon -R -t mysqld_db_t /mnt/mysql/data
[root@openeuler local]# sudo semanage fcontext -a -t mysqld_db_t "/mnt/mysql/data(/.*)?"
[root@openeuler local]# sudo restorecon -Rv /mnt/mysql/data

3.7 配置 systemd 服务

# 创建自启动脚本
[root@openeuler local]# sudo vi /etc/systemd/system/mysqld.service# =============================================================================
# 复制粘贴以下内容:
[Unit]
Description=MySQL Server
After=network.target[Service]
User=mysql
Group=mysql
ExecStart=/usr/local/mysql/bin/mysqld_safe --datadir=/mnt/mysql/data
ExecStop=/usr/local/mysql/bin/mysqladmin -u root -p shutdown
RuntimeDirectory=mysqld
RuntimeDirectoryMode=0755[Install]
WantedBy=multi-user.target
# =============================================================================

3.8 启动服务

# 注意:要保证 mysqld 后台服务未启动
# 设置开机自启
[root@openeuler ~]# sudo systemctl daemon-reload
[root@openeuler ~]# sudo systemctl enable mysqld
# 启动Nginx服务
[root@openeuler ~]# sudo systemctl start mysqld
# 查看服务状态
[root@openeuler ~]# sudo systemctl status mysqld

四、配置Mysql

# 登录 MySQL
[root@openeuler ~]# mysql -u root -p
Enter password:     ## 初始密码# 重置密码,新密码root
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'root';
# 授权远程访问权限
mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'root' WITH GRANT OPTION;
# 刷新策略
mysql> FLUSH PRIVILEGES;#修改密码长度限制策略
mysql> set global validate_password_policy=0;   #--表示将密码安全等级设置为low
mysql> set global validate_password_length=1;   #--表示将密码长度设置为最小6位
mysql> FLUSH PRIVILEGES;# 查看 MySQL 服务编码
mysql> show variables like 'character%';

五、开放防火墙端口

# 查询端口是否开放
[root@openeuler ~]# sudo firewall-cmd --query-port=3306/tcp
[root@openeuler ~]# sudo firewall-cmd --query-port=3366/tcp
# 开放端口(TCP协议)
[root@openeuler ~]# sudo firewall-cmd --zone=public --add-port=3306/tcp --permanent
[root@openeuler ~]# sudo firewall-cmd --zone=public --add-port=3366/tcp --permanent
# 重新加载防火墙规则
[root@openeuler ~]# sudo firewall-cmd --reload
# 验证端口是否开放
[root@openeuler ~]# sudo firewall-cmd --zone=public --list-ports
# 查看所有端口
[root@centosServer ~]# sudo netstat -nlpt

六、数据备份

Linux 环境下 Mysql 5.7 数据定期备份

七、常用命令

# 启动服务
sudo systemctl start mysqld
# 查看服务状态
sudo systemctl status mysqld
# 重启服务
sudo systemctl restart mysqld
# 停止服务
sudo systemctl stop mysqld查看版本:mysql -V查看进程:ps -ef | grep mysqld
如果有mysqld_safe和mysqld两个进程,说明MySQL服务当前在启动状态
http://www.xdnf.cn/news/241003.html

相关文章:

  • Python与深度学习:自动驾驶中的物体检测,如何让汽车“看懂”世界
  • 【现代深度学习技术】现代循环神经网络02:长短期记忆网络(LSTM)
  • 【Linux系统】Linux进程信号(产生,保存信号)
  • WGCLOUD使用 - 如何监控RabbitMQ运行参数
  • Lebesgue测度和积分理论发展概观
  • ThreadLocal详解
  • 从工厂到生活:算法 × 深度学习,正在改写自动化的底层逻辑
  • Js扩展DOM、BOM、AJAX、事件、定时器
  • react学习笔记2——基于React脚手架与ajax
  • DBeaver虚拟主键会影响实际的数据库吗
  • 贝叶斯算法实战:从原理到鸢尾花数据集分类
  • Linux安装部署Postgresql数据库
  • 数字智慧方案5971丨智慧农业大数据平台解决方案(59页PPT)(文末有下载方式)
  • PostgreSQL安装部署
  • 网络安全知识问答微信小程序的设计与实现
  • 前端面试宝典---webpack原理解析,并有简化版源码
  • Leetcode刷题记录23——最小覆盖子串
  • systemd和OpenSSH
  • DeepSeek V3重磅升级!
  • 联邦学习的收敛性分析(全设备参与,不同本地训练轮次)
  • LoRA、QLoRA、LoRA+、LongRA、DoRA、MaLoRA、GaLore
  • MySQL基础关键_002_DQL(一)
  • [AI]怎么计算中文被bert模型切分的tokens数量
  • TC8:SOMEIP_ETS_021-022
  • 产品VP简历模板案例
  • # 基于 Python 和 jieba 的中文文本自动摘要工具
  • ChipCN IDE KF32 导入工程后,无法编译的问题
  • 探秘明远智睿SSD2351开发板在HMI领域的独特魅力
  • 2025第八届数字中国峰会启幕 | 思特奇以数智力量,助推数字中国建设
  • 游戏性能测试