本帖最后由 李会斌 于 2023-4-5 15:17 编辑
现有需求: 迁移MySQL默认数据目录(/var/lib/mysql)的数据到新的硬盘分区(/data)目录下。 迁移过程中遇到的问题: MySQL无法启动和重启,通过查询日志发现报如下错误: MySQL安装环境说明: 数据库是mariadb,通过yum安装,默认数据目录:/var/lib/mysql]
/data为迁移后MySQL的数据目录 一、修改/etc/my.cnf配置文件
修改前,查看一下my.cnf的默认配置 停止mariadb服务 修改/etc/my.cnf的datadir和socket配置项 复制/var/lib/mysql下的所有文件到/data目录 修改/data文件夹权限拥有者为mysql:mysql 接下来启动mariadb服务,并尝试登录MySQL。 二、启动mariadb服务,登录MySQL
启动mariadb服务时,报如下错误 尝试登录MySQL,也得到一个错误 分析错误: 根据上面提供的报错信息可知:无法通过/var/lib/mysql/mysql.sock来连接MySQL服务器。可是刚才已经修改了socket配置为/data/mysql.sock,为什么还是使用了原来的呢? 虽然把/var/lib/mysql/mysql.sock文件转移到了/data/mysql.sock,在my.cnf的mysqld也指定了/data/mysql.sock,但是对于mysql还是会从默认的安装目录/var/lib/mysql/里找这个mysql.sock文件,找不着,就不知道从哪里启动了,因此,针对这个问题的解决方案是: [client]、[mysql]、[mysqld]、[mysqld_safe]统一设置socket为/data/mysql.sock 继续修改/etc/my.cnf配置文件,添加下面三个socket路径 再次尝试启动mariadb服务,能正常启动了 登录MySQL,也能正常登录了 |