我正在寻找像PostgreSQL中的createdb或任何其他允许我借助shell命令创建数据库的解决方案.任何提示?
我想编写一个脚本,将我当前的数据库复制sitedb1到sitedb2同一个mysql数据库实例上.我知道我可以将sitedb1转储到sql脚本:
mysqldump -u root -p sitedb1 >~/db_name.sql
Run Code Online (Sandbox Code Playgroud)
然后将其导入sitedb2.有没有更简单的方法,而不将第一个数据库转储到sql文件?
在MySQL中我想克隆某些数据库.有没有这样的事情
CREATE DATABASE LIKE <template database here>
Run Code Online (Sandbox Code Playgroud)
命令?
我知道,有
CREATE TABLE LIKE
Run Code Online (Sandbox Code Playgroud) 有没有办法让两个数据库保持同步?我有一个用MySQL运行WordPress的客户端.有没有办法将数据库的副本作为当前状态,并将其用于开发服务器,然后在开发更改完成后将其推回到实时站点?
客户端可能会更改现场网站,同时我将处理开发版本,并想知道是否会出现合并冲突.
如果我通过phpmyadmin导入更新的数据库,它只会更新只有最新的更改或覆盖一切吗?
我知道如何克隆表格,例如:
CREATE TABLE recipes_new LIKE production.recipes;
INSERT recipes_new
SELECT * FROM production.recipes;
Run Code Online (Sandbox Code Playgroud)
但我不知道如何使用database_old中的所有表和行来克隆例如database_old到database_new数据库.
因此,只会更改数据库的名称.其他一切都保持不变.
现在我通过在phpmyadmin ad中导出数据库然后创建一个新数据库并将其导入新数据库来克隆它.
但我想必须有一种更有效的方法来通过SQL查询执行此任务,就像克隆表一样.
重要!它需要从phpmyadmin中的SQL查询窗口完成,而不是从shell命令行完成.
在此先感谢您的建议如何做到这一点.
我正在编写一个简单的Python脚本来复制MySQL数据库.我试图根据以下SO问题及其答案复制数据库:" 不使用mysqldump复制/复制数据库 "," python subprocess和mysqldump "和" Python子进程,mysqldump和管道 ".但是,由于某些原因我的脚本无法正常工作,因为表格和数据没有出现在我的新数据库中.
我可以从我的输出中看到mysqldump正常工作(我在输出中看到"转储完成..."),所以我认为我的管道出了问题.
这是我的脚本:
#!/usr/bin/env python
import pymysql
from subprocess import Popen, PIPE, STDOUT
conn = pymysql.connect(host='127.0.0.1', port=3306, user='root', passwd='', db='mydb')
cur = conn.cursor()
print("Attempting to create new database...")
try:
cur.execute("CREATE DATABASE mydb2")
print("Creating new database")
except Exception:
print("Database already exists")
print()
# close connection just to be sure
cur.close()
conn.close()
print("Trying to copy old database to new database...")
args1 = ["mysqldump", "-h", "localhost", "-P", "3306", "-u", "root", "-p", "mydb"] …Run Code Online (Sandbox Code Playgroud) mysql ×6
mysqldump ×2
clone ×1
command-line ×1
copy ×1
database ×1
php ×1
phpmyadmin ×1
pymysql ×1
python ×1
shell ×1
sql ×1
subprocess ×1
wordpress ×1