mysql无法开启:The /usr/local/mysql/data directory is not owned by the 'mysql' or '_mysql'

本文提供了一种解决MySQL无法启动的方法,通过更改文件所有者权限来解决问题。具体步骤包括使用sudo chown命令更改/usr/local/mysql及其data目录的所有权。
  1. sudo chown -RL root:mysql /usr/local/mysql  
  2. sudo chown -RL mysql:mysql /usr/local/mysql/data  
  3. sudo /usr/local/mysql/support-files/mysql.server start  

出现如标题问题,可以执行以上三句命令行。

即可成开启mysql


### 解决 MySQL 5.7.38 安装过程中目录不存在问题并配置用户、端口和密码 #### 1. 确保 MySQL 源码目录存在并正确解压 在安装 MySQL 5.7.38 时,若提示 `/usr/src/mysql-5.7.38/` 目录不存在,需确认源码包是否已正确下载并解压到指定路径。可使用以下命令下载并解压: ```bash wget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.38.tar.gz -O /usr/src/mysql-5.7.38.tar.gz tar -zxvf /usr/src/mysql-5.7.38.tar.gz -C /usr/src/ ``` 该操作确保 `/usr/src/mysql-5.7.38` 目录存在,避免因路径错误导致安装失败 [^1]。 #### 2. 创建 MySQL 用户和组 为确保安装过程中的权限管理,需创建专门的 MySQL 用户和用户组: ```bash groupadd mysql useradd -g mysql mysql ``` 随后,将 MySQL 安装目录和数据目录的所有权赋予该用户: ```bash chown -R mysql:mysql /usr/local/mysql chown -R mysql:mysql /var/lib/mysql ``` 此步骤可避免权限不足导致的初始化失败 [^2]。 #### 3. 配置 MySQL 安装路径和数据目录 在使用 CMake 编译 MySQL 时,需指定安装路径和数据目录: ```bash cd /usr/src/mysql-5.7.38 cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_DATADIR=/var/lib/mysql -DSYSCONFDIR=/etc -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DWITH_EXTRA_CHARSETS=all ``` 该配置确保 MySQL 安装路径为 `/usr/local/mysql`,数据目录为 `/var/lib/mysql`,同时设置默认字符集为 UTF-8 [^3]。 #### 4. 初始化 MySQL 数据库 完成编译安装后,执行初始化操作: ```bash make && make install scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql --datadir=/var/lib/mysql ``` 该命令将初始化 MySQL 系统数据库,并确保数据目录权限正确 [^3]。 #### 5. 配置 MySQL 端口和密码 修改 `/etc/my.cnf` 文件,设置 MySQL 监听端口: ```ini [mysqld] port = 3306 socket = /tmp/mysql.sock datadir = /var/lib/mysql ``` 启动 MySQL 服务并设置 root 用户密码: ```bash /usr/local/mysql/bin/mysqld_safe --user=mysql & /usr/local/mysql/bin/mysqladmin -u root password 'your_password' ``` 此步骤确保 MySQL 服务监听在指定端口,并设置 root 用户密码 [^1]。 #### 6. 设置开机自启动 将 MySQL 服务加入系统开机启动项: ```bash cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld chmod +x /etc/init.d/mysqld chkconfig --add mysqld chkconfig mysqld on ``` 该操作确保 MySQL 在系统重启后自动启动 [^2]。 --- ###
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值