نحوه راه اندازی گوشی های هوشمند و رایانه های شخصی. پرتال اطلاعاتی

ما یک Dump (پشتیبان) از پایگاه داده با استفاده از ابزار mysqldump ایجاد می کنیم. تخلیه پایگاه داده MySQL و صادرات داده ها در کنسول

اگر وب سایتی دارید که از سیستم مدیریت محتوا (جوملا، وردپرس، اپن کارت و غیره) استفاده می کند و تصمیم دارید آن را به سرور دیگری منتقل کنید، این مقاله ممکن است مفید باشد. این نه تنها به انتقال فایل های سایت، بلکه به انتقال نیز نیاز دارد. قبل از شروع انتقال یک وب سایت، باید یک وب سایت خوب را انتخاب کنید و آن را سفارش دهید تا به یک حساب میزبانی جدید دسترسی پیدا کنید. ما برای مثال، جوملا و پرستاشاپ مستقل را ارائه می دهیم. اگر می خواهید سایت خود را به نام جدیدی منتقل کنید و نیاز دارید، وقت بگذارید. طرح هاست اشتراکی S4 ما یک دامنه رایگان نیز در اختیار شما قرار می دهد. اگر سایت شما هاست مجازی کافی ندارد، همیشه می توانید VPS یا .

برای انتقال دیتابیس ابتدا باید یک Dump ایجاد کنید، یعنی محتویات را در یک فایل sql جداگانه قرار دهید. این کار در منو انجام می شود. phpMyAdminدر هاست از جایی که سایت را منتقل می کنید. به phpMyAdmin بروید، پایگاه داده ای را که می خواهید منتقل کنید در سمت چپ انتخاب کنید و روی " کلیک کنید. صادرات» در منوی بالا.

یک کادر محاوره ای باز می شود که در آن حتما نوع پایگاه داده SQL را انتخاب کرده و روی دکمه کلیک کنید خوب. منتظر بمانید تا فایل پایگاه داده در رایانه شما دانلود شود.

حال این فایل باید به درستی در هاست ما قرار گیرد. برای این کار ابتدا باید یک پایگاه داده MySQL در حساب cPanel ایجاد کنید، یک کاربر به آن اضافه کنید و به آن امتیاز بدهید. در زیر نحوه ایجاد پایگاه داده در MySQL آمده است.

به سی پنل بروید و بخش " پایگاه داده"، انتخاب کنید "".

یک پنجره جدید باز خواهد شد. در مرحله 1، نام پایگاه داده را وارد کنید. لطفاً توجه داشته باشید که نام پایگاه داده همیشه پیشوند خواهد بود، نیمه اول نام شامل نام حساب cPanel خواهد بود.

پس از وارد کردن نام، روی "کلیک کنید" گام بعدی».

در مرحله 2، باید یک کاربر MySQL برای پایگاه داده ایجاد کنید و یک رمز عبور برای آن تعیین کنید. پس از وارد کردن تمام داده ها، روی " کلیک کنید کاربر ایجاد کنید».

هنگام تنظیم امتیازات کاربر ایجاد شده، گزینه " را انتخاب کنید همه حقوق” و به مرحله بعد بروید.

اگر در مراحل قبلی همه چیز به درستی انجام شده باشد، جادوگر پایگاه داده شما را از تکمیل موفقیت آمیز ایجاد پایگاه داده در هاست مطلع می کند.

اکنون می توانید پایگاه داده ایجاد شده را در لیست پایگاه های داده MySQL موجود در منوی کنترل پنل به همین نام بیابید.

حال برای بازیابی پایگاه داده MySQL، محتویات فایل ذخیره شده از هاست قدیمی را با پسوند به پایگاه داده ایجاد شده وارد می کنیم. sql. برای انجام این کار، در صفحه اصلی cPanel، آیتم منو را انتخاب کنید. phpMyAdmin” در همان بخش ” پایگاه داده". در پنجره ای که باز می شود، در منوی سمت چپ، پایگاه داده جدید ایجاد شده را انتخاب کرده و بر روی برگه کلیک کنید. وارد كردن» در منوی بالا.

