आगे नहीं बढ़ सकते क्योंकि सर्वर शेड्यूल में इवेंट शेड्यूलर द्वारा उपयोग किए गए सिस्टम टेबल क्षतिग्रस्त थे


18

मैं MySQL के लिए Navicat का उपयोग करते हुए एक अलग सर्वर पर एक MySQL डेटाबेस से डेटा कॉपी करने की कोशिश कर रहा हूं। हालाँकि, जब मैं स्थानांतरण करने का प्रयास करता हूँ तो मुझे यह त्रुटि मिलती रहती है। मैं पहले mysql_upgradeही दौड़ चुका हूं और यह पूरा हो गया है, लेकिन मुझे अभी भी यह त्रुटि मिल रही है। पुराना सर्वर Apache, MySQL और PHP के लिए WampServer का उपयोग कर रहा था।

मैं इसे कैसे ठीक कर सकता हूं इसलिए मैं डेटा ट्रांसफर करने में सक्षम हूं ??

EDIT नेवरमाइंड ... मैं एक बेवकूफ हूँ; बस MySQL को पुनरारंभ करना था (आपको लगता है कि यह अपने आप हो जाएगा!)

जवाबों:


37

निम्न आदेशों को चलाने का प्रयास करें और फिर बाद में अपनी mysql सेवा को पुनः आरंभ करें।

mysqlcheck -u [username] -p --all-databases --check-upgrade --auto-repair
mysql_upgrade -u [username] -p

यदि अभी भी ड्रॉप ईवेंट टेबल जारी है और फिर से बनाते हैं, तो पुनरारंभ करें।

DROP TABLE event;

Mysql_system_tables.sql फ़ाइल से इवेंट टेबल परिभाषा प्राप्त करें। मेरे लिए इसके बाद के स्थान पर: /usr/local/share/mysql/mysql_system_tables.sql

Mysql 5.1 घटना तालिका परिभाषा:

DROP TABLE IF EXISTS `event`;
CREATE TABLE `event` (
  `db` char(64) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL DEFAULT '',
  `name` char(64) NOT NULL DEFAULT '',
  `body` longblob NOT NULL,
  `definer` char(77) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL DEFAULT '',
  `execute_at` datetime DEFAULT NULL,
  `interval_value` int(11) DEFAULT NULL,
  `interval_field` enum('YEAR','QUARTER','MONTH','DAY','HOUR','MINUTE','WEEK','SECOND','MICROSECOND','YEAR_MONTH','DAY_HOUR','DAY_MINUTE','DAY_SECOND','HOUR_MINUTE','HOUR_SECOND','MINUTE_SECOND','DAY_MICROSECOND','HOUR_MICROSECOND','MINUTE_MICROSECOND','SECOND_MICROSECOND') DEFAULT NULL,
  `created` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
  `modified` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00',
  `last_executed` datetime DEFAULT NULL,
  `starts` datetime DEFAULT NULL,
  `ends` datetime DEFAULT NULL,
  `status` enum('ENABLED','DISABLED','SLAVESIDE_DISABLED') NOT NULL DEFAULT 'ENABLED',
  `on_completion` enum('DROP','PRESERVE') NOT NULL DEFAULT 'DROP',
  `sql_mode` set('REAL_AS_FLOAT','PIPES_AS_CONCAT','ANSI_QUOTES','IGNORE_SPACE','NOT_USED','ONLY_FULL_GROUP_BY','NO_UNSIGNED_SUBTRACTION','NO_DIR_IN_CREATE','POSTGRESQL','ORACLE','MSSQL','DB2','MAXDB','NO_KEY_OPTIONS','NO_TABLE_OPTIONS','NO_FIELD_OPTIONS','MYSQL323','MYSQL40','ANSI','NO_AUTO_VALUE_ON_ZERO','NO_BACKSLASH_ESCAPES','STRICT_TRANS_TABLES','STRICT_ALL_TABLES','NO_ZERO_IN_DATE','NO_ZERO_DATE','INVALID_DATES','ERROR_FOR_DIVISION_BY_ZERO','TRADITIONAL','NO_AUTO_CREATE_USER','HIGH_NOT_PRECEDENCE','NO_ENGINE_SUBSTITUTION','PAD_CHAR_TO_FULL_LENGTH') NOT NULL DEFAULT '',
  `comment` char(64) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL DEFAULT '',
  `originator` int(10) unsigned NOT NULL,
  `time_zone` char(64) CHARACTER SET latin1 NOT NULL DEFAULT 'SYSTEM',
  `character_set_client` char(32) CHARACTER SET utf8 COLLATE utf8_bin DEFAULT NULL,
  `collation_connection` char(32) CHARACTER SET utf8 COLLATE utf8_bin DEFAULT NULL,
  `db_collation` char(32) CHARACTER SET utf8 COLLATE utf8_bin DEFAULT NULL,
  `body_utf8` longblob,
  PRIMARY KEY (`db`,`name`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COMMENT='Events';

यदि mysql संस्करण 5.6 से बड़ा है, तो आपको "SET SQL_MODE = 'ALLOW_INVALID_DATES' जोड़ना होगा;" ड्रॉप कमांड से पहले। modifiedटाइमस्टैम्प नॉट NULL DEFAULT '0000-00-00 00:00:00', कॉलम त्रुटि को ट्रिगर करेगा, क्योंकि डिफ़ॉल्ट शून्य भरा समय अधिक अनुमत नहीं है।
सिनान एल्डेम
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.