将 MySQL 数据保存在单独的目录中

我叫伊藤,是一名基础设施工程师。

虽然 MySQL 数据的存储位置最好在设计阶段就确定,但
有时数据会增长,需要将其移动到不同的目录。

我想向您介绍在这种情况下您需要采取的步骤!

实际操作流程

首先,停止 MySQL 进程。

# /etc/init.d/mysql stop

接下来,设置配置文件。

  • 数据存储在哪里?
  • 套接字文件位置
  • 客户端套接字文件位置

你需要设置以下三个部分。

# vi /etc/my.cnf [mysqld] datadir=/var/lib/mysql (保存位置) socket=/var/lib/mysql/mysql.sock (套接字文件存放位置) [client] socket=/var/lib/mysql/mysql.sock

迁移原始数据。

# cp -pR /var/lib/mysql/ /path/to/datadir

现在,让我们启动 MySQL 进程并登录。

# /etc/init.d/mysql start # mysql -uroot -phogehoge 登录到 mysql 提示符 警告:在命令行界面中使用密码可能不安全。 错误 2002 (HY000): 无法通过套接字“/var/lib/mysql/mysql.sock”连接到本地 MySQL 服务器 (2) /etc/init.d/mysqld get_mysql_option mysqld datadir "/var/lib/mysql"

那可不好!!!

问题出在启动脚本中。
您需要在启动脚本中修改 MySQL 数据目录的指定方式。

# vi /etc/init.d/mysqld get_mysql_option mysqld datadir "/var/lib/mysql" ↓ get_mysql_option mysqld datadir "/path/to/datadir"

重启应用程序并确认没有问题。
最后,检查数据保存位置是否已更改。

mysql> show variables like 'datadir'; +-------------------+-------------------+ | Variable_name | Value | +-------------------+-------------------+ | datadir | /path/to/datadir/ | +-------------------+-------------------+ 1 row in set (0.01 sec)

数据保存位置似乎已成功更改!
一切顺利。

我还写过其他关于 MySQL 的文章,请也看看那些文章

在脚本中执行 MySQL 命令时,出现以下消息:“警告:在命令行界面中使用密码可能不安全”。

如果您觉得这篇文章对您有帮助,请点个“赞”!
0
加载中...
0票,平均分:0.00/10
6,617
X Facebook Hatena书签 口袋

这篇文章的作者

关于作者