linux安装 mysql5.6,遇到Please configure the ‘hostname‘ command to return a correcthostname.

今天需要在linux安装个mysql用于测试,在网上找个教程便开始安装

前面的下载,解压,重命名文件夹,添加用户,用户组都不会有啥问题,我的mysql的解压安装路径是 /root/xxx/mysql,没有按照教程的解压安装路径。

groupadd mysql
useradd -r -g mysql mysql

然后按照教程修改 /etc/my.cnf
添加了
basedir=/usr/local/mysql 
datadir=/usr/local/mysql/data

basedir=/usr/local/mysql 
datadir=/usr/local/mysql/data

初始化mysql,在安装路劲mysql的目录下执行命令

./scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data


报错信息

FATAL ERROR: Could not find my-default.cnf

If you compiled from source, you need to run 'make install' to
copy the software into the correct location ready for operation.

If you are using a binary release, you must either be at the top
level of the extracted archive, or pass the --basedir option
pointing to that location.

看样子是没有指定配置文件,于是指定配置文件

./scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --default-file=/etc/my.cnf

报错信息依旧。检查了一遍,没发现自己操作有啥问题,于是主观的认为是教程不对。于是删掉解压的文件夹,重新按照脚本之家的教程  https://www.jb51.net/article/159080.htm 操作

前面也是下载,解压,重命名文件夹,添加用户。我的mysql的安装路径是 /root/xxx/mysql,没有按照教程的 /opt

执行mysql的初始化命令

./scripts/mysql_install_db --user=mysql 

报错信息

FATAL ERROR: Neither host 'iZj6c956trgtqzz1bahm2gZ' nor 'localhost' could be looked up with
/usr/local/mysql/bin/resolveip
Please configure the 'hostname' command to return a correct
hostname.
If you want to solve this at a later stage, restart this script
with the --force optio

 我猜测是不是 /etc/hosts 没有配置好,于是将

::1       localhost       localhost.localdomain   localhost6      localhost6.localdomain6
改成了
127.0.0.1       localhost       localhost.localdomain   localhost6      localhost6.localdomain6

没有成功,于是根据报错信息搜索相关资料,操作及操作结果总结如下

1- /etc/hosts 的配置信息,将‘::1  ’ 改成 127.0.0.1。再执行./bin/resolveip localhost, 预期执行结果是 IP address of localhost is 127.0.0.1
   修改后,在我的安装目录下执行./bin/resolveip localhost,然后重新执行上面的mysql初始化命令。没起效果。报错信息更原来一样
2- 将/usr/local/mysql/bin/resolveip 拷贝到 /usr/bin。  发现并没有这个文件
3- 说是在32位的平台上使用了64位的安装包。 这个可以肯定不是

因为以前安装都没遇到过这个问题,而且只是安装mysql并没有其他高级的设置,所以感觉肯定是哪里犯了的低级错误。
于是第二次删掉,再找个安装教程  https://www.cnblogs.com/bbdong/p/9579794.html
看到一行,突然让我意识到了错误

进入mysql安装/usr/local/mysql  目录执行数据库的 初始化脚本 并生成my.cnf文件  作用 :用于mysql自带的 数据库 和 表的初始化 。

我的安装路径是 /root/XXX/mysql,但是指定的 basedata目录是'/usr/local/mysql',且在 /etc/my.cnf中也配置了。在我第一次安装失败后,我删除了文件夹,但是没有修改/etc/my.cnf。所以第二次安装脚本之家的教程安装也是失败的。

此时我意识到basedata应该是安装目录,第二种解决方案将将/usr/local/mysql/bin/resolveip 拷贝到 /usr/bin。找不到resolveip也是是因为我的安装路径不在/usr/local/mysql上。在我实际的安装路径/root/xxx/mysql/bin下确实找到了 resolveip的命令。

于是修改了/etc/my.cnf 中的 basedir 为 我实际的安装路径 '/root/xxx/mysql'

重新按照脚本之家的教程。执行初始化

./scripts/mysql_install_db --user=mysql 

报错信息

ERROR: 1  Can't create/write to file '/root/xxx/mysql/data/mysql/db.MYI' (Errcode: 13 - Permission denied)
2021-09-08 10:21:18 5446 [ERROR] Aborting


明显是权限问题,执行初始化的用户是 mysql,在我的安装目录下没有权限。于是将安装包解压到 /opt/下
初始化mysql,报错还是权限问题

ERROR: 1  Can't create/write to file '/root/XXX/mysql/data/mysql/db.MYI' (Errcode: 13 - Permission denied)
2021-09-08 10:22:51 5446 [ERROR] Aborting

......真是无语啊,还犯这个错误。 应该修改 /etc/my.cnf中的basedir为 实际安装路径。初始化时应该默认的配置文件是/etc/my.cnf。为了防止再犯,于是删除了第一次安装时/etc/my.cnf中的 修改内容datadir和basedir,log-error等

脚本之家的剩余安装步骤都正常执行。

本次浪费了2个多小时,原因是很低级的,没有去理解那些安装的参数。按照教程,但有没有完全按照教程(解压安装目录不一样)。引以为戒

basedir是指定安装目录,必须是你实际的安装目录,不然初始化会找不到相关的命令

datadir是mysql的数据目录

/etc/my.cnf是默认的配置文件,可以指定安装参数datadir和basedir等。可以被初始化命令的指定值覆盖。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在Red Hat Enterprise Linux (RHEL) 8中安装MySQL 5.6可以通过官方仓库或从源代码编译的方式进行。由于官方已停止对MySQL 5.6的支持,推荐升级到较新版本如MySQL 8.x或更高。但是,如果你确实需要安装旧版,下面是步骤: **从官方仓库安装(不推荐):** 1. **更新软件包列表:** ```bash sudo yum update ``` 2. **添加EPEL(额外的第三方存储库):** 对于MySQL 5.6,你需要先安装EPEL(Extra Packages for Enterprise Linux),但请注意,这可能会导致兼容性问题。运行: ```bash sudo yum install epel-release ``` 3. **安装MySQL 5.6:** ``` sudo yum install mysql56-server ``` 输入数据库root用户的密码并按照提示完成安装。 **从源代码编译安装:** 如果你选择手动编译安装,需下载源代码、依赖项和配置环境,然后编译和安装。这是高级用户通常的做法,具体步骤如下: 1. **下载MySQL源码:** ``` wget https://dev.mysql.com/get/mysql56-community-release-el7-9.noarch.rpm sudo rpm -Uvh mysql56-community-release-el7-9.noarch.rpm ``` 2. **安装必要的开发工具:** ``` sudo yum install gcc make bzip2 automake libtool libncurses-devel openssl-devel readline-devel zlib-devel ``` 3. **下载并解压MySQL源码:** ``` wget https://dev.mysql.com/get/Downloads/MySQL-5.6/mysql-5.6.49.tar.gz tar xvfz mysql-5.6.49.tar.gz cd mysql-5.6.49 ``` 4. **配置和编译安装:** ``` ./configure --prefix=/usr/local/mysql-5.6 make sudo make install ``` 5. **设置MySQL root用户密码:** 安装后,使用`mysql_secure_installation`命令设置新的root用户密码。 6. **启动服务并测试:** ``` sudo systemctl start mysqld sudo systemctl enable mysqld mysql -u root -p ``` 注意:虽然上述步骤可能适用于某些场景,但在生产环境中,还是建议使用官方支持的最新版本以确保系统的稳定性和安全性。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值