两个服务器同步网站数据,两个服务器之间数据库同步 python语句
时间: 2023-10-03 17:05:32 浏览: 119
Python 可以使用 Paramiko 库实现 SSH 连接并执行命令,从而实现两个服务器之间网站数据的同步。以下是一个示例代码,假设您已经安装了 Paramiko 库:
```python
import paramiko
# 创建 SSH 客户端
ssh = paramiko.SSHClient()
# 允许连接不在本地主机公钥中的主机
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
# 连接服务器1
ssh.connect('server1_ip', username='username', password='password')
# 执行命令,将服务器1中的网站目录同步到服务器2中
command = 'rsync -avz /path/to/website/ server2_ip:/path/to/website/'
stdin, stdout, stderr = ssh.exec_command(command)
# 输出命令执行结果
print(stdout.read().decode('utf-8'))
print(stderr.read().decode('utf-8'))
# 关闭 SSH 连接
ssh.close()
```
而对于数据库的同步,您可以使用 PyMySQL 库连接数据库并执行 SQL 语句。以下是一个示例代码,假设您已经安装了 PyMySQL 库:
```python
import pymysql
# 连接服务器1的数据库
conn1 = pymysql.connect(host='server1_ip', user='username', password='password', database='database_name')
cursor1 = conn1.cursor()
# 连接服务器2的数据库
conn2 = pymysql.connect(host='server2_ip', user='username', password='password', database='database_name')
cursor2 = conn2.cursor()
# 执行查询语句
query = 'SELECT * FROM table_name'
cursor1.execute(query)
# 获取查询结果
result = cursor1.fetchall()
# 在服务器2中插入查询结果
for row in result:
insert_query = f"INSERT INTO table_name (column1, column2) VALUES ('{row[0]}', '{row[1]}')"
cursor2.execute(insert_query)
conn2.commit()
# 关闭数据库连接
cursor1.close()
conn1.close()
cursor2.close()
conn2.close()
```
需要注意的是,这只是示例代码,实际情况中您需要根据自己的需要进行适当修改。同时,为了保证数据安全,请务必在实际使用过程中谨慎处理敏感信息,例如数据库密码等。
阅读全文
相关推荐


















