mysql备份还原(视图、存储过程)_MySQL
bitsCN.com
mysql备份还原(视图、存储过程)
最近在备份还原mysql的时候发现,视图还原报错,无法创建视图,在网上查了下资料,找到以下信息:
1、如果备份的数据库含有视图,还原时需要把my.ini中的character-set改为latin1,才能够还原视图。
2、还原后,需要把latin1改为gb2312,否则存储过程不能使用.
3、存储过程不能随着数据库备份,对于存储过程的还原,还是通过手工复制SQL语句,在QUERY里执行。
感觉有点麻烦,于是又寻找其它方法,通过以下方法备份mysql数据库后,再进行还原,就没有报错,视图也还原进去了:
#windows下mysql备份还原,可不用修改my.ini来还原视图(已验证)
mysqldump -uroot -p123 --default-character-set=gbk --opt --extended-insert=false --triggers -R --hex-blob -x db_name > f:/db.sql
mysql -uroot -p123 -f db_name
linux:
SQL 来备份 MyISAM 表:
/usr/local/mysql/bin/mysqldump -uroot -p123 --default-character-set=utf8 --opt --extended-insert=false --triggers -R --hex-blob -x db_name > db_name.sql
使用以下 SQL 来备份 Innodb 表:
/usr/local/mysql/bin/mysqldump -uroot -p123 --default -character-set=utf8 --opt --extended-insert=false --triggers -R --hex-blob --single-transaction db_name > db_name.sql
参数注解:
mysqldump 是采用SQL级别的备份机制,它将数据表导成 SQL 脚本文件,在不同的MySQL 版本之间升级时相对比较合适,这也是最常用的备份方法。现在来讲一下mysqldump 的一些主要参数:
--compatible=name 它告诉 mysqldump,导出的数据将和哪种数据库或哪个旧版本的 MySQL 服务器相兼容。值可以为ansi、mysql323、mysql40、postgresql、oracle、mssql、db2、maxdb、no_key_options、no_tables_options、no_field_options 等,要使用几个值,用逗号将它们隔开。当然了,它并不保证能完全兼容,而是尽量兼容。
--complete-insert,-c 导出的数据采用包含字段名的完整 INSERT 方式,也就是把所有的值都写在一行。这么做能提高插入效率,但是可能会受到 max_allowed_packet参数的影响而导致插入失败。因此,需要谨慎使用该参数,至少我不推荐。
--default-character-set=charset 指定导出数据时采用何种字符集,如果数据表不是采用默认的 latin1 字符集的话,那么导出时必须指定该选项,否则再次导入数据后将产生乱码问题。
--disable-keys 告诉 mysqldump 在 INSERT 语句的开头和结尾增加 /*!40000 ALTER TABLE table DISABLE KEYS */; 和 /*!40000 ALTER TABLE table ENABLE KEYS */; 语句,这能大大提高插入语句的速度,因为它是在插入完所有数据后才重建索引的。该选项只适合 MyISAM 表。
--extended-insert = true|false 默认情况下,mysqldump 开启 --complete-insert 模式,因此不想用它的的话,就使用本选项,设定它的值为 false 即可。
--hex-blob 使用十六进制格式导出二进制字符串字段。如果有二进制数据就必须使用本选项。影响到的字段类型有 BINARY、VARBINARY、BLOB。
--lock-all-tables,-x 在开始导出之前,提交请求锁定所有数据库中的所有表,以保证数据的一致性。这是一个全局读锁,并且自动关闭 --single-transaction 和 --lock-tables 选项。
--lock-tables 它和 --lock-all-tables 类似,不过是锁定当前导出的数据表,而不是一下子锁定全部库下的表。本选项只适用于 MyISAM 表,如果是 Innodb 表可以用--single-transaction 选项。
--no-create-info,-t 只导出数据,而不添加 CREATE TABLE 语句。
--no-data,-d 不导出任何数据,只导出数据库表结构。
--opt 这只是一个快捷选项,等同于同时添加 --add-drop-tables --add-locking --create-option --disable-keys --extended-insert --lock-tables --quick --set-charset 选项。本选项能让 mysqldump 很快的导出数据,并且导出的数据能很快导回。该选项默认开启,但可以用 --skip-opt 禁用。注意,如果运行 mysqldump 没有指定 --quick 或 --opt 选项,则会将整个结果集放在内存中。如果导出大数据库的话可能会出现问题。
--quick,-q 该选项在导出大表时很有用,它强制 mysqldump 从服务器查询取得记录直接输出而不是取得所有记录后将它们缓存到内存中。
--routines,-R 导出存储过程以及自定义函数。
--single-transaction 该选项在导出数据之前提交一个 BEGIN SQL语句,BEGIN 不会阻塞任何应用程序且能保证导出时数据库的一致性状态。它只适用于事务表,例如InnoDB 和 BDB。本选项和 --lock-tables 选项是互斥的,因为 LOCK TABLES 会使任何挂起的事务隐含提交。要想导出大表的话,应结合使用 --quick 选项。
--triggers 同时导出触发器。该选项默认启用,用 --skip-triggers 禁用它。
bitsCN.com
Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas



