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 allsudo 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.reposudo yum clean allsudo 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.rpmsudo 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/mysqlsudo chown -R mysql:mysql /usr/loacl/mysql
题外话:这里的mysql用户需先创建
步骤 1:检查并创建 mysql 用户和组
检查现有用户和组:确认系统中是否已经存在 mysql 用户和组。
bash
grep mysql /etc/passwdgrep mysql /etc/group
创建 mysql 用户和组(如果不存在):
如果没有找到 mysql 用户和组,可以使用以下命令创建它们。
bash
sudo groupadd mysqlsudo 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/sudoerschown root:root /etc/sudoerschmod 0440 /etc/sudoers
检查并修复 /etc/sudoers.d/ 目录及其内容(如果有):
如果存在 /etc/sudoers.d/ 目录,也需要确保其所有权和权限正确。
bash
ls -ld /etc/sudoers.dchown root:root /etc/sudoers.dchmod 0750 /etc/sudoers.dfind /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.sochown root:root /usr/libexec/sudo/sudoers.sochmod 0644 /usr/libexec/sudo/sudoers.so
步骤 2:验证修复效果
退出 root 用户并测试 sudo:退出 root 用户后,尝试使用普通用户运行 sudo 命令,确保问题已解决。
bash
exitsudo 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/datasocket=/usr/local/mysql/mysql.sockpid-file=/usr/local/mysql/mysqld.pidtmpdir=/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/mysqlsudo chmod -R 750 /usr/local/mysql
5.5、启动 MySQL 服务
1)、启动 MySQL 服务:
启动 MySQL 服务并设置开机自启。
bash
sudo systemctl start mysqldsudo 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)以排查潜在问题。