部署MySQL无权限??

linux部署mysql,初始化时一直提示mysql.log无权限, 无论怎么用chmod赋权结果还是一样,一直报无权限,应该是哪里的问题,怎么解决

img

首先需要确保 /var/lib/mysql 目录必须存在,而且这个目录的所有者和所有组必须是 mysql 用户,所以在初始化的时候,你需要先执行下面的操作

# 先建立mysql用户
useradd -M mysql

#创建数据目录  /var/lib/mysql ,并授权mysql用户对这个目录有所有的操作权限
mkdir -p /var/lib/mysql  
chown mysql.mysql  /var/lib/mysql  -R

【以下回答由 GPT 生成】

根据错误日志信息,可以看出问题出在文件 /var/lib/mysql/mysql.log 的权限上。

解决步骤如下:

  1. 首先,在终端中使用以下命令,确保你具有管理员权限(root权限):
sudo su
  1. 接下来,使用 ls -l 命令确认 /var/lib/mysql/mysql.log 的权限和所有者。
ls -l /var/lib/mysql/mysql.log
  1. 如果当前用户不是 mysql 用户,使用以下命令将该文件的所有权转移到 mysql 用户:
chown mysql:mysql /var/lib/mysql/mysql.log
  1. 然后,使用 chmod 命令赋予 /var/lib/mysql/mysql.log 文件的读、写和执行权限给 mysql 用户:
chmod 644 /var/lib/mysql/mysql.log
  1. 现在重新初始化 MySQL。使用以下命令:
cd /var/lib/mysql/mysql-8.1.0/bin/
./mysqld --defaults-file=/etc/my.cnf --basedir=/var/lib/mysql/mysql-8.1.0/ --datadir=/var/lib/mysql/ --user=mysql --initialize
  1. 如果还出现权限错误,请继续检查 /var/lib/mysql 目录及其子目录的权限和所有者。可以使用以下命令:
ls -l /var/lib/mysql
ls -l /var/lib/mysql/*
  1. 使用以下命令将权限转移到 mysql 用户并赋予相应的权限:
chown -R mysql:mysql /var/lib/mysql
chmod -R 755 /var/lib/mysql
  1. 最后,重新执行第 5 步的命令以重新初始化 MySQL。

如果以上步骤仍然不能解决问题,请确保你的操作系统中没有其他配置或策略限制权限,并且 MySQL 的配置文件 /etc/my.cnf 中没有特殊的设置。

希望这些步骤可以解决你的问题,如果还有其他疑问,请随时提问。



【相关推荐】



如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^