我想将表的架构以及该表中的数据复制到实时服务器上另一个数据库中的另一个数据库表.我怎么能这样做?
我试图在我的数据库中进行几行的mysql转储.然后我可以使用转储将这几行上传到另一个数据库.我的代码正在运行,但它会转储所有内容.如何让mysqldump只转储表的某些行?
这是我的代码:
mysqldump --opt --user=username --password=password lmhprogram myResumes --where=date_pulled='2011-05-23' > test.sql
Run Code Online (Sandbox Code Playgroud) 我知道这个标题的问题之前已经得到了解答,但请继续阅读.在发布之前,我已经仔细阅读了有关此错误的所有其他问题/答案.
我收到以下查询的上述错误:
CREATE TABLE IF NOT EXISTS `pds_core_menu_items` (
`menu_id` varchar(32) NOT NULL,
`parent_menu_id` int(32) unsigned DEFAULT NULL,
`menu_name` varchar(255) DEFAULT NULL,
`menu_link` varchar(255) DEFAULT NULL,
`plugin` varchar(255) DEFAULT NULL,
`menu_type` int(1) DEFAULT NULL,
`extend` varchar(255) DEFAULT NULL,
`new_window` int(1) DEFAULT NULL,
`rank` int(100) DEFAULT NULL,
`hide` int(1) DEFAULT NULL,
`template_id` int(32) unsigned DEFAULT NULL,
`alias` varchar(255) DEFAULT NULL,
`layout` varchar(255) DEFAULT NULL,
PRIMARY KEY (`menu_id`),
KEY `index` (`parent_menu_id`,`menu_link`,`plugin`,`alias`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
Run Code Online (Sandbox Code Playgroud)
有谁知道为什么以及如何解决它?问题是 - 这个查询在我的本地计算机上完美运行,并且在我以前的主机上运行良好.Btw.it来自一个成熟的项目 - phpdevshell - 所以我猜这些家伙知道他们在做什么,虽然你从来不知道. …
我很困惑如何导入SQL转储文件.如果不首先在MySQL中创建数据库,我似乎无法导入数据库.
这是database_name尚未创建时显示的错误:
username=有权访问原始服务器上的数据库的用户的用户名.
database_name=原始服务器中的数据库名称
$ mysql -u username -p -h localhost database_name < dumpfile.sql
Enter password:
ERROR 1049 (42000): Unknown database 'database_name'
Run Code Online (Sandbox Code Playgroud)
如果我以root身份登录MySQL并创建数据库, database_name
mysql -u root
create database database_name;
create user username;# same username as the user from the database I got the dump from.
grant all privileges on database_name.* to username@"localhost" identified by 'password';
exit mysql
Run Code Online (Sandbox Code Playgroud)
然后再次尝试导入sql转储:
$ mysql -u username -p database_name < dumpfile.sql
Enter password:
ERROR 1007 (HY000) at line 21: Can't …Run Code Online (Sandbox Code Playgroud) 我有一个来自MySQL转储的.sql文件,其中包含要插入这些表中的表,定义和数据.如何将转储文件中表示的此数据库转换为MS SQL Server数据库?
我有一个MySQL数据库,我试图找到一种方法只导出其结构,没有自动增量值.mysqldump --no-data几乎可以完成这项工作,但它保留了auto_increment值.有没有办法不使用PHPMyAdmin(我知道它可以做到)?
我正在尝试创建一个简单的结构,只转储我的数据库.使用mysqldump给我一个结果,如:
/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */;
/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */;
DROP TABLE IF EXISTS `foo`;
/*!40101 SET @saved_cs_client = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
Run Code Online (Sandbox Code Playgroud)
无论我尝试什么,我似乎都无法摆脱那些评论.
我目前正在使用: mysqldump -p -d --add-drop-table --skip-tz-utc --skip-set-charset -h 127.0.0.1 -u foo bar --result-file=dumpfile.sql
编辑:但我希望保留其他评论,例如-- MySQL dump 10.13 Distrib 5.1.41, for Win32 (ia32)
我有一个名为dump的MySQL用户,其中包含以下权限:
GRANT USAGE ON *.* TO 'dump'@'%' IDENTIFIED BY ...
GRANT SELECT, LOCK TABLES ON `mysql`.* TO 'dump'@'%'
GRANT SELECT, LOCK TABLES ON `myschema`.* TO 'dump'@'%'
Run Code Online (Sandbox Code Playgroud)
我想使用dump用户转储所有数据(包含的触发器和过程).我用以下方式调用mysqldump:
mysqldump -u dump -p --routines --triggers --quote-names --opt \
--add-drop-database --databases myschema > myschema.sql
Run Code Online (Sandbox Code Playgroud)
除了触发器之外,转储文件一切正常,它们都丢失了 !!
如果我使用root MySQL用户尝试mysqldump,则会正确转储触发器:
mysqldump -u root -p --routines --triggers --quote-names --opt \
--add-drop-database --databases myschema > myschema.sql
Run Code Online (Sandbox Code Playgroud)
所以,我想这是一个perms问题... 我的转储 MySQL用户正确执行完全转储所需的额外资金是多少?
我有一个庞大,凌乱的数据库,我正在清理.它包含500多个表,这是将Magento Enterprise与Joomla合并在一个数据库中的结果.
更糟糕的是,有一组70多个Joomla表根本没有使用.这些都是前缀bak_.
只是删除这些bak_表格很容易,但我想先把它们'b''起来(看看我在那里做了什么?).在我看来,我可以想象一个这样的命令:
mysqldump -u username -p mydatabase bak_*
Run Code Online (Sandbox Code Playgroud)
但这不起作用.最好的方法是什么?谢谢!
编辑:是的,我可以明确列出要包含的70个表,或者排除〜430个表,但我正在寻找一种更好的方法来实现,如果可能的话.