【发布时间】:2025-12-13 09:45:01
【问题描述】:
工作:我可以本地访问的唯一方法是在 DATABASE_PORT 中指定数据库的位置目录,例如:
$database_type = 'mysql';
$database_default = 'database';
$database_hostname = 'localhost';
$database_username = 'cacti';
$database_password = 'password';
$database_port = 'common/mysql/mysql.socket';
$database_retries = 5;
$database_ssl = false;
$database_ssl_key = '';
$database_ssl_cert = '';
$database_ssl_ca = '';
不起作用:Cacti 正在尝试连接数据库,但无法像这样访问:
$database_type = 'mysql';
$database_default = 'database';
$database_hostname = 'localhost';
$database_username = 'cacti';
$database_password = 'password';
**$database_port = '3306';**
$database_retries = 5;
$database_ssl = false;
$database_ssl_key = '';
$database_ssl_cert = '';
$database_ssl_ca = '';
不工作:远程轮询器
$rdatabase_type = 'mysql';
$rdatabase_default = 'database_main';
$rdatabase_hostname = 'remote_host';
$rdatabase_username = 'cacti';
$rdatabase_password = 'password';
$rdatabase_port = '3306'
$rdatabase_retries = 5;
$rdatabase_ssl = false;
我是如何移动数据库的:
首先检查默认目录:
MariaDB [(none)]> select @@datadir;
Output
+-----------------+
| @@datadir |
+-----------------+
| /var/lib/mysql/ |
+-----------------+
1 row in set (0.00 sec
停止进程:
sudo systemctl stop mysqld
将默认数据库目录重新同步到新位置
sudo rsync -av /var/lib/mysql /common/
重命名旧的mysql
sudo mv /var/lib/mysql /var/lib/mysql.bak
编辑 my.conf 文件:
sudo vi /etc/my.cnf
[mysqld]
. . .
datadir=/common/mysql
socket=/common/mysql/mysql.sock
. . .
启动mysql:
sudo systemctl start mysqld
新的位置数据目录;
MariaDB [(none)]> select @@datadir;
+----------------+
| @@datadir |
+----------------+
| /common/mysql/ |
+----------------+
1 row in set (0.000 sec
MariaDB [(none)]> SHOW VARIABLES WHERE Variable_name = 'port'
-> ;
+---------------+-------+
| Variable_name | Value |
+---------------+-------+
| port | 3306 |
+---------------+-------+
1 row in set (0.001 sec)
【问题讨论】: