ubuntu下,mysql默认数据库存放路径是 /var/lib/mysq。
一直以来都由着它默认没管,可近来发现 /var 的空间不足了,而数据库是一直增长的,只好考虑转移一下。
于是移动了数据文件,修改了权限,修改了my.cnf,然后尝试启动,却发现无法启动起来。
查看错误日志文件,发现好像是权限的问题:
[Note] Plugin 'FEDERATED' is disabled.
/usr/sbin/mysqld: Can't find file: './mysql/plugin.frm' (errno: 13)
[ERROR] Can't open the mysql.plugin table. Please run mysql_upgrade to create it.
[ERROR] /usr/sbin/mysqld: Can't create/write to file '/data/mysql/zhetenga.com.pid' (Errcode: 13)
[ERROR] Can't start server: can't create PID file: Permission denied
于是我再检查了权限,发现权限不应该有任何问题的,但仍然无法启动,好奇怪。
最后 baidu google了无数次后终于得到了答案,原来是ubuntu下的 apparmor 搞的。
最后通过以下修改终于让mysql启动成功了。
vi /etc/apparmor.d/usr.sbin.mysqld
把
/var/lib/mysql r,
/var/lib/mysql/** rwk,
中的 /var/lib/mysql 修改为新的路径。
一直以来用 centos 也出现过类似的错误,都是目录或文件的权限问题,而ubuntu除了目录和文件权限外,还有这个配置文件要改。
真折腾!
分享到:
相关推荐
修改`basedir`为MySQL安装包路径,`datadir`为MySQL数据存放目录,默认为安装包路径下的`/data`目录。 ##### 10. 复制MySQL配置文件 检查`support-files`目录下是否有`mysql-medium.cnf`文件,如果有,则复制到其他...
### Apache、php、mysql默认安装路径 #### Apache 相关路径 在 Ubuntu Server 下通过不同的方式安装 Apache 后,其默认路径有所不同。 1. **RPM 安装方式:** - 配置文件目录: `/etc/httpd` - 这个目录包含了 ...
在MySQL数据库的日常管理中,有时我们可能需要更改数据库文件的默认存储位置,这可能是出于磁盘空间管理、数据安全或备份策略的考虑。当遇到“Can't open the mysql.plugin table”这样的错误时,通常表明MySQL无法...
在Ubuntu系统中,MySQL数据库默认将数据文件存储在/var/lib/mysql目录下。然而,根据实际需求,例如在本文中提到的情况,可能需要将数据库文件移动到一个更大、更灵活的空间,比如/data。以下是一个详细步骤,指导...
在上述示例中,`datadir`设置为`/var/lib/mysql`,这意味着所有的MySQL数据文件都存储在这个路径下。而`tmpdir`默认设置为`/tmp`,这里将存放MySQL运行时产生的临时文件。 如果`df /var`命令显示`/var`分区的可用...
通常情况下,MySQL会安装在系统默认路径下,如`/usr/local/mysql`或`/var/lib/mysql`等。 2. **安装权限**:确保安装过程中使用的用户具有足够的权限来完成安装和配置任务。推荐使用root用户或具有sudo权限的用户...
- 按照向导提示设置 MySQL 的安装路径、数据存放位置等选项。 - 设置 MySQL 的服务选项,如是否开机启动、运行方式等。 ##### 3. 配置 MySQL 服务器 - 安装过程中,安装程序会引导进行 MySQL 服务器的配置: - ...
这里需要注意的是,`basedir` 参数指定了 MySQL 的安装路径,而 `datadir` 参数则指定了数据库文件的存储路径。 ##### 6. 设置 MySQL 的开机启动 为了使 MySQL 能够在系统启动时自动运行,需要将 MySQL 的服务脚本...
MySQL是世界上最受欢迎的关系型数据库管理系统之一,尤其在Linux环境下,其稳定性和性能表现优秀。本文将详细介绍如何在Linux系统上单机搭建MySQL数据库。 首先,你需要一台安装有Linux操作系统的虚拟机,例如...
在 `/opt` 目录下创建 `mysql5.5` 作为MySQL的安装目录,并创建 `data` 子目录来存储数据库文件。 4. **创建MySQL用户和用户组**: 为了安全性和权限管理,创建名为 `mysql` 的用户组和同名的非交互式用户(`-r` ...
1. 运行`cmake`命令,指定安装路径、数据目录、套接字文件位置、启用InnoDB存储引擎、允许本地导入文件、设置默认字符集和排序规则等参数。 2. 运行`make`命令编译源代码。 3. 使用`make install`将编译好的二进制...
比如,你可以在这里设置MySQL监听的IP地址(`bind-address`)、默认字符集(`character-set-server`)、最大连接数(`max_connections`)以及数据库的存放路径(`datadir`)。 2. **[client]** 部分:这部分是针对...
### Ubuntu下配置Nginx+PHP+MySQL详解 #### 知识点1:Ubuntu环境下的软件包管理 在Ubuntu系统中,软件包管理由apt-get工具负责。通过以下命令可以完成软件的更新和安装: - `sudo apt-get update`:更新本地软件...
运行MySQL的初始化脚本,创建默认的系统用户和数据库: ``` /usr/local/mysql/bin/mysqld --initialize-insecure ``` 8. **启动MySQL服务** 启动MySQL服务,确保它能正常运行: ``` /usr/local/mysql/bin/...
- 选择一个合适的目录存放MySQL,通常是在 `/usr/local/` 或者你个人的文件夹下创建一个新的目录,如 `/opt/mysql`。 3. **配置环境变量**: - 在Linux中,编辑`~/.bashrc`或`~/.bash_profile`文件,添加MySQL的...
在MySQL的管理中,有时需要更改`datadir`的路径,即数据库的数据存储位置。然而,在执行这样的操作后,MySQL服务可能无法正常启动,这通常是由多种原因引起的。在这个问题中,描述指出是由于SELinux(Security-...
- 使用非默认的目录路径存放phpMyAdmin。 - 配置防火墙规则,限制对phpMyAdmin端口的访问。 - 修改phpMyAdmin的默认登录页面,避免被扫描工具轻易发现。 - 定期更新phpMyAdmin到最新版本,以获取最新的安全补丁。 ...
接下来,选择MySQL版本(推荐5.5或5.6),并指定安装路径(默认为`/usr/local/mysql`)以及数据存放位置(默认建议的目录或自定义到其他分区以保护数据)。设置MySQL root用户的密码(默认为`root`),并决定是否...