আমি কীভাবে phpmyadmin এ ডিফল্ট স্টোরেজ ইঞ্জিন পরিবর্তন করতে পারি?


28

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


সম্ভবত এটি পিএইচপিএমআইএডমিন সম্পর্কে খুব বেশি নয় তবে সরাসরি মাইএসকিউএল। আপনি কি এটিকে চেষ্টা করেছেন: - স্ট্যাকওভারফ্লো.com
সেবাস্তিয়ান রথ

2
এই পদক্ষেপগুলি করার মাধ্যমে এটি সম্ভব:> পিএইচপিএমইডমিন -> আরও -> ভেরিয়েবল -> স্টোরেজ ইঞ্জিনে নেভিগেট করুন এবং মাইআইএসএএমকে ইনোডিবিতে পরিবর্তন করুন।

@ ব্যবহারকারী21380: আপনি কেবলমাত্র ইঞ্জিন মাইএসকিউএল ব্যবহার করছে তা দেখতে পাবেন।
machineaddict

উত্তর:


21

আপনাকে আপনার মাইএসকিএল কনফিগারেশন ফাইলের বিভাগের default-storage-engine = InnoDBঅধীনে লাইনটি যুক্ত করতে [mysqld]হবে (my.cnf বা my.ini আপনার অপারেশন সিস্টেমের উপর নির্ভর করে) এবং মাইএসকিএলডি পরিষেবাটি পুনরায় চালু করতে হবে।

আমি বিশ্বাস করি না যে আপনি পিএইচপিএমএইডমিনের মাধ্যমে এটি পরিবর্তন করতে পারবেন।



1

এই উত্তরটি দেরিতে হলেও এটি অন্যকে সাহায্য করতে পারে। আপনি যদি মাইএসকিউএল সার্ভারে কিছু ঝামেলা করতে ভীত হন তবে phpMyAdmin থেকে কোনও সারণী তৈরি করার সময় আপনি ডিফল্ট ইঞ্জিনটি পরিবর্তন করতে পারেন। মাইএসকিউএল ইঞ্জিন ডিফল্ট নির্বাচন স্রষ্টা অধীনে এই ফাংশন StorageEngine.class.phpমধ্যে librariesফোল্ডার (পিএইচপি মাই এডমিন 3.5.8.2 মধ্যে):

<?php
/**
 * returns HTML code for storage engine select box
 *
 * @param string  $name                    The name of the select form element
 * @param string  $id                      The ID of the form field
 * @param string  $selected                The selected engine
 * @param boolean $offerUnavailableEngines Should unavailable storage engines be offered?
 *
 * @static
 * @return  string  html selectbox
 */
static public function getHtmlSelect($name = 'engine', $id = null,
  $selected = null, $offerUnavailableEngines = false)
{
    $selected   = strtolower($selected);
    $output     = '<select name="' . $name . '"'
        . (empty($id) ? '' : ' id="' . $id . '"') . '>' . "\n";

    foreach (PMA_StorageEngine::getStorageEngines() as $key => $details) {
        // Don't show PERFORMANCE_SCHEMA engine (MySQL 5.5)
        // Don't show MyISAM for Drizzle (allowed only for temporary tables)
        if (! $offerUnavailableEngines
            && ($details['Support'] == 'NO'
            || $details['Support'] == 'DISABLED'
            || $details['Engine'] == 'PERFORMANCE_SCHEMA')
            || (PMA_DRIZZLE && $details['Engine'] == 'MyISAM')
        ) {
            continue;
        }

        $output .= '    <option value="' . htmlspecialchars($key). '"'
            . (empty($details['Comment'])
                ? '' : ' title="' . htmlspecialchars($details['Comment']) . '"')
            . (strtolower($key) == $selected || (empty($selected) && $details['Support'] == 'DEFAULT')
                ? ' selected="selected"' : '') . '>' . "\n"
            . '        ' . htmlspecialchars($details['Engine']) . "\n"
            . '    </option>' . "\n";
    }
    $output .= '</select>' . "\n";
    return $output;
}

এই নির্বাচনটি নিম্নলিখিত কোয়েরি থেকে পপুলেট হয়েছে:

SHOW STORAGE ENGINES

নিম্নলিখিত কোডটি মাইএসকিউএল কনফিগারেশন ফাইল দ্বারা সেট করা ডিফল্ট ইঞ্জিন নির্বাচন করছে:

(empty($selected) && $details['Support'] == 'DEFAULT')

তবে, আমরা এটিকে ডিফল্ট ইঞ্জিন হিসাবে InnoDB নির্বাচন করার জন্য এটি পরিবর্তন করতে পারি:

(empty($selected) && $details['Engine'] == 'InnoDB')
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.