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

本文解决了在Snow Leopard系统中启动MySQL服务时遇到的警告问题,即数据目录未被MySQL用户拥有。通过使用三条简单的命令行操作,可以成功地更改目录的所有权并启动MySQL服务。

If you can't start mysql service in snow leopard, and in the panel prefs appears 'warning the user/local/mysql/data directory is not owned by the mysql user', you have to:


sudo chown -RL root:mysql /usr/local/mysql
sudo chown -RL mysql:mysql /usr/local/mysql/data
sudo /usr/local/mysql/support-files/mysql.server start

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

即可成开启mysql


感谢:http://stackoverflow.com/questions/5527676/warning-the-user-local-mysql-data-directory-is-not-owned-by-the-mysql-user

### 解决 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]。 --- ###
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值