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

mysql5安装

1.下载安装包
https://downloads.mysql.com/archives/community/

mysql-5.7.44-1.el7.x86_64.rpm-bundle.tar

tar -xvf mysql-5.7.44-1.el7.x86_64.rpm-bundle.tar

在这里插入图片描述

2.安装依赖

yum -y install perl
yum -y install net-tools
yum install  numactl libaio libaio-devel -y

也可以离线安装这些依赖

rpm -ivh *.rpm --force --nodeps

在这里插入图片描述

3.安装

rpm -ivh mysql-community-common-5.7.37-1.el7.x86_64.rpmrpm -ivh mysql-community-libs-5.7.44-1.el7.x86_64.rpm
rpm -ivh mysql-community-client-5.7.44-1.el7.x86_64.rpm
rpm -ivh mysql-community-server-5.7.44-1.el7.x86_64.rpm

4.修改数据存储目录和端口号

vim /etc/my.cnf
[mysqld]
port=3307
datadir=/data/mysql

在这里插入图片描述
chown -R mysql:mysql /data/mysql
chmod -R 755 /data/mysql

如果是数据迁移,那么执行如下:

mv /var/lib/mysql /data/mysql

5.启动

systemctl start mysqld

查看状态

systemctl status mysqld

6.启动失败
如果启动报了权限问题,无法访问数据目录,可能是selinux的问题

6.1. 临时禁用 SELinux
为了快速测试是否 SELinux 是问题的根源,可以暂时将 SELinux 设置为宽容模式(permissive),这样可以允许访问,但会记录违规操作:

setenforce 0

此命令将 SELinux 模式切换到宽容模式。然后,尝试重新启动 MySQL 服务:

systemctl start mysqld

6.2. 检查 MySQL 是否成功启动

systemctl status mysqld

6.3. 确认 SELinux 策略
如果 MySQL 成功启动,那么问题很可能与 SELinux 的策略有关。要确保 MySQL 访问 /data/mysql 目录的权限,可以使用以下命令:

chcon -R -t mysqld_db_t /data/mysql

如果有单个文件权限不对,也可以修改单个文件权限

chcon -t mysqld_db_t /data/mysql/ibtmp1

还不行的话执行下面6.5章节的命令

semanage fcontext -a -t mysqld_db_t "/data/mysql(/.*)?"
restorecon -Rv /data/mysql

然后再执行以下命令将端口 3307 添加到 SELinux 上下文中,使 MySQL 可以绑定到此端口:

semanage port -a -t mysqld_port_t -p tcp 3307

如果端口 3307 已经存在并且设置了其他标签(例如 unreserved_port_t),可以先删除旧的上下文:

semanage port -d -p tcp 3307

然后重新添加 mysqld_port_t 标签,然后再重启mysql,会成功

在这里插入图片描述

这个命令将会为 /data/mysql 目录及其内容设置合适的 SELinux 上下文。

6.4. 重新启用 SELinux
在进行上述步骤后, 可以将 SELinux 恢复到强制模式:

setenforce 1

检查 SELinux 审核日志

ausearch -m avc -ts recent | grep mysqld

6.5. 持久化 SELinux 修改
如果 MySQL 启动正常并且您需要保留 SELinux 设置,可以考虑创建一个持久化的策略,以确保即使在重启后也能应用该上下文。这可以通过 semanage 工具来实现,您可能需要先安装 policycoreutils-python(CentOS 7 中):

yum install policycoreutils-python

然后,运行以下命令来为 /data/mysql 目录设置上下文:

semanage fcontext -a -t mysqld_db_t "/data/mysql(/.*)?"
restorecon -Rv /data/mysql

7.登录成功,查看修改

cat /var/log/mysqld.log | grep password

在这里插入图片描述

2024-11-03T09:06:59.466166Z 1 [Note] A temporary password is generated for root@localhost: =q.v3#>wx1)U

密码是冒号后面的那一窜
=q.v3#>wx1)U

登录

mysql -u root -p --port=3307

设置密码最小长度策略

set global validate_password_length=6;

设置密码强度检查等级策略,0/LoW、1/MEDIUM、2/STRONG

set global validate_password_policy=0;

修改密码

set password for 'root'@'localhost' = password('zzybzb');

开启MySQL远程连接(%号即远程连接,IDENTIFIED BY后面跟的密码)

GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'zzybzb';

刷新,重新加载

flush privileges; 

8.mysql卸载

rpm -qa | grep mysql
rpm -e mysql-community-server mysql-community-client mysql-community-common mysql-community-libs --nodeps
rm -rf /var/lib/mysql
rm -rf /etc/my.cnf
rm -rf /var/log/mysqld.log
rm -rf /var/log/mysql


http://www.mrgr.cn/news/65787.html

相关文章:

  • DPDK 简易应用开发之路 6:流规则配置与多队列数据包处理
  • 摄影分享网站(源码+数据库+报告)
  • 微信公众号推送
  • Vue学习记录之二十七 路由router的使用
  • Java实现图片转pdf
  • [vulnhub]DC: 1
  • 数字证书的简单记录
  • 基于SpringBoot司机信用评价的货运管理系统【附源码】
  • Windows无法访问\\192.168.1.156,错误代码0x800704cf
  • 11.4OpenCV_图像预处理习题02
  • Python 继承、多态、封装、抽象
  • 字符串算法
  • Android CCodec Codec2 (十九)C2LinearBlock
  • 【软考】反规范化技术
  • Python 类和对象
  • MeetingMind:AI 会议助手,支持自动转录音频并提取会议中的关键信息
  • 408 计算机组成原理、操作系统:异常和中断的总结
  • GESP4级考试语法知识(计数排序-桶排序)
  • 管易到金蝶销售数据集成全流程详解
  • AI大模型重塑软件开发:从代码自动生成到智能测试
  • AVLTree
  • 程序员都在用的AI编码助手
  • C++练习题
  • kafka版本
  • PH热榜 | 2024-11-04
  • 【解决办法】无法使用右键“通过VSCode打开文件夹”