将 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 的文章,。请也看看那些文章
如果您觉得这篇文章对您有帮助,请点个“赞”!
0