روی دکمه کلیک کنید یک فایل را انتخاب کنید"، در کادر محاوره ای، فایل sql ذخیره شده قبلی را انتخاب کرده و در هاست آپلود کنید. مطمئن شوید که نوع رمزگذاری utf-8 است. پس از کلیک بر روی OK، منتظر پیامی مبنی بر موفقیت آمیز بودن وارد کردن پایگاه داده باشید.

در این مورد، تمام مراحل لازم برای انتقال پایگاه داده به دیگری انجام می شود.

انجام dump (پشتیبان گیری) از پایگاه داده بسیار مهم است. بنابراین من با مثال هایی در مورد یک ابزار عالی مانند mysqldump نظر دادم.

mysqldump - این ابزار به شما امکان می دهد تا از محتویات یک پایگاه داده یا مجموعه ای از پایگاه های داده برای ایجاد یک نسخه پشتیبان یا انتقال داده ها به یک سرور پایگاه داده SQL دیگر (نه لزوماً یک سرور MySQL) اطلاعاتی را دریافت کنید. dump شامل مجموعه ای از دستورات SQL برای ایجاد و/یا پر کردن جداول خواهد بود.

mysqldump-u root -p -f name_database >

با این دستور یک نسخه پشتیبان از پایگاه داده تحت نام name_database برای درایو C در فایل mydb_backup_name_database.txt تهیه می کنیم.

شما نیازی به ایجاد فایل ندارید، MySQL آن را برای شما ایجاد می کند.

mysql-u root -p -f name_database< C:\mydb_backup_name_database.txt

با این دستور داده های پشتیبان را از فایل C:\mydb_backup_name_database.txt وارد می کنیم.

توجه: -f، --force گزینه ای است که به شما می گوید حتی اگر یک خطای SQL دریافت کردید، ادامه دهید. نادیده گرفتن خطاها به عنوان مثال، اگر جدول قبلاً یک ردیف یکسان در همه چیز داشته باشد.

برای اینکه رمز عبور از شما خواسته نشود، باید آن را بلافاصله بعد از -p، یعنی بدون فاصله بنویسید. اگر رمز عبور pwd، سپس مثال به صورت زیر است:

mysqldump-u ریشه -p pwd-f name_database > C:\mydb_backup_name_database.txt

اگر اغلب از این دستور استفاده می کنید، بهتر است یک کاربر جداگانه با حقوق لازم برای کاهش رمز عبور root ایجاد کنید

تنظیمات زیرکانه mysqldump را در نظر بگیرید:

-- پایگاه های دادهبه mysqldump اجازه می دهد تا CREATE DATABASE /*!33333 IF NOT EXISTS*/ DBNAME و USE DBNAME را در اسکریپت بازیابی اضافه کند. این به شما این امکان را می دهد که پایگاه داده های کاری را از ابتدا ایجاد کنید. یعنی بدون استفاده از --databases، فرض بر این است که کاربر در حال بازیابی یک پایگاه داده است و به صراحت مشخص می کند که داده هایی که قرار است بازیابی شوند در کجا قرار گیرند. اگر نسخه پشتیبان برای ایجاد یک کپی کاملاً کارآمد از داده ها، به عنوان مثال، در سرور MySQL دیگری ایجاد شده باشد، باید از این کلید استفاده شود.

--همه پایگاه های دادهبه شما این امکان را می دهد که از تمام پایگاه های داده موجود در یک سرور MySQL معین کپی کنید. اگر نیاز دارید که فقط از برخی پایگاه‌های داده کپی کنید، فقط باید هنگام فراخوانی mysqldump از خط فرمان، آنها را با یک فاصله از هم جدا کنید (به بالا مراجعه کنید).

کلید --کمک. برنامه mysqldump نسخه های زیادی دارد. با استفاده از این کلید می توانید ببینید که چه ویژگی هایی به طور خاص توسط نسخه شما پشتیبانی می شود.