Salah satu perubahan utama yang diperkenalkan dalam MySQL 8.4 (keluaran LTS terkini pada 2024) ialah pemalam "Kata Laluan Asli MySQL" tidak lagi didayakan secara lalai. Selanjutnya, MySQL 9.0 mengalih keluar pemalam ini sepenuhnya. Perubahan ini mempengaruhi PHP dan apl lain

Halaman ini kosong selepas PHP menghubungkan ke MySQL, dan sebab mengapa fungsi mati () gagal. Semasa mempelajari hubungan antara pangkalan data PHP dan MySQL, anda sering menemui beberapa perkara yang membingungkan ...

PHP ...

Ramai pemaju laman web menghadapi masalah mengintegrasikan perkhidmatan node.js atau python di bawah seni bina lampu: lampu sedia ada (Linux Apache MySQL PHP) Laman web seni bina memerlukan ...

Bagaimana cara berkongsi halaman yang sama di PC dan sisi mudah alih dan mengendalikan masalah cache? Di persekitaran PHP MySQL Nginx yang dibina menggunakan latar belakang Baota, bagaimana menjadikan sisi PC dan ...

Penjelasan terperinci mengenai masalah menolak baki dalam kombinasi dengan kunci dan urus niaga optimistik PHP dalam artikel ini akan menganalisis secara terperinci potongan baki menggunakan PHP, kunci optimis dan urus niaga pangkalan data, hanya ...

Pemantauan berkesan pangkalan data Redis adalah penting untuk mengekalkan prestasi optimum, mengenal pasti kemungkinan kesesakan, dan memastikan kebolehpercayaan sistem secara keseluruhan. Perkhidmatan Pengeksport Redis ialah utiliti teguh yang direka untuk memantau pangkalan data Redis menggunakan Prometheus. Tutorial ini akan membimbing anda melalui persediaan dan konfigurasi lengkap Perkhidmatan Pengeksport Redis, memastikan anda mewujudkan penyelesaian pemantauan dengan lancar. Dengan mengikuti tutorial ini, anda akan mencapai persediaan pemantauan yang beroperasi sepenuhnya untuk memantau metrik prestasi pangkalan data Redis anda dengan berkesan.

"Debianstrings" bukan istilah standard, dan makna khususnya masih belum jelas. Artikel ini tidak dapat mengulas secara langsung mengenai keserasian penyemak imbasnya. Walau bagaimanapun, jika "debianstrings" merujuk kepada aplikasi web yang dijalankan pada sistem Debian, keserasian penyemak imbasnya bergantung kepada seni bina teknikal aplikasi itu sendiri. Sebilangan besar aplikasi web moden komited untuk keserasian penyemak imbas. Ini bergantung kepada standard web berikut dan menggunakan teknologi front-end yang serasi (seperti HTML, CSS, JavaScript) dan teknologi back-end (seperti PHP, Python, Node.js, dll.). Untuk memastikan bahawa aplikasi itu serasi dengan pelbagai pelayar, pemaju sering perlu menjalankan ujian silang dan menggunakan responsif
