উইন্ডোজ ডিফল্ট মাইএসকিউএল টেবিল ইনস্টল করা (mysql_install_db)


12

লিনাক্সে, mysql_install_dbস্ক্রিপ্টটি দিয়ে ডিফল্ট মাইএসকিউএল অনুদান সারণী তৈরি করা যেতে পারে তবে উইন্ডোজে এটি কার্যকর হয় না।

উইন্ডোজে ডিফল্ট অনুদানের টেবিলগুলি কীভাবে ইনস্টল করা যায়?

(না, আমি গুগলের ফলাফলগুলি কীভাবে উইন্ডোজটিতে স্বয়ংক্রিয়ভাবে ইনস্টল হবে সে সম্পর্কে পুরোপুরি প্যাক করা প্রতিক্রিয়া খুঁজছি না, কারণ এটি কেবল ইনস্টলারের বিতরণে হয়, জিপ প্যাকেজটি নয় Besides এছাড়াও, এটি পরে সাহায্য করে না মাইএসকিউএল ইনস্টল করা হয়েছে এবং ডেটা ডিরেক্টরি ক্ষতিগ্রস্থ হয়েছে বা প্রতিস্থাপন করা হচ্ছে বা যেমন।)

উত্তর:


13

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

অন্য যে কেউ এই সমস্যাটি অনুভব করে তাদের জন্য আপনাকে যা করা দরকার তা হ'ল --bootstrapপ্যারামিটারগুলির সাথে সার্ভার ডিমন চালানো ।

এখানে স্ক্রিপ্টটি আমি সমস্ত ডাটাবেসগুলিকে একটি এসকিউএল ফাইলের বাইরে ফেলে এবং সেগুলি পুনরায় আমদানি করতে ব্যবহার করি (এটি হ'ল ম্যানুয়ালি - এবং অসুবিধে করে এসকিউএলাইটের vacuumকমান্ডের সাথে মাইএসকিউএল কাউন্টার পার্ট প্রয়োগ করে)।

::Start the server, change to the MySQL bin directory, and dump all databases
net start MySQL
cd       /d "%serverdir%\MySQL\bin"
mysqldump  -uroot -p --all-tablespaces --all-databases --add-drop-database --add-drop-table --add-locks --comments --complete-insert --compress --create-options --events --routines --quick --quote-names --set-charset --triggers > %temp%\all.sql

::Stop the server and rename the data directory (as backup)
net stop mysql
ren         "%datadir%\MySQL"        MySQL_

::Delete data folder in MySQL directory, optionally copy old mysql tables
rd    /s /q "%serverdir%\MySQL\data"
md          "%serverdir%\MySQL\data"
xcopy /s /e "%datadir%\MySQL_\mysql" "%serverdir%\MySQL\data"

::Bootstrap the server (creates grant tables if they dont exist)
mysqld --bootstrap

::Run server, optionally upgrade tables and move upgrade log to data directory
start mysqld --skip-grant-tables
mysql_upgrade --force
move "%serverdir%\MySQL\bin\mysql_upgrade_info" "%serverdir%\MySQL\data"

::Import all databases, shutdown, delete logs, then move to old data dir
mysql      -uroot -p < %temp%\all.sql
mysqladmin -uroot -p shutdown
md  "%datadir%\MySQL"
del "%serverdir%\MySQL\data\ib_logfile?"
xcopy /s /e "%serverdir%\MySQL\data\*" "%datadir%\MySQL"
rd    /s /q "%serverdir%\MySQL\data"

::Start the server, if it works, then all should be well, so del
net start mysql
rd    /s /q "%datadir%\MySQL_"

5

উইন্ডোজের জন্য মাইএসকিউএল অনুদানের টেবিলগুলিতে যদি আপনার এই অদ্ভুত দ্বিধা থেকে থাকে তবে আমি নিম্নলিখিতটি সুপারিশ করছি:

পদক্ষেপ 1. জিপ ফাইলে বিতরণ পান যাতে এতে ইনস্টলার নেই।

পদক্ষেপ 2. এটিতে বিষয়বস্তু আনজিপ করুন C:\MySQLZipStuff

পদক্ষেপ 3. ফোল্ডারটি সন্ধান করুন C:\MySQLZipStuff\data\mysql

পদক্ষেপ ৪. C:\MySQLZipStuff\data\mysqlআপনার পছন্দসই ডেটা ডিরেক্টরিটির মাইএসকিএল ফোল্ডারে সমস্ত ফাইল অনুলিপি করুন ।

পদক্ষেপ 5। net start mysql

আপনার যদি ইতিমধ্যে মাইএসকিএল ফোল্ডার থাকে তবে আপনি এটির পরিবর্তে এটি করতে পারেন:

পদক্ষেপ 1. my.ini[mysqld] বিভাগে এই লাইনটি যুক্ত করে সম্পাদনা করুন

[mysqld]
skip-grant-tables
skip-networking

ধাপ ২. net stop mysql

ধাপ 3. net start mysql

এই মুহুর্তে, আপনি কেবল 'মাইএসকিএল' টাইপ করতে পারেন এবং আপনি এতে আছেন However

পদক্ষেপ ৪. আপনাকে নিজেই একটি সুপারভাইজার প্রবেশ করতে হবে। এটার মত

ক) INSERT INTO mysql.user SET user='root',host='localhost';

খ) SELECT * FROM mysql.user WHERE user='root' AND host='localhost'\G

এটি ব্যবহারকারীর সারণীতে সমস্ত কলাম প্রদর্শন করবে। আপনাকে প্রতিটি কলামটি ম্যানুয়ালি এইভাবে পরিবর্তন করতে হবে:

আপডেট করুন mysql.user SET select_priv = 'Y', insert_priv = 'Y', ... যেখানে ব্যবহারকারী = 'রুট' এবং হোস্ট = 'লোকালহোস্ট';

গ) রুট @ লোকালহোস্টের জন্য একটি পাসওয়ার্ড সেটআপ করুন:

UPDATE mysql.user SET password=PASSWORD('whateverpasswordyouwant')
WHERE user='root' AND host='localhost';

পদক্ষেপ 5. সরান skip-grant-tablesএবং skip-networkingথেকেmy.ini

পদক্ষেপ 6। net stop mysql

পদক্ষেপ 7। net start mysql

এখন আপনি পাসওয়ার্ড হিসাবে 'যাইহোক পাসওয়ার্ডওয়াইওয়ান্ট' ব্যবহার করে রুট হিসাবে মাইএসকিএল এ লগইন করতে পারেন।

একবার চেষ্টা করে দেখো !!!


টিপস জন্য ধন্যবাদ; এটি লিনাক্স বিবেচনা করে অনেক পদক্ষেপ এটি কেবল একটি একক স্ক্রিপ্ট গ্রহণ করে। :-(
Synetech

3

অবগতির জন্য,

এটি --initializeএখন হতাশার পরিবর্তে--bootstrap


বিশেষ দ্রষ্টব্য। শেষ করার জন্য:

একটি অনিবদ্ধ অ্যাকাউন্ট ব্যবহার করে এটি চালাতে:

mysqld.exe --log_syslog=0 --console --standalone --initialize

তারপরে সার্ভারটি শুরু করুন:

mysqld.exe   --log_syslog=0 --console --standalone

2

যে কেউ এক্সএএমপিপি ব্যবহার করে এবং এই সমস্যাটি অনুভব করে, এক্সএএমএপপি এই ডিফল্ট মাইএসকিএল টেবিলগুলির ব্যাকআপ নিয়ে আসে।

এই ফোল্ডারে থাকা সমস্ত কিছু অনুলিপি C:\xampp\mysql\backup\mysqlকরে এটিকে আটকান C:\xampp\mysql\data\mysql

সতর্কতা অবলম্বন করুন: ডেটা নষ্ট হতে পারে - আমি জানতাম না, আমার একটি পরিষ্কার ইনস্টল ছিল।


এটি এক্সএএমপিপি-র পক্ষে কার্যকর, তবে এটি মাইএসকিউএল কেবল একটি একক ওয়েব-সার্ভারের চেয়ে অনেক বেশি সাধারণ-উদ্দেশ্য হওয়ায় এটি বেশ সীমিত ব্যবহারের ক্ষেত্রে একটি দৃশ্য।
সিনিটেক

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

ঠিক আছে ভদ্র. আমি বুঝতে পারিনি যে এক্সএএমএপিপি ম্যানুয়ালি পুনরায় সেট করা একটি সাধারণ সমস্যা।
সিনিটেক

এটি এমনটি নয়, এটি কীভাবে ঘটেছিল তা সম্পর্কে আমার কোনও ধারণা নেই এবং সাবধানতার সাথে ম্যানিকিউড কনফিগারেশন ফাইলগুলি ওভাররাইটিংয়ের ভয়ে আমি ইনস্টলারটি পুনরায় চালিত করতে চাই না: পি
আলেক গর্জে

ওহ আমি জানি! যেহেতু মাইএসকিউএল-তে ডাটাবেস ফাইল সঙ্কুচিত করার কোনও অন্তর্নির্মিত পদ্ধতি নেই ( vacuumএসকিউএলাইট 3 এর কমান্ডের মতো , ইত্যাদি।), আমাকে নিজেই এটি ফেলে দিতে হবে এবং এখনই আমার একটি নতুন জায়গা তৈরি করতে হবে এবং যেহেতু আমার খুব বেশি জায়গা নেই; তবে আমি সবসময় এটি করতে উদ্বিগ্ন তাই আমি যতদিন সম্ভব তা এড়াতে চাই।
সিনিটেক
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.