--add-drop-table- کلیدی که باعث می شود mysqldump دستور drop table را قبل از ایجاد جداول به اسکریپت نهایی اضافه کند. این کار از بروز برخی خطاها در هنگام بازیابی پایگاه داده از نسخه پشتیبان جلوگیری می کند. البته، باید در نظر داشته باشید که جداول موجود در نسخه کار (اگر جداول با همین نام در نسخه پشتیبان وجود داشته باشد) از پایگاه داده اصلی حذف شده و قبل از بازیابی از پشتیبان، از نسخه پشتیبان ایجاد می شود.

--بدون اطلاعات. با استفاده از این کلید می توانید به سرعت یک کپی از ساختار جدول / پایگاه داده بدون خود داده تهیه کنید. به عنوان مثال، شما یک جدول پیچیده ایجاد کرده اید و می خواهید ساختار آن را برای آینده ذخیره کنید، اما نیازی به پشتیبان گیری از داده های این جدول ندارید.

--result-file=...- از این سوئیچ می توان برای تغییر مسیر خروجی به یک فایل استفاده کرد. می توانید از تغییر مسیر معمول یونیکس با دستور ">" استفاده کنید یا می توانید از این کلید استفاده کنید. چه کسی چه چیزی را دوست دارد؛

نکته بسیار مفید دیگری برای استفاده از mysqldump در یک محیط میزبانی. به عنوان یک قاعده، هنگام استفاده از هاست، محدودیت هایی برای کاربر اعمال می شود. به عنوان مثال، شما نمی توانید بیش از مقدار مشخصی از حافظه فیزیکی (رم، رم) استفاده کنید. mysqldump تمام داده های دریافتی از سرور MySQL را به طور پیش فرض در حافظه قرار می دهد و سپس همه را روی دیسک می نویسد. بر این اساس، اگر ارائه دهنده به شما اجازه دهد مثلاً 30 مگابایت حافظه بردارید و پایگاه داده ای که با استفاده از mysqldump از آن کپی می کنید 50 مگابایت اشغال کند، مطمئناً در اینجا خطایی رخ می دهد - mysqldump نمی تواند به درستی کار کند. و به طور غیر عادی به پایان می رسد که به شما اطلاع می دهد. برای "اجبار کردن" mysqldump به نوشتن مستقیم داده ها روی دیسک به جای ذخیره آن ها، حتی به طور موقت، در حافظه، از سوئیچ استفاده کنید. -- سریع. این مشکل را حل می کند.

در اینجا چند مثال مفید دیگر آورده شده است:

mysqldump -u root -p pwd-f --default-character-set=cp1251 dbname| gzip -c > filename.txt .gz

شما می توانید چنین بایگانی را با دستور باز کنید:

gunzip filename.txt .gz

برای اینکه بدانید در چه تاریخی بک آپ گرفته شده است، می توانید دستور زیر را بنویسید:

mysqldump -uLOGIN -PPORT -hHOST -pPASS DBNAME | gzip -c > `تاریخ "+%Y-%m-%d"`.gz

و اگر باید با رمزگذاری های مختلف تخلیه کنید، استفاده از متغیرها راحت است:

تنظیم DBCHARACTER=utf8

تنظیم dbname= نقض

mysqldump -u root -p pwd-f --default-character-set=$ DBCHARACTER $dbname| bzip2 -c > sql. $DBNAME.`date "+%Y-%m-%d"`.bz2

اگر می‌خواهید حذف بایگانی‌های قدیمی را خودکار کنید، از cron و دستور find که معمولاً در یونیکس یافت می‌شود استفاده کنید. در حال اجرا به صورت دوره ای

پیدا کردن~/archives-dir -name "*.gz" -mtime +7 -exec rm -f () \;

به این ترتیب بایگانی هایی را که "قدیمی تر" از هفت روز هستند حذف خواهید کرد.

