在VMware上安装CentOS7后,安装最新版本的MySql避坑-yum命令不能正常使用(初学者学习),自定义的文件夹下

1、检查CentOS的具体版本

bash

cat /etc/redhat-release

假设你的系统是 CentOS 7,接下来的步骤将基于此进行配置。

2、修改仓库配置文件

编辑 /etc/yum.repos.d/CentOS-Base.repo 文件,确保其中的变量被正确替换。可以手动指定版本号,例如将 $releasever 替换为 7。
示例:CentOS 7 使用阿里云镜像源(其他镜像地址取决于个人的网络等环境)
将 /etc/yum.repos.d/CentOS-Base.repo 文件内容修改为如下:

2.1、 备份原有文件

在进行任何修改之前,建议先备份原始的 CentOS-Base.repo 文件。

bash

   sudo cp /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.bak
   

2.2、编辑 CentOS-Base.repo 文件:

使用你喜欢的文本编辑器(如 vi 或 nano)打开并编辑该文件:

bash

   sudo vi /etc/yum.repos.d/CentOS-Base.repo
   

2.3、替换内容:

将文件内容替换为以下配置,确保所有 URL 都指向阿里云的 CentOS 7 镜像源。
示例:使用阿里云镜像源

Ini

[base]
name=CentOS-7 - Base - mirrors.aliyun.com
failovermethod=priority
baseurl=http://mirrors.aliyun.com/centos/7/os/x86_64/
gpgcheck=1
gpgkey=http://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-7

[updates]
name=CentOS-7 - Updates - mirrors.aliyun.com
baseurl=http://mirrors.aliyun.com/centos/7/updates/x86_64/
gpgcheck=1
gpgkey=http://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-7

[extras]
name=CentOS-7 - Extras - mirrors.aliyun.com
baseurl=http://mirrors.aliyun.com/centos/7/extras/x86_64/
gpgcheck=1
gpgkey=http://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-7

[centosplus]
name=CentOS-7 - Plus - mirrors.aliyun.com
baseurl=http://mirrors.aliyun.com/centos/7/centosplus/x86_64/
gpgcheck=1
enabled=0
gpgkey=http://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-7

2.4、保存并退出编辑器:

如果你使用的是 vi,按 Esc 键,然后输入 :wq! 并按回车键保存并退出。


2.5、清除缓存并重新生成缓存:

修改完仓库配置文件后,清除现有的 yum 缓存并重新生成缓存:

bash

   sudo yum clean all
   sudo yum makecache
   

3、验证配置

确保新的配置生效且可以正常访问仓库:

bash

sudo yum repolist

4、其他注意事项


官方仓库:如果你更倾向于使用官方仓库,可以从 CentOS 官方网站下载最新的 CentOS-Base.repo 文件:

bash

  cd /etc/yum.repos.d/
  sudo wget http://mirror.centos.org/centos-7/7/os/x86_64/CentOS-Base.repo
  sudo yum clean all
  sudo yum makecache
  

5、安装mysql(自定义文件夹下):

5.1、查看那个盘的空间大,并切换到空间大的路径下(或者自己想要的路径下):

bash

df -h

5.2、添加 MySQL Yum 仓库


1)、下载并安装 MySQL Yum 仓库:

使用 wget 下载 MySQL 的 Yum 仓库文件并安装它。

bash

   sudo wget https://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm
   sudo rpm -ivh mysql80-community-release-el7-3.noarch.rpm
   

2)、检查并启用 MySQL 仓库:

安装完成后,可以查看可用的 MySQL 仓库:

bash

   sudo yum repolist enabled | grep "mysql.*-community.*"
   

如果你想安装特定版本(例如 MySQL 5.7),可以通过编辑 /etc/yum.repos.d/mysql-community.repo 文件来禁用 MySQL 8.0 并启用 MySQL 5.7。


5.3、安装 MySQL


1)、创建自定义目录:

创建你希望 MySQL 安装到的自定义目录,例如 /usr/local/mysql。

bash

   sudo mkdir -p /usr/loacl/mysql
   sudo chown -R mysql:mysql /usr/loacl/mysql
   

题外话:这里的mysql用户需先创建

步骤 1:检查并创建 mysql 用户和组
检查现有用户和组:

确认系统中是否已经存在 mysql 用户和组。

bash

   grep mysql /etc/passwd
   grep mysql /etc/group
   

创建 mysql 用户和组(如果不存在):

如果没有找到 mysql 用户和组,可以使用以下命令创建它们。

bash

   sudo groupadd mysql
   sudo useradd -r -g mysql -s /bin/false mysql
   

-r:创建一个系统用户。
-g mysql:指定用户属于 mysql 组。
-s /bin/false:禁用用户的登录 shell。
步骤 2:重新设置文件夹权限
确保你使用的路径是正确的,并且 mysql 用户和组已经创建成功后,再次设置权限。

bash

sudo chown -R mysql:mysql /usr/local/mysql

步骤 3:验证权限设置
确认权限已经正确设置:

bash

ls -ld /usr/local/mysql

你应该看到类似如下的输出,表示 mysql 用户和组拥有该目录:

drwxr-x--- 2 mysql mysql 4096 Oct 10 12:34 /usr/local/mysql
 

题外话:碰到/etc/sudo.conf 和相关文件的所有权和权限问题

sudo whoami 
sudo: /etc/sudoers 属于用户 ID 987,应为 0 
sudo: 没有找到有效的 sudoers 资源,退出 
sudo: 无法初始化策略插件

步骤 1:切换到 root 用户并修复 /etc/sudoers
由于 sudo 已经失效,我们需要直接使用 su 切换到 root 用户来修复问题。
切换到 root 用户:

bash

su -

检查并修复 /etc/sudoers 的所有权和权限:

确认 /etc/sudoers 文件的所有权和权限是否正确,并进行修复。

bash

   ls -l /etc/sudoers
   chown root:root /etc/sudoers
   chmod 0440 /etc/sudoers
   

检查并修复 /etc/sudoers.d/ 目录及其内容(如果有):

如果存在 /etc/sudoers.d/ 目录,也需要确保其所有权和权限正确。

bash

   ls -ld /etc/sudoers.d
   chown root:root /etc/sudoers.d
   chmod 0750 /etc/sudoers.d
   find /etc/sudoers.d -type f -exec chown root:root {} \;
   find /etc/sudoers.d -type f -exec chmod 0440 {} \;
   

检查并修复 /usr/libexec/sudo/sudoers.so 的所有权和权限: 同样地,确认 /usr/libexec/sudo/sudoers.so 文件的所有权和权限是否正确,并进行修复。

   ls -l /usr/libexec/sudo/sudoers.so
   chown root:root /usr/libexec/sudo/sudoers.so
   chmod 0644 /usr/libexec/sudo/sudoers.so
   

步骤 2:验证修复效果
退出 root 用户并测试 sudo:

退出 root 用户后,尝试使用普通用户运行 sudo 命令,确保问题已解决。

bash

   exit
   sudo whoami
   

如果仍然有问题: 如果问题依然存在,可能需要进一步检查其他与 sudo 相关的文件和配置。你可以使用以下命令查看所有与 sudo 相关的文件及其权限:

bash

   find /etc /usr/libexec/sudo -name "sudo*" -exec ls -l {} \;
   

额外提示
备份重要文件:在进行任何重大更改之前,建议备份重要文件,特别是 /etc/sudoers 和 /etc/sudo.conf。
日志监控:在修复过程中,可以查看系统日志(如 /var/log/messages 或 /var/log/syslog)以获取更多信息。
避免手动编辑 /etc/sudoers:尽量使用 visudo 命令编辑 /etc/sudoers 文件,以防止语法错误导致 sudo 失效。

 2)安装 MySQL 服务器:

使用 yum 安装 MySQL 服务器包。

bash

   sudo yum install mysql-community-server
   

5.4、配置 MySQL 使用自定义目录


1)、备份默认配置文件:

备份默认的 MySQL 配置文件。

bash

   sudo cp /etc/my.cnf /etc/my.cnf.bak
   

2)、编辑 MySQL 配置文件:

编辑 /etc/my.cnf 文件以指定自定义的数据目录和其他路径。

bash

   sudo vi /etc/my.cnf
   

添加或修改以下内容:

Ini

   [mysqld]
   datadir=/usr/local/mysql/data
   socket=/usr/local/mysql/mysql.sock
   pid-file=/usr/local/mysql/mysqld.pid
   tmpdir=/usr/local/mysql/tmp

   [client]
   socket=/usr/local/mysql/mysql.sock

   [mysql]
   socket=/usr/local/mysql/mysql.sock
   

3)、初始化 MySQL 数据目录:

初始化 MySQL 数据目录到自定义位置。

bash

   sudo mysqld --initialize --user=mysql --basedir=/usr --datadir=/usr/local/mysql/data
   

4)、设置权限:

确保 MySQL 用户对自定义目录有正确的权限。

bash

   sudo chown -R mysql:mysql /usr/local/mysql
   sudo chmod -R 750 /usr/local/mysql
   

5.5、启动 MySQL 服务


1)、启动 MySQL 服务:

启动 MySQL 服务并设置开机自启。

bash

   sudo systemctl start mysqld
   sudo systemctl enable mysqld
   

2)、检查 MySQL 服务状态:

确认 MySQL 服务是否正常运行。

   sudo systemctl status mysqld
   

5.6、安全配置 MySQL


1)、运行安全脚本:

MySQL 安装后会生成一个临时密码,建议立即运行安全配置脚本来增强安全性。

bash

   sudo mysql_secure_installation
   

按照提示进行操作:
设置 root 用户的密码。
移除匿名用户。
禁止 root 远程登录。
删除测试数据库。
刷新权限表。


5.7、连接 MySQL


1)、使用 root 用户登录 MySQL:

使用刚刚设置的 root 密码登录 MySQL。

bash

   mysql -u root -p
   

 2)、创建新用户和数据库(可选):

根据需要创建新的 MySQL 用户和数据库。

sql

   CREATE DATABASE mydatabase;
   CREATE USER 'myuser'@'localhost' IDENTIFIED BY 'mypassword';
   GRANT ALL PRIVILEGES ON mydatabase.* TO 'myuser'@'localhost';
   FLUSH PRIVILEGES;
   EXIT;
   

总结


通过以上步骤,你应该能够在 CentOS 7上成功将 MySQL 安装到自定义文件夹 /usr/local/mysql 中。

注意事项

备份数据:在进行任何重大更改之前,确保备份重要数据。
权限管理:确保 MySQL 用户对自定义目录有适当的权限。
日志监控:在初始化和启动过程中,监控日志文件(如 /var/log/mysqld.log)以排查潜在问题。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

慧香一格

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值