আমি কীভাবে কোনও মাইএসকিউএল ডাটাবেসকে অন্য ড্রাইভে স্থানান্তর করতে পারি?


34

আমি প্রচুর পরিমাণে সরকারী ডেটা বিশ্লেষণ করতে স্থানীয় মেশিনে মাইএসকিউএল 5.5 ব্যবহার করছি। আমি একটি স্থানীয় ডাটাবেস তৈরি করেছি যা আমার ডিফল্ট ড্রাইভে (উইন 7 সি: ড্রাইভ) থাকে। আমি আমার E: ড্রাইভে ডেটা সঞ্চয় করতে চাই, একটি বড় eSATA বহিরাগত ড্রাইভ।

আমার কী পদক্ষেপ নেওয়া উচিত?

mysql 

আপনি স্কিল ফাইল হিসাবে ডিবি রফতানি করতে পারবেন না, তবে ফাইলটি ই সংরক্ষণ করুন: ভবিষ্যতে আপনি

@tq - এটি কাজ করবে না। তিনি মাইএসকিউএল সার্ভার ডেটা ডিরেক্টরি পরিবর্তন করতে চান। যদি সে এটি রফতানি করে এবং আমদানি করে, এটি এখনও একই ড্রাইভে থাকবে!

সাবধানতার একটি শব্দ আপনি যখন ডাটাবেস ফাইলগুলি বহিরাগত ড্রাইভে নিয়ে যান, আপনাকে এটি আপনার কম্পিউটারে প্লাগ
লাগিয়ে

উত্তর:


35
  1. শাটডাউন মাইএসকিএল।
  2. আপনার বর্তমান তথ্য ডিরেক্টরিতে থাকা সমস্ত ফাইলকে নতুন অবস্থানে নিয়ে যান (পদক্ষেপ 3 - datadirপ্যারামিটারে অবস্থানটি দেখুন )।
  3. নির্ণয় করুন my.iniফাইল (এটা MySQL ইনস্টলেশন ডিরেক্টরি হয়)। datadirনতুন অবস্থানের দিকে নির্দেশ করতে প্যারামিটার মান পরিবর্তন করুন ।
  4. মাইএসকিএল শুরু করুন।

মাইএসকিএল (অনুমতি সংক্রান্ত সমস্যাগুলি) শুরু করার চেষ্টা করার সময় এটি আমাকে ত্রুটি দিয়েছে। আমি এখানে পোস্ট করা সমাধানটি স্থির করেছি , যা আমি আশা করি যে কাউকে কিছুটা সময় সাশ্রয় করতে সহায়তা করবে।
স্ন্যাপফ্র্যাক্টলপপ

1
@ স্নাপফ্র্যাক্টলপ প্রশ্ন উইন্ডোজের জন্য
অ্যাডাম

@ অ্যাডাম উইন্ডোজ প্রশ্নের মূল অংশে উল্লেখ করা হয়েছে, তবে এটি কেবল উইন্ডোজ প্রশ্ন হিসাবে ট্যাগ করা হয় না, বা উইন্ডোজের শিরোনামে উল্লেখ করা হয় না। আমি মন্তব্যগুলিতে লিঙ্কটি পোস্ট করেছি কারণ এটি সম্ভব যে অন্যান্য নন-উইন্ডোজ ব্যবহারকারীরাও এই প্রশ্নটিতে হোঁচট খেতে পারে।
স্ন্যাপফ্র্যাক্টলপপ

আমি দেখেছি আমি ব্যবহার করতে হয়েছে /জন্য ডিরেক্টরি পাথ ডিরেক্টরি বিভাজক হিসাবে \ এবং datadir। আমি উইন্ডোজ 10-এ WAMPserver ব্যবহার করছি
স্টিভ

প্রোগ্রামডেটা ডিরেক্টরিটি আপনার ফাইল এক্সপ্লোরারে লুকিয়ে থাকতে পারে। আমি ভেবেছিলাম যে লুকানো ফাইলগুলি দেখানোর জন্য সেটিংটি পরিবর্তন না করা পর্যন্ত এটি বিদ্যমান নেই।
ওয়েস্টএস

6

যদিও আপনি উইন্ডোগুলির জন্য জিজ্ঞাসা করছেন, লিনাক্স / উবুন্টু দিকনির্দেশগুলি খুঁজছেন তাদের এখানে কিছু ভাল দিকনির্দেশ রয়েছে:

অনুমিতি:

  • আপনার একটি বাহ্যিক / ইউএসবি / বিকল্প ড্রাইভে মাইএসকিএল ডেটা রয়েছে /mountpoint/var/lib/mysql , সম্ভবত কম্পিউটারটি মারা গেছে বা পুরানো ইনস্টলেশন হতে পারে
  • আপনি স্থানীয়ভাবে এটি আপনার নতুন উবুন্টু ইনস্টলেশনতে স্থানান্তরিত করতে চান /var/lib/mysql
  • এর সাথে মাইএসকিউএল বন্ধ করুন:
    sudo /etc/init.d/mysql stop
  • এটির সাথে বর্তমান (পরিষ্কার) মাইএসকিউএল ডেটা ডিরেক্টরিটি একটি ব্যাকআপ করুন:
    sudo cp -Rp /var/lib/mysql /var/lib/mysql.backup
  • তারপরে পুরানো ড্রাইভ থেকে পুরানো ডেটা ডিরেক্টরিটি কপি করুন:
    sudo cp -Rp /mountpoint/var/lib/mysql /var/lib/mysql
    mountpoint মাউন্টটির পথটি কোথায় ।
  • এখন এর সাথে মাইএসকিউএল পুনরায় চালু করুন:
    sudo /etc/init.d/mysql start

কোনও ভাগ্য সহ, মাইএসকিউএল পুনরায় চালু করা উচিত এবং আপনার পুরানো ডাটাবেসগুলি ফিরে পাওয়া উচিত have

সূত্র mb_webguy@ubuntuforums.org


3
(!) এটি কাজ করবে না কারণ কনফিগারেশন এখনও পুরানো অবস্থানের দিকে নির্দেশ করছে
এডোকনেকশন

4

সমাধান 1:

  1. প্রথমত, data mysqldump ব্যবহার করে আপনার ডেটা ব্যাকআপ করুন।
  2. আপনি যদি অফিশিয়াল প্যাকেজ থেকে মাইএসকিএল সার্ভার ইনস্টল করেন তবে আপনি এটি আপনার সার্ভারের বিন ডিরেক্টরি থেকে মাইএসকিউলিনট্যান্স কনফিগ.এক্সই প্রোগ্রাম চালিয়ে করতে পারেন।
  3. তথ্য আমদানি

MySQLINstanceConfig.exe

দ্বিতীয় সমাধান (প্রস্তাবিত নয়, তবে একই মেশিনে কাজ করে)

  1. MySQL সার্ভারটি বন্ধ করুন।
  2. আপনার ডেটা ডিরেক্টরি থেকে আপনার নতুন ডিরেক্টরিতে ডেটা অনুলিপি করুন
  3. My.cnf ফাইলটি খুলুন (আমার ক্ষেত্রে "সি: \ প্রোগ্রামডাটা \ মাইএসকিউএল \ মাইএসকিউএল সার্ভার 5.5 \ my.ini")
  4. ডেটাডির = "সি: \ প্রোগ্রামডাটা \ মাইএসকিউএল \ মাইএসকিউএল সার্ভার 5.5 \ ডেটা \" এর মতো সারিটি সন্ধান করুন এবং আপনার নতুন অবস্থানে পাথ পরিবর্তন করুন
  5. আপনার সার্ভার শুরু করুন

সংস্করণ 5.6 হিসাবে MySQLInstanceConfig.exe আর বিতরণ করা হয় না। এই কার্যকারিতাটি ইনস্টলার দ্বারা প্রতিস্থাপন করা হচ্ছে। http://bugs.mysql.com/bug.php?id=66306


ডেটা সরানোর জন্য কি সমমানের লিনাক্স প্রোগ্রাম রয়েছে
রন পিগগট

দ্বিতীয় পদ্ধতির সাথে ডেটা সরানোর পরে আমি মারিয়াডিবি (সংস্করণ 5.5) শুরু করতে সক্ষম হইনি। নতুন দাতাদিরের মাধ্যমে পরিষেবা ব্যবহারকারীকে অ্যাক্সেস দেওয়ার পরে পরিষেবাটি শুরু হয় এবং আমি ডিবিতে সংযোগ স্থাপন করতে উদ্বিগ্ন। তবে কোনো টেবিল এখনও অ্যাক্সেস ব্যর্থ হলে: [ERROR] Cannot find or open table <db>/<table> from the internal data dictionary of InnoDB though the .frm file for the table exists.। অনুমতিগুলি সঠিকভাবে সেট করা আছে তা আমি কীভাবে নিশ্চিত করতে পারি?
ব্রাম

2

উইন্ডোজের জন্য, মাইএসকিউএল ইনস্টলার 1.4.6 (2015-04-07) হিসাবে , তথ্য অবস্থানটি একটি রেজিস্ট্রি কীতে নির্দিষ্ট করা যেতে পারে যা my.iniফাইলের অবস্থান নির্দিষ্ট করে , তাই যদি প্রাথমিকভাবে কোনও অ-ডিফল্ট স্থানে ডেটা ইনস্টল করা হত my.iniফাইলে হবে নাC:\ProgramData\MySQL\MySQL Server x.x\

রেজিস্ট্রি মানগুলির অবস্থান (অন্তত মাইএসকিউএল 5.6 হিসাবে):

HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\MySQL AB\MySQL Server x.x\

Locationএকটি REG_SZযে ফোল্ডারে মাইএসকিউএল আবেদন ফাইল অবস্থিত হয় পয়েন্ট; গতানুগতিক:C:\Program Files\MySQL\MySQL Server x.x\

DataLocationএকটি হল REG_SZফোল্ডারে যে পয়েন্টmy.ini অবস্থিত; ডিফল্টরূপে:C:\Program Files\MySQL\MySQL Server x.x\

এছাড়াও, my.iniফাইল পাথ এই রেজিস্ট্রি কী অধীনে পরিষেবা কমান্ড মধ্যে অন্তর্ভুক্ত করা হয়: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\MySQLXXমধ্যেImagePath REG_EXPAND_SZ মান।

এই স্ট্রিংয়ের ডিফল্ট মান হ'ল: "C:/Program Files/MySQL/MySQL Server 5.6/bin\mysqld" --defaults-file="C:\Program Files\MySQL\MySQL Server x.x\my.ini" MySQLXX

সুতরাং নীচের লাইনটি এই দৃশ্যে ডেটা ফাইলগুলি সরাতে আপনাকে কিছু সংযোজন সহ @ আইটিসিটি দ্বারা পোস্ট করা পদক্ষেপগুলি অনুসরণ করতে হবে।

এখানে পূর্ণ পদক্ষেপগুলি রয়েছে:

  1. শাটডাউন মাইএসকিএল।
  2. DataLocationবর্তমান my.iniফাইলের অবস্থানটি সন্ধান করতে উপরের রেজিস্ট্রি মানটি সন্ধান করুন এবং আপনি যদি my.iniফাইলটি আপডেটের DataLocationপথটিও সরিয়ে নিতে চান এবং my.iniফাইলটিকে এই নতুন পথে সরিয়ে নিতে চান।
  3. আপনি যদি my.iniফাইলটির অবস্থান পরিবর্তন করে থাকেন তবে আপনাকে উপরে তালিকাভুক্ত সার্ভিস কমান্ড রেজিস্ট্রি কীতে পাথ আপডেট করতে হবে।
  4. my.iniফাইলটি খুলুন , datadirপ্যারামিটারটি সনাক্ত করুন । এই datadirপথ থেকে ফাইলগুলিকে সেই পথে সরিয়ে নিন যেখানে আপনি ডেটা থাকতে চান এবং তারপরে আপডেটও করুনdatadir এই নতুন পাথের সাথে প্যারামিটারটি ।
  5. মাইএসকিএল শুরু করুন।
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.