我有一个python应用程序,在其中,应用程序连接到一个远程数据库。
应用程序: flask+uwsgi+nginx .
数据库:mysql (远程)。应用程序公开从远程数据库为其提供数据的rest。
每天在数据库恢复之后,mysql服务都会在远程数据库中重新启动。我的应用程序与远程数据库之间的连接中断,并开始抛出错误消息。
MySQL server has gone away.
直到我在应用程序中手动重新启动uwsgi服务为止。
sudo service uwsgi restart
远程db中的mysql服务重新启动与我的系统中的uwsgi服务重新启动之间的持续时间是停机时。
我的应用程
我在一个远程开发服务器上工作。我有那个远程服务器的mysql主机名、数据库名、用户名和密码。我希望在本地phpmyadmin中设置/复制/映射开发服务器mysql,以便可以在本地访问远程服务器数据库(例如:- /mylocalip/ remote - server - db )。因此,我不必进行ssh连接,也不必在终端中打开mysql。我们如何在phpmyadmin/config.inc.php中做到这一点。
让我再举一个例子来解释一下。假设可以通过213.81.203.130/phpmyadmin访问远程服务器数据库。我想通过创建一个映射,即192.168.10.140/remote-db,
我有一个Rake任务来停止远程MySQL服务器,如下所示:
task :stop_mysql do
#SSH connect to the remote db server first
#how???
#then, run the following command
system 'sudo /etc/init.d/mysql stop'
end
正如您在上面看到的,现在数据库服务器是远程,我知道数据库服务器的IP地址。
如何以编程方式使ssh连接到数据库服务器,并在上面的rake任务中运行命令以停止MySQL?
P.S.
我知道这种类型的问题已经在这里得到了回答,但它们都没有讨论如何将csv文件从本地驱动器加载到运行在远程服务器上的mysql数据库。或存储在该远程服务器上的csv文件复制到该服务器上的mysql数据库。
我首先通过ssh进入服务器,然后进入在终端服务器上运行的mycli客户机。
然后,我尝试输入以下命令,将存储在远程服务器位置上的csv导入到user_db中的表data_3days中。
mysql user@11.4.135.139:user_db> LOAD DATA INFILE 'abc@11.4.135.139:/data/data_3days.csv'
INT
我通过UNIX socket在远程服务器上有一个mysql数据库,我将node.js部署在同一台服务器上的不同目录上。我试着用数据库连接node.js,但是我遇到了问题。
我的连接代码:
const database = mysql.createPool({
host: '127.0.0.1', // is host for mysql database on remote server
port: 3306,
user: 'fake_user',
password: 'fakse_pass',
datab
当我尝试使用它的远程ip地址连接到本地mysql数据库时,我得到了一个访问被拒绝的消息。当我尝试从外部机器连接到相同的数据库时,它工作正常,没有任何问题。当我使用localhost连接到本地数据库时,它也能很好地工作。例如,如果数据库服务器的ip是1.2.3.4,那么我会得到以下结果:
# From the db server
mysql -u username -h localhost -p #works perfectly
mysql -u username -h 127.0.0.1 -p #works perfectly
mysql -u username -h 1.2.3.4 -p #