আমি কি দ্বৈত বুটে উইন্ডোজটির সাথে মাইএসকিএল ডাটাবেস ফাইলগুলি ভাগ করতে পারি?


12

আমি এনটিএফএস বিভাজনে থাকা আমার মাইএসকিএল ডাটাবেস ফাইলগুলিতে উবুন্টু এবং উইন্ডোজ (ডুয়াল বুট) উভয়ই ব্যবহার করতে চাই। এটা কি কাজ করবে? কোন গোছাছ?


4
সম্প্রদায়ের রেকর্ডের জন্য: ব্যবহারকারী উবুন্টু লিনাক্স এবং মাইক্রোসফ্ট উইন্ডোজের মধ্যে মাইএসকিউএল ডেটা ফর্ম্যাটগুলির সামঞ্জস্যতা সম্পর্কে জিজ্ঞাসা করছেন। মাইএসকিউএলের জন্য উবুন্টু লিনাক্স ফর্ম্যাটে সঞ্চিত ডেটা যেভাবে মাইএসকিউএল এর উইন্ডোজ সংস্করণে ডেটা সঞ্চয় করে তাতে ডাটাবেস তথ্যটি সম্পাদনা করে উইন্ডোজ এবং মাইএসকিউএল উভয় জুড়ে পুনরুদ্ধার করা যায় কি না সে সম্পর্কে ব্যবহারকারী ভাবছেন।
টমাস ওয়ার্ড

উত্তর: আমি ইউনিক্স এবং লিনাক্স স্ট্যাকএক্সচেঞ্জএখানে এই প্রশ্নের একটি বিস্তৃত উত্তর দিয়েছি
উপবৃত্তাকার দর্শন

উত্তর:


9

হ্যাঁ, এটি কাজ করে তবে কিছু তর্ক দিয়ে। মাইএসকিউএল একই প্ল্যাটফর্মগুলি প্ল্যাটফর্মগুলিতে ব্যবহার করে তাই আপনার যা প্রয়োজন তা ডেটা ডিরেক্টরি ভাগ করে নেওয়া। একটি সমস্যা হ'ল ডেটা ডিরেক্টরিতে উবুন্টুতে মালিক এবং গ্রুপ হিসাবে মাইএসকিএল থাকা দরকার। এবং উইন্ডোজ কেস-সংবেদনশীল এবং লিনাক্স কেস-সংবেদনশীল তাই সমস্ত নাম অভিন্ন রাখুন: হয় পুরো নাম ছোট হাতের অক্ষর বা বড় হাতের অক্ষর রাখুন তবে সেগুলি মেশান না।

শুরু থেকে শেষ পর্যন্ত; যদি আপনার কাছে ইতিমধ্যে জিনিসগুলি সেট আপ করা থাকে তবে আপনার সেটআপটি ফিট করার জন্য এটি কিছু টুইট করার প্রয়োজন হতে পারে:

  • উভয় সিস্টেমে মাইএসকিউএল ইনস্টল এবং সেটআপ করুন।
  • মাইএসকিএল সার্ভার চালু থাকলে বন্ধ করুন।
  • একটি নতুন এনটিএফএস পার্টিশন তৈরি করুন। ডিভাইসের নাম চিহ্নিত করুন (আসুন sdXNএখনই এটি কল করুন )।
  • উবুন্টু থেকে নতুন পার্টিশনে mysql ডেটা ডিরেক্টরি সরান।

    mkdir /{mountpoint}/mysql_data
    sudo mv /var/lib/mysql /{mountpoint/mysql_data
    

    mvঅনুমতি সংরক্ষণ করে ।

  • একটি নতুন mysql ডিরেক্টরি তৈরি করুন

    sudo mkdir /var/lib/mysql
    
  • এনটিএফএস পার্টিশন এ মাউন্ট করুন /var/lib/mysql। আপনি এনটিএফএস বিভাজন তৈরি করার সময় ডিভিসিনেমটি যা পেয়েছিল তা পরিবর্তন করুন।

    sudo mount /dev/{sdXN} /var/lib/mysql -t ntfs-3g -o uid=mysql,gid=mysql,umask=0077
    
  • বুট-এ স্বয়ংক্রিয় গণনার জন্য পার্টিশনটি ইউইউডি এবং স্থানীয় এবং সন্ধান করুন /etc/fstab

    ls -l /dev/disk/by-uuid
    locale -a
    sudo gedit /etc/fstab   
    UUID={number_found_with_the_ls-l} /var/lib/mysql ntfs-3g uid=mysql,gid=mysql,umask=0077,locale={your_locale}.utf8  0  0
    
  • /etc/mysql/my.cnfনির্দেশ করার জন্য 'ডাটাডির' পথ পরিবর্তন করুন/var/lib/mysql/mysql_data

  • মাইএসকিএল সার্ভারটি শুরু করুন এবং এটি পরীক্ষা করুন।

  • উইন্ডোজ কনফিগারেশন ফাইলটি সম্পাদনা করুন ( my.ini) এবং 'ডেটাডির' সেট করুন ( যেখানে আপনি এটি উইন্ডোজ এর অধীনে মাউন্ট করেছেন সেখানে X:/mysql_dataপ্রতিস্থাপন করুন X:)।

UF.org- এ 1442148 বিষয় থেকে সংকলিত ।

আমি উবুন্টু সংস্করণটি পেয়েছি; আমার উইন্ডোজ না থাকায় আংশিকভাবে অনির্ধারিত


খুব সুন্দর উত্তর! মাত্র দুটি মন্তব্য: ইতিমধ্যে অনেকগুলি মিশ্র মামলার নাম রয়েছে এবং lower_case_table_names=1এটি ব্যবহার করা ভাল কাজ করে। আপনার মাউন্ট বিকল্পগুলি ছাড়াই আমি এই বাগটিতে ছুটে এসেছি (যা প্রকৃতপক্ষে একটি বাগ।
মার্টিনাস

"sudo mv / var / lib / mysql / dev / d sdXN} / mysql_data" একটি ত্রুটি দেয়। Unix.stackexchange.com/questions/310433/…
উপবৃত্তাকার ভিউ

1

আপনি যদি পূর্ববর্তী উইন্ডো-কেবল পরিবেশে একটি লিনাক্স পার্টিশন যুক্ত করেন তবে আপনি কেবলমাত্র কিছু ছোটখাটো টুইট দিয়ে ডাটাবেসটি ব্যবহার করতে পারেন। এখানে দীর্ঘ সংস্করণ , সংক্ষিপ্ত সংস্করণ:

আপনাকে mount --bind '/media/windows/ProgramData/MySQL/MySQL Server 5.5/data' /var/lib/mysqlপ্রারম্ভকালে চালানো দরকার (ধরে নিলে আপনি আপনার উইন্ডোজ ড্রাইভটি /media/windowsfstab ব্যবহার করে মাউন্ট করবেন )।

ইনোডাবের লগের আকার পরীক্ষা করে দেখার জন্য আপনাকে উবুন্টু পার্টিশনের জন্য ইনোনডব লগগুলি সরানো দরকার। ইন my.cnf, যুক্ত করুন innodb_log_group_home_dir = /var/log/mysqlযাতে লগগুলি মাইএসকিএল ত্রুটি লগের পাশে যায়।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.