امروز می‌خواهم در مورد داده‌های پایگاه داده صحبت کنم. این عبارت خود زمانی ترسناک بود، اگرچه به طور کلی هیچ چیز وحشتناکی در آن وجود ندارد. بنابراین سوال اول و اصلی این است: پایگاه داده dump چیست? پاسخ به آن به طور غیرمنتظره ای ساده است - یک پایگاه داده یک فایل با محتویات آن است که به شما امکان می دهد پایگاه داده را از ابتدا بازیابی کنید. آن ها این فقط یک کپی از آن است. پس چرا به پایگاه داده dump "db copy" نمی گویند؟ نکته اصلی این است که خود دامپ یک پایگاه داده نیست، فقط به شما امکان می دهد آن را دوباره ایجاد کنید. واقعیت این است که پایگاه داده بسته به نسخه subd، نوع سیستم عامل و سایر عوامل می تواند در فایل های مختلفی ذخیره شود. آن ها یافتن تمامی فایل های یک پایگاه داده در سیستم و انتقال آنها به سیستم دیگر بسیار دشوار است. برای تسهیل این کار، پایگاه داده dump به همان خوبی عمل می کند.

چرا انتقال پایگاه داده ضروری است؟

در مرحله اول، ایجاد پشتیبان، یا بازیابی نقاط قبل از ایجاد تغییرات مهم در ساختار - تا بتوانید در صورت بروز هر گونه مشکلی به عقب برگردید. به عنوان مثال، شما یک مؤلفه شخص ثالث را نصب کرده اید، و در نتیجه، سایت غیر قابل اجرا است و باید به سرعت کار آن را بازیابی کنید. اینجاست که نیاز به استفاده از پایگاه داده dump بوجود می آید.

ثانیاً، هنگام ایجاد یک سایت، معمولاً ابتدا روی یک ماشین محلی تحت یک وب سرور مجازی انجام می شود و تنها پس از آن به هاست منتقل می شود. و اگر همه چیز با انتقال فایل ها کم و بیش روشن باشد، انتقال پایگاه داده چندان واضح نیست که کار قابل حلی باشد. در اینجا نیز نمی توانید بدون تخلیه پایگاه داده انجام دهید.

بنابراین، روگرفت پایگاه داده چیست. این سوال باقی می ماند که چگونه از آن استفاده کنیم. بیایید یک کار استاندارد در برنامه نویسی وب در نظر بگیریم - انتقال سایت ایجاد شده در یک ماشین محلی به میزبان وب. من جزئیات انتقال فایل ها را شرح نمی دهم، روی پایگاه های داده تمرکز می کنم. بنابراین، ما یک پایگاه داده MySql داریم و وظیفه انتقال آن به میزبانی وب است. برای اینکه چرخ را دوباره اختراع نکنیم، از ابزار گسترده phpMyAdmin استفاده می کنیم که معمولاً همیشه توسط ارائه دهنده شما نصب می شود و همچنین در Denver موجود است. در پایان، ابزار نیز رایگان است و برای دانلود در وب سایت رسمی موجود است. این بر روی یک وب سرور کار می کند و با php نوشته شده است که به شما امکان می دهد مستقیماً از آن در مرورگر خود استفاده کنید. آن ها در اینجا نباید هیچ مشکلی وجود داشته باشد ، اگر هنوز هم ایجاد شد ، در نظرات بنویسید - ما آن را متوجه خواهیم شد.

بیایید شروع به ایجاد یک پایگاه داده dump کنیم. phpMyAdmin را باز کنید، دیتابیس مورد نیاز خود را انتخاب کنید و روی تب کلیک کنید. صادرات". در نتیجه، شما باید چیزی شبیه به این دریافت کنید:

در اینجا باید همه جداول را انتخاب کنید (خوب، یا آنهایی که می خواهید تغییرات را در آنها برگردانید) و دکمه رادیویی را روی مقدار SQL تنظیم کنید. در بخش Structure می توانید فیلد اول را علامت بزنید "Add DROP TABLE / VIEW / PROCEDURE / FUNCTION / EVENT" به منظور حذف جداول مربوطه در پایگاه داده مقصد قبل از وارد کردن dump، در صورتی که برای اولین بار منتقل می شود - شما نمی توان کادر را علامت گذاری کرد. در همان پنجره زیر، بخش "ذخیره به عنوان فایل" را مشاهده می کنیم:

در واقع "Save as file" را علامت بزنید و نام فایل مورد نظر را بنویسید. یک پایگاه داده dump را می توان بایگانی کرد، اما معمولاً آنقدر بزرگ نیست که فشرده سازی فایل را ارزشمند کند. دکمه "GO" را فشار می دهیم و پنجره استاندارد ذخیره فایل در مرورگر را دریافت می کنیم:
. فایل ذخیره شده پایگاه داده dump است. اگر آن را در همان دفترچه یادداشت باز کنید، در ابتدای خط مانند را خواهید دید

PhpMyAdmin SQL Dump
-- نسخه 3.2.3
-- http://www.phpmyadmin.net

خود فایل شامل پرس و جوهایی برای ایجاد و درج مقادیر در جدول نوشته شده در SQL است. مطلقاً هیچ شمنیسمی وجود ندارد، همه چیز بسیار واضح است. حالا کار بعدی وارد کردن دامپ است. با او نیز هیچ چیز پیچیده ای نیست. به کنترل پنل هاستینگ بروید، phpMyAdmin را در آنجا پیدا کنید، آن را اجرا کنید. ممکن است مجبور شوید یک نام کاربری / رمز عبور را مشخص کنید - بسته به تنظیمات میزبان. خوب، سپس اقدامات مشابه هستند - پایگاه داده مورد نظر را انتخاب کنید، روی تب "Import" کلیک کنید، پنجره زیر را مشاهده می کنیم:

در بخش "فایل برای وارد کردن"، با استفاده از دکمه "مرور"، فایل دامپ پایگاه داده را مشخص کنید، در زیر کدگذاری را قرار می دهیم - در جوملا به طور پیش فرض utf-8 است. در زیر بخش «واردات جزئی» و فیلد «تعداد رکوردها (پرسمان‌ها) برای رد شدن از ستاره» وجود دارد که در آن می‌توانید مقدار عددی را وارد کنید - تعداد ردیف‌هایی که در یک پاس پردازش شده‌اند، در صورتی که کل پایگاه داده زمان نداشته باشد. در طول عمر اسکریپت وارد شود. مقدار پیش‌فرض "0" مربوط به وارد کردن کل پایگاه داده در یک اجرای اسکریپت است. در تمرین من مجبور نبودم با این واقعیت کنار بیایم که پایگاه زمانی برای پر کردن در یک پاس ندارد، اگرچه این بدان معنا نیست که چنین مواردی اتفاق نمی افتد. مقادیر فیلدهای باقیمانده نیازی به تغییر ندارند، فقط دکمه "GO" را فشار دهید. این همه، دامپ پایگاه داده وارد شده است.

و در آخر چند توضیح.

1) چرا روش وارد کردن / صادرات همه جداول و نه کل پایگاه داده را توضیح دادم؟ واقعیت این است که اغلب هنگام انتقال داده ها از یک وب سرور به یک ماشین محلی و بالعکس، باید با روش واردات / صادرات مقابله کنید. اما اغلب در ماشین محلی، دسترسی توسط حساب "root" بدون رمز عبور استفاده می شود. ما نمی توانیم با میزبانی این هزینه را بپردازیم. و پایگاه داده فقط شامل داده ها نیست، بلکه "امتیازات" را نیز در بر می گیرد - حقوق دسترسی کاربران خاص به آن. برای اینکه مجبور نباشیم هر بار کاربران را ایجاد / حذف کنیم و حقوق دسترسی به آنها اختصاص دهیم، از رویکردی استفاده می شود که فقط ساختار جداول و داده های موجود در آن در تخلیه پایگاه داده نوشته می شود. اگر فقط یک نسخه پشتیبان برای همان سرور ایجاد شود، امکان تخلیه کل پایگاه داده وجود دارد.

2) چرا phpMyAdmin؟ نکته در اینجا به هیچ وجه این نیست که هیچ جایگزینی برای آن وجود ندارد - فقط تعداد زیادی از آنها وجود دارد، چیزهای کاربردی تر و ساده تر وجود دارد. فقط این است که phpMyAdmin در مجموعه استاندارد اکثر میزبانی های مجازی گنجانده شده است. برای نصب آن لازم نیست کاری انجام دهید. آن ها ما فقط آن را باز می کنیم و پایگاه داده را تخلیه می کنیم. و البته، استفاده از phpMyAdmin می تواند برای بسیاری از وظایف مفید باشد - همان تست پرس و جو، مشاهده ساختار جداول، داده های موجود در آنها.

خوب، این در واقع تمام چیزی است که می خواستم در این مقاله بگویم. نظرات مثل همیشه خوش آمدید.

این ابزار به شما این امکان را می دهد که از محتویات یک پایگاه داده یا مجموعه ای از پایگاه های داده یک Dump (``snapshot") برای ایجاد یک نسخه پشتیبان یا انتقال داده ها به سرور پایگاه داده SQL دیگر (نه لزوماً یک سرور MySQL) دریافت کنید. dump شامل مجموعه ای از دستورات SQL برای ایجاد و/یا پر کردن جداول خواهد بود.

اگر نسخه پشتیبان روی سرور ایجاد شده است، به جای ابزار توصیف شده، باید از mysqlhotcopy استفاده کنید. بخش را ببینید 4.8.6 mysqlhotcopy، کپی کردن پایگاه داده ها و جداول MySQL.

Shell> پایگاه داده mysqldump یا mysqldump --databases DB1 یا mysqldump --all-databases

اگر نام جداول را مشخص نکنید یا از گزینه های --databases یا --all-databases استفاده نکنید، در این صورت یک تخلیه از پایگاه داده به عنوان یک کل (به ترتیب، همه پایگاه های داده) به دست می آید.

با اجرای دستور mysqldump --help می توان لیستی از گزینه های پشتیبانی شده توسط نسخه خاص برنامه mysqldump را بدست آورد.

توجه داشته باشید که ابزار mysqldump، که بدون گزینه های --quick یا --opt استفاده می شود، قبل از تخلیه نتیجه واکشی اطلاعات، کل نتیجه را در حافظه بارگذاری می کند. این می تواند هنگام تخلیه یک پایگاه داده بزرگ مشکلاتی ایجاد کند.

توجه داشته باشید که اگر می‌خواهید از یک کپی جدید از mysqldump برای دریافت dump استفاده کنید و سپس آن را روی یک سرور MySQL بسیار قدیمی پخش کنید، نباید از گزینه‌های --opt یا -e استفاده کنید.

ابزار mysqldump از گزینه های زیر پشتیبانی می کند:

افزودن قفل ها قبل از اجرا، LOCK TABLE را اضافه کنید و بعد از هر بار ریختن جدول، UNLOCK TABLE (برای سرعت بخشیدن به دسترسی به MySQL). --add-drop-table قبل از هر دستور CREATE TABLE یک دستور DROP TABLE اضافه کنید. -A، --all-databases همه پایگاه های داده را تخلیه کنید. مشابه گزینه --databases که تمام پایگاه های داده را مشخص می کند. -a، --all همه گزینه های ایجاد شیء خاص MySQL را فعال کنید. --allow-keywords ایجاد نام ستون هایی که با کلمات کلیدی مطابقت دارند مجاز است. عدم وجود تضاد با افزودن نام جدول به عنوان پیشوند به نام هر ستون تضمین می شود. -c، --complete-insert از دستورات کامل INSERT (با نام ستون) استفاده کنید. -C، --compress اگر هر دو از فشرده سازی پشتیبانی می کنند، تمام اطلاعات بین مشتری و سرور را فشرده کنید. -B، --databaseها پایگاه داده های متعدد را تخلیه کنید. به تفاوت استفاده توجه کنید: در این مورد هیچ جدولی مشخص نشده است. همه نام های آرگومان به عنوان نام پایگاه داده در نظر گرفته می شوند. از بیانیه db_name استفاده کنید. قبل از هر پایگاه داده جدید در خروجی گنجانده شده است. --delayed هنگام درج سطرها از دستور INSERT DELAYED استفاده کنید. -e، --extended-insert از دستور INSERT با نحو جدید چند خطی استفاده کنید (فشرده و عملکرد عبارات ورودی را بهبود می بخشد). -#، --debug[=option_string] پیگیری پیشرفت برنامه (برای اشکال زدایی). --help نمایش اطلاعات راهنما و خروج از برنامه. --fields-terminated-by=... --fields-enclosed-by=... --fields-optionally-enclosed-by=... --fields-escaped-by=... --lines- terminated-by=... این گزینه ها همراه با گزینه -T استفاده می شوند و همان معنای عبارات مربوط به LOAD DATA INFILE را دارند. بخش را ببینید 6.4.9 نحو بیانیه LOAD DATA INFILE . -F, --flush-logs داده های گزارش سیستم را از بافر سرور MySQL به دیسک قبل از شروع تخلیه شستشو دهید. -f، --force، حتی اگر در حین ریختن جدول با خطای SQL مواجه شدید، ادامه دهید. -h، --host=.. داده های سرور MySQL را روی هاست مشخص شده تخلیه کنید. مقدار میزبان پیش فرض localhost است. -l، --قفل-جدول. قبل از شروع تخلیه، همه جداول را قفل کنید. جداول با عبارت READ LOCAL قفل می شوند تا امکان نوشتن موازی برای جداول MyISAM فراهم شود. توجه داشته باشید که هنگام تخلیه مجموعه ای از پایگاه های داده، گزینه --lock-tables جداول هر پایگاه داده را به صورت جداگانه قفل می کند. بنابراین، استفاده از این گزینه تضمین نمی‌کند که جداول از نظر منطقی در این پایگاه‌داده‌ها همخوانی داشته باشند. در پایگاه داده های مختلف، زمانی که یک Dump انجام می شود، جداول می توانند در حالت های کاملا متفاوت باشند. -K، --disable-keys عبارت /* را اضافه کنید!40000 ALTER TABLE tb_name DISABLE KEYS */; و /*!40000 ALTER TABLE tb_name کلیدهای فعال */; در خروجی نتیجه این امر بارگذاری داده ها را در سرور MySQL 4.0 سرعت می بخشد، زیرا ایندکس ها پس از وارد کردن همه داده ها ایجاد می شوند. -n، --no-create-db ایجاد پایگاه داده /*!32312 اگر وجود ندارد*/ db_name; مفقود خواهد شد. این خط در هر صورت هنگام استفاده از گزینه های --databases یا --all-databases اضافه می شود. -t، --no-create-info اطلاعات ایجاد جدول را ضبط نکنید (دستور CREATE TABLE). -d، --no-data اطلاعات را از ردیف های جدول ننویسید. این برای ریختن ساختار یک میز بسیار مفید است! --انتخاب کنید همان --quick --add-drop-table --add-locks --extended-insert --lock-tables . باید سریعترین رونوشت خواندن را در سرور MySQL ارائه دهد. -pyour_pass، --password[=your_pass] رمز عبوری که هنگام اتصال به سرور استفاده می شود. اگر آرگومان =your_pass ارائه نشده باشد، mysqldump از شما یک رمز عبور می خواهد. -P port_num، --port=port_num شماره پورت TCP/IP که برای اتصال به هاست استفاده می شود (در هنگام اتصال به هاست هایی غیر از localhost استفاده می شود که از سوکت های یونیکس استفاده می کند). -q، --quick مستقیماً به stdout بدون بافر کردن درخواست تخلیه شود. تابع mysql_use_result() برای این مورد استفاده می شود. -Q, --quote-names جدول نقل قول و نام ستون ها بدون کاراکترهای ``. -r, --result-file=... فایل مشخص شده را مستقیماً خروجی بگیرید. این گزینه باید در MS DOS استفاده شود زیرا از تبدیل آن جلوگیری می کند. کاراکتر خط جدید "\n" به دنباله "\n\r" (خط جدید + بازگشت کالسکه). --single-transaction این گزینه یک فرمان BEGIN SQL را قبل از تخلیه داده ها از سرور صادر می کند. معمولاً با جداول InnoDB و سطح جداسازی تراکنش READ_COMMITTED استفاده می شود، زیرا در این حالت است که می توانید پس از اجرای دستور BEGIN بدون مسدود کردن هیچ برنامه ای، یک Dump با وضعیت پایگاه داده ثابت دریافت کنید. هنگام استفاده از این گزینه، توجه داشته باشید که فقط جداول تراکنشی در هنگام دامپینگ در حالت یکنواخت خواهند بود. برخی از جداول MyISAM - یا HEAP - ممکن است همچنان هنگام استفاده از این گزینه حالت خود را تغییر دهند. گزینه --single-transaction در نسخه 4.0.2 اضافه شد. با گزینه --lock-tables متقابل است زیرا دستور LOCK TABLES تراکنش قبلی را لغو می کند. -S /path/to/socket، --socket=/path/to/socket فایل سوکت برای اتصال به لوکال هاست (میزبان پیش فرض). --tables گزینه --databases (-B) را لغو می کند. -T, --tab=path-to-some-directory برای هر جدول داده شده، یک فایل "table_name.sql" حاوی دستورات SQL CREATE برای ایجاد جدول و یک فایل "table_name.txt" با داده های جدول ایجاد می کند. . فایل «.txt» بر اساس گزینه های --fields-xxx و --lines--xxx فرمت شده است. توجه داشته باشید: این گزینه فقط در صورتی کار می کند که ابزار mysqldump بر روی همان ماشینی که شبح mysqld اجرا می شود و کاربر/گروهی که این رشته mysqld را راه اندازی کرده است (معمولاً کاربر mysql و گروه mysql) باید مجوزهای ایجاد/نوشتن فایل را در آدرس مشخص شده داشته باشد. -u user_name، --user=user_name نام کاربری سرور MySQL که هنگام اتصال به سرور استفاده می شود. مقدار پیش فرض نام کاربری یونیکس است. -O var=option، --set-variable var=option مقادیر متغیر را تنظیم کنید. متغیرهای موجود برای استفاده در زیر فهرست شده اند. -v، ---verbose حالت خروجی گسترده. نمایش اطلاعات دقیق تر در مورد برنامه -V, --version اطلاعات نسخه را نمایش داده و از برنامه خارج شوید. -w، --where="where-condition" فقط رکوردهای انتخاب شده را تخلیه کنید. توجه داشته باشید که نقل قول الزامی است. "--where=user="jimf"" "-wuserid>1" "-wuserid -X, --xml پایگاه داده را به صورت XML تخلیه کنید. -x, --first-slave همه جداول را در همه پایگاه های داده قفل کنید. -O net_buffer_length =#، که در آن # رایج ترین استفاده از ابزار mysqldump تهیه نسخه پشتیبان از تمام پایگاه های داده است. 4.4.1 پشتیبان گیری از پایگاه داده. mysqldump --opt database > backup-file.sql

پایگاه داده mysql

پایگاه داده Mysql -e "source /patch-to-backup/backup-file.sql"

این ابزار اغلب برای انتقال اطلاعات از پایگاه داده به سرور MySQL دیگر استفاده می شود:

پایگاه داده mysqldump --opt | پایگاه داده mysql --host= remote-host -C

حذف چندین پایگاه داده با یک دستور کاملاً امکان پذیر است:

mysqldump --databases database1 > my_databases.sql

اگر شما نیاز به یک dump از تمام پایگاه های داده دارید، می توانید از موارد زیر استفاده کنید:

mysqldump --all-databases > all_databases.sql

برترین مقالات مرتبط