Аппараттық және бағдарламалық қамтамасыз етуді орнату

MySQL-тен деректерді экспорттау және импорттау. MySQL дерекқорларын импорттау

Сәлем, достар! 🙂

Бүгін мен консольде MySQL-мен жұмыс істеу туралы сөйлесуді жалғастырып, дерекқорды экспорттау процедурасына назар аударуды шештім. MySQL деректері.

Мақалада мен MySQL дерекқорын қалай тастау, сонымен қатар MySQL-тен деректерді жүктеу туралы айтатын боламын. excel файлыжәне csv пішімі.

Біз қарастырамыз әртүрлі опцияларақпаратты іріктеу: бір және бірнеше дерекқорлардың демпін жасау, жеке кестелерден және ерікті нәтижелерден деректерді экспорттау ТАҢДАУсұраулар.

Сондай-ақ біз деректерді қалай алу керектігі туралы айтатын боламыз MySQL мәліметтер базасысервер консолінде және MySQL пәрмен жолында.

Бұл мақалада мен phpMyAdmin және басқа көрнекі құралдар арқылы деректерді қалай экспорттау туралы айтпаймын.

Біріншіден, бұл тақырып бойынша желіде жеткілікті материал бар. Оның үстіне, мен көшіру-қоюды қалаумен өртенбейтін жоғары сапалы материал.

Екіншіден, мен өзімнің мақалаларымның бірінде MySQL дерекқорынан SQL файлына ақпаратты шығару процесін қысқаша қарастырдым.

Сондықтан, егер сіз кәсіби әзірлеуші ​​болмасаңыз немесе жүйелік әкімші, кімге консольмен жұмыс істеу туралы ақпарат қажет болуы мүмкін және сіз тек дерекқорды phpMyAdmin-ге экспорттау бойынша нұсқаулар үшін келген болсаңыз, жоғарыдағы сілтемедегі ақпаратты оқумен шектеле аласыз.

Мені дұрыс түсінгеніңізді қалаймын: мен сізді ешбір жағдайда ренжіткім келмейді, бірақ мен сіздің уақытыңызды мақсатқа барынша пайдалы етіп өткізіп, іздегеніңізді алуыңызды қалаймын.

Осымен кіріспе бөлімі аяқталады және біз MySQL дерекқорының дампін құруға арналған консоль пәрмендерін шолуға көшеміз, мен оны сақталған деректер көлемі бойынша сұрыптауды жөн көрдім: бүкіл дерекқорды экспорттаудан бастап жеке кестелерге және ерікті сұраулардың нәтижелеріне дейін. .

Консоль арқылы MySQL дерекқорының дампін жасау

Мен ең басында шағын түсініктеме жасағым келеді.

Негізгі үйіндібар файл болып табылады SQL жинағыкомандалар, олар іске қосылған кезде мәліметтер базасы мен кестелерді жасауға, сондай-ақ оларды ақпаратпен толтыруға мүмкіндік береді. MySQL дерекқорын басқа серверге немесе бұрыннан бар серверге көшіру үшін жүктеп алғысы келетіндерге демп қажет.

Сондай-ақ, егер біреу білмесе, MySQL дерекқорының сақтық көшірмесі шын мәнінде белгілі бір уақыт аралығында жасалған оның демпі болып табылады, бұл қажет болған жағдайда дерекқор құрылымы мен деректерді қалпына келтіруге мүмкіндік береді.

Деректерді экспорттау- бұл мәтіндік немесе графикалық редакторлармен әрі қарай жұмыс істеу үшін мәтіндік пішіндегі кестелерден ақпаратты алу ғана.

Сондықтан бұл әрекеттерге арналған пәрмендер сәл өзгеше болады.

Дерекқордың демпін жасау үшін MySQL деп аталатын кірістірілген утилита бар mysqldump, сервер консоліндегі немесе басқа қабықтағы MySQL пәрмен жолынан тыс пайдалануға арналған.

Сонымен, ең қарапайым және кең таралған опция үшін - MySQL консоліндегі белгілі бір дерекқордан деректерді басқа серверге немесе ішкі көшірмеге тасымалдау үшін экспорттау үшін келесі пәрменді орындау керек:

mysqldump -u пайдаланушы аты -p дерекқордың_аты > жол_және_дамп_файлының_аты

Бұл утилита MySQL дерекқорының демптерін тек SQL пәрмендері бар файлдар түрінде жасай алады, сондықтан файлыңыз үшін қандай кеңейтімді таңдасаңыз да, кез келген жағдайда оның мазмұны бірдей болады. Файлды құру мүмкін болуы үшін MySQL-тен ақпаратты экспорттаудан бұрын ол орналасатын каталогтың жазу рұқсаттарын тексеруді ұмытпаңыз.

Егер кенеттен сервердегі барлық дерекқорлармен демп жасау қажет болса, келесі пәрмен опциясын пайдаланыңыз:

mysqldump -u пайдаланушы аты -p --all-debases > path_and_dump_file_name

Бірнеше нақты дерекқорды шығару үшін келесі опциялармен mysqldump шақыру керек:

mysqldump -u пайдаланушы аты -p --деректер базалары дерекқордың_аты1, дерекқордың_атауы, ... > жол_және_қоқыс_файлының_аты

Нәтижесінде, әрбір жағдайда сіз қамтылған кестелердің құрылымын (өрістер, олардың түрлері, индекстер, кілттер және т.б.) құру командаларын, сондай-ақ оларды деректермен толтыру операцияларын қамтитын MySQL дерекқорының демпін аласыз.

Бұл опция бүкіл дерекқорды қалпына келтіру және көшіру үшін ғана жарамды.

Кейбір MySQL кестелерінің сақтық көшірмелерін жасау және олардың деректерін оқылатын пішінде қалай алу керектігі әрі қарай талқыланады.

MySQL кестесін демпингтеу және деректерді экспорттау

Белгілі бір MySQL дерекқор кестелерінің дампін жасау үшін бізге бірдей қызметтік бағдарлама қажет mysqldump, келесі параметрлермен шақырылады:

mysqldump -u пайдаланушы аты -p дерекқор_атауы кесте_атауы1, кесте_атауы, ... > жол_және_дүмп_файл_аты

Тіпті mysqldump шақырған кезде де қажетті кестелерді параметр мәні ретінде көрсетуге болады --кестелер, қай параметрді пайдаланған кезде --мәліметтер базаларыеленбейді:

mysqldump -u пайдаланушы аты -p --деректер базалары дерекқордың_атауы1, дерекқордың_атауы2 --кестелер кесте_аты1, кесте_атауы, ... > жол_және_дамп_файл_аты

Жоғарыдағы мысал келесі қатені көрсетеді:

Mysqldump: қате пайда болды: 1049: дерекқорды таңдау кезінде белгісіз дерекқор "database_name1"

Көріп отырғаныңыздай, көрсетілгендер тізіміндегі ең соңғы дерекқор ғана пайдаланылады. Негізінде, бұл мінез-құлық өте қисынды, өйткені. барлық дерекқорларда көрсетілген кестелер болмауы мүмкін.

Жарайды, бізде MySQL дерекқор кестелерінің қоқысы бар. Оны қалпына келтіру немесе құрылыммен бірге көшіру үшін пайдалануға болады.

Бірақ егер сізге оларда сақталған ақпаратты және жақсырақ оқуға болатын пішінде алу қажет болса, оны менеджерге жіберіп, оны кәдімгі мәтін немесе электрондық кесте өңдегішінде көре аласыз ба? MySQL-де бұл үшін де құралдар бар.

Утилитаны шақыру опциясы біздің мақсаттарымызға жетуге көмектеседі. mysqlбелгілі бір параметрлері бар консольден:

Mysql -u пайдаланушы аты -p database_name -e "ТАҢДАУ * кесте_атауы"

Бұл пәрмен бізге қажетті дерекқорға сұранысты орындауға және нәтижені консольге кірместен көрсетуге мүмкіндік береді. пәрмен жолы MySQL.

Деректерді консольге шығармау үшін, бірақ оларды файлға жазу үшін пәрменді келесідей толықтыру керек:

Mysql -u пайдаланушы аты -p -e «Таңдау * кесте атауынан» > path_and_filename

Осы конструкциялардың арқасында біз кестенің барлық өрістерінде сақталған мәліметтерді ғана емес, сонымен қатар белгілі бір өрістерде де ала аламыз. Ол үшін қойылмалы таңбалардың (*) орнына үтірмен бөлінген қажетті таңбаларды тіркеу жеткілікті.

Нәтижесінде біз әдеттегі өнімді аламыз мәтіндік файл, онда тақырып түріндегі өріс атаулары және олар туралы барлық жазбалар үшін ақпарат болады. Оны қалыпты жағдайда ашуға болады мәтіндік редактор, оны жасау кезінде қандай ажыратымдылықты бергеніңізге қарамастан.

Егер сіз MySQL дерекқорынан деректерді xls немесе csv пішімінде экспорттағыңыз келсе, нәтижесінде алынған файл электрондық кесте редакторларында дұрыс көрсетілуі үшін, мұны қалай жасау керектігі сәл кейінірек талқыланады 🙂

Сұраулар арқылы MySQL дерекқорынан сақтық көшірме жасау және деректерді шығару

Біз MySQL дерекқорын қалай тастау керектігі туралы әңгімелестік - бір және бірнеше, сондай-ақ олардың жеке кестелері. Бірақ кейде іс жүзінде бір кестемен шектелмейтін деректер жиынын экспорттау қажет болатын жағдайлар болады. Немесе кестеден кейбір деректерді ғана таңдау керек.

Корпоративтік жобаларды әзірлеушілер, әсіресе, менеджерлер олардан статистикалық мәліметтердің барлық түрлерін ұсынуды сұраған кезде жиі кездеседі. Немесе оны жылдам қалпына келтіру үшін кестенің белгілі бір бөлігінің сақтық көшірмесін жасау қажет болғанда.

Сақтық көшірме жасау үшін бізге бірдей қызметтік бағдарлама қажет mysqldump, оны келесідей атау керек:

Mysqldump -u пайдаланушы аты -p dbname table_name --мұнда "іздеу" > path_and_dump_file_name

Нәтижесінде біз бүкіл құрылымы бар кестені құруға арналған SQL командалары бар файлды аламыз, ол жасалғаннан кейін іздеу сұрауы арқылы таңдалған ақпаратпен толтырылады.

Егер бізге бір немесе бірнеше кестелерде сақталған деректерді алу қажет болса, онда кестедегі барлық деректерді таңдау үшін алдыңғы жағдайда қолданылған пәрменді бірнеше нақтылаумен өзгерту керек:

Mysql -u пайдаланушы аты -p -e «ТАҢДАУ * Кесте_атын ҚАЙДА іздеу» > жол_және_файл_аты

Түсінгеніңіздей, директива арқылы сұрауда көрсетілген әртүрлі түсіндірулерге қосымша ҚАЙДА, сіз басқа SQL құрылымдарын пайдалана аласыз: ҚОСЫЛУ, ОДАжәне т.б.

Кез келген статистиканы жинауға болады 🙂

Сол әрекетті MySQL пәрмен жолынан келесі пәрмен арқылы орындауға болады:

ТАҢДАУ * Дерекқор_кестесінен OUTFILE "жол_және_файл_атын" іздеу;

Бұл пәрмен тек таңдау нәтижелері бар файлдарды жасауға арналған. Сонымен қатар, нәтижелерді файлдарға экспорттауға ғана емес, сонымен қатар айнымалыларға жазуға болады және шығыс деректерін әртүрлі тәсілдермен пішімдеуге болады.

Егер жоғарыда айтылған жағдай сіздің жағдайыңыз болса, онда толық тізімосы пәрменді шақыруға арналған параметрлер мен опцияларды мына жерден таба аласыз - https://dev.mysql.com/doc/refman/5.7/en/select-into.html

Оның соңында қысқаша ауытқу mysqldump үшін мен MySQL дерекқоры мен кестелерінің оңтайландырылған демпін жасау үшін параметрлер тізімі бар пәрменді шақыру опциясын бергім келеді, дерекқорды және жеке кестелерді қалпына келтіру әдеттегі қоңырауға қарағанда аз уақыт алады:

mysqldump -u пайдаланушы аты -h MySQL_server_host_or_IP -p --no-autocommit --opt database_name > path_and_dump_file_name;

Эксперимент үшін мен қолдандым бұл опция 143 Мбайт MySQL дерекқорын шығару үшін. Арнайы опцияларсыз mysqldump шақыру арқылы жасалған демптен дерекқор қалпына келтірілген кездегі кейінгі қалпына келтіру 1 минут 3 секундқа қарсы 59 секунд уақытты алды.

Бұл ұсақ-түйек екенімен келісемін. Бірақ бұл деректердің берілген көлемі жағдайында ғана. Егер сіз осы әдісті 1 ГБ-тан үлкен қоқыс жасау кезінде қолдансаңыз, онда айырмашылық маңыздырақ болады.

Егер сіз осындай жағдайға тап болсаңыз, алдымен MySQL дерекқорының дампін мұрағатқа салуды ұмытпаңыз. tar.gz ең жақсысы. Сонда қалпына келтіру одан да аз уақытты алады.

Деректерді MySQL жүйесінен Excel және csv файлдарына экспорттау

MySQL-тен ақпаратты шығару туралы ақпаратты осы екі форматқа бір блокта біріктіргенім бекер емес еді, өйткені олар өте ұқсас, олар шамамен бірдей қолданылады (кесте түріндегі ақпаратты құрылымдау үшін) және экспортқа бірдей командалар шақырылады.

Өздеріңіз білетіндей, бұл пішімдердің жалғыз маңызды айырмашылығы - xls және xlsx кеңейтімдерінде жасалған файлдар бар Microsoft бағдарламасы Office Excel, ол тек Windows жүйесінде жұмыс істейді, ал csv файлдары жан-жақты және олармен жұмыс істеу көптеген редакторларда мүмкін.

Бұл xls еш жерде емес дегенді білдірмейді Microsoft кеңсесі Excel ашылмайды. Сол OpenOffice керісінше растайды.

Бірақ бұл мүмкіндік үшін бұл қолдауішінде болуы керек бағдарламалық өнім. csv файлдарын Блокнот сияқты қарапайым мәтіндік редакторда да оқуға болады, тек бұл пішін толығымен оқылмайды.

Бастау үшін тек нәтижелерді xls немесе csv форматына экспорттауға болады SQL сұраулары, біз бұрын жұмыс істеуді үйрендік, өйткені бір файлға бүкіл дерекқорды бір операцияда көрсету мүмкін болмайды.

Біріншіден, бұл оңтайлы емес, өйткені мұндай файлдың дерекқорда сақталған үлкен көлемдегі ақпаратпен ашылуы екіталай. Ал, екіншіден, ақпаратты файл ішіндегі кестелер мен өрістерге қалай бөлуге болатыны түсініксіз.

Жоқ, бұл, әрине, мүмкін, бірақ бір команданың мұны істеуі екіталай, және жалпы алғанда, консольде мұны ешкім жасауы екіталай. Менің ойымша, бұл мақсаттар үшін сізге арнайы бағдарламалық жасақтама немесе кем дегенде сценарий қажет болады.

Егер сіз кенеттен ақпаратты бүкіл MySQL дерекқорынан консольдегі бір немесе бірнеше xls файлдарына бірден қалай экспорттауға болатынын білсеңіз, бұл туралы түсініктемелерде жазыңыз. Бұл туралы оқу көптеген адамдарға пайдалы болады деп ойлаймын.

Сонымен, егер біз MySQL-ден xls және csv-ге деректерді қалай экспорттау туралы айтатын болсақ, онда сіз оны утилита арқылы сервер консолінде тікелей жасай аласыз. mysqlнемесе алдыңғы мақаламда сізді таныстырған жұмыс.

Тәртіппен бастайық.

Төмендегі пәрмендерді пайдаланып, деректерді MySQL дерекқорынан csv және xls пішімдеріне тікелей сервер консолінде экспорттай аласыз.

Үстінде linuxжүйелер:

Mysql -u пайдаланушы аты -d dbname -p -e "SELECT * FROM dbtable;" | sed "s/"/\"/;s/\t/\",\"/g;s/^/\"/;s/$/\"/;s/\n//g" > жол_және_файл_аты. csv

Негізінде, өте қажет болса, MySQL деректерін Excel файлына экспорттау үшін осы пәрменді пайдалануға болады. Бірақ, шынымды айтсам, мен іс жүзінде деректермен айналыспадым, және соңында не болады - бұл түсініксіз, өйткені. Мен қазір Windows жүйесінде жұмыс істеймін. Егер сіз бұл пәрменді Linux астында қолдансаңыз, жұмысыңыздың нәтижелері туралы түсініктемелерде жазыңыз. Ақпарат барлығына қызықты болады деп ойлаймын.

Үстінде Windows:

Жоғарыдағы пәрменмен MySQL кестелерінен деректерді csv-ге экспорттау, өкінішке орай, бұл жағдайда сәтті болмайды, себебі Windows жүйесінде Linux-тен айырмашылығы, кірістірілген жүйесі жоқ консоль командасы Linux жүйесінде орнатылған ағындармен жұмыс істеу.

Оны орнату, әрине, мүмкін, бірақ тым көп қиындық. Сонымен қатар, сіз де пайдалана аласыз CygWin Windows жүйелеріне арналған Linux консоль эмуляторы болып табылады.

Жақсы, егер сізде ол орнатылған болса. IN әйтпесе MySQL дерекқорынан деректерді таңдалған жолмен экспорттау бізге тым көп қиындық әкеледі.

Бірақ xls файлына ақпаратты шығару 5 тиын сияқты оңай 🙂 Оны келесі жолмен іске қосу өте оңай, мен оны өзім қолданып көрдім:

Mysql -u пайдаланушы аты -d dbname -p -e "SELECT * FROM dbtable;" > path_and_file_name.xls

Бұл файл Microsoft Office Excel бағдарламасында еш қиындықсыз ашылды. Жалғыз нәрсе, ашылған кезде ашылатын файлдың нақты пішімі көрсетілген кеңейтімнен ерекшеленетінін ескертетін хабарлама пайда болды.

Бірақ әрекетті растау кезінде құжат қиындықсыз ашылды - барлық ақпарат кестенің өзінде сақталған пішінде ұяшықтарға бөлінді.

Білмеймін, бәлкім, Microsoft Office Excel бағдарламасында қандай да бір нақты әрекеттерді орындаған кезде, болашақта проблемалар туындауы мүмкін, мен соншалықты терең зерттеген жоқпын. Деректердің кәдімгі көрінісінде, кем дегенде, мен ерекше ештеңеге тап болған жоқпын.

MySQL-ден экспортталған xls файлын пайдалану процесінде осы бағдарламада немесе басқаларында қандай да бір мәселелерге тап болсаңыз, түсініктемелерде маған хабарлаңыз.

Жоғарыда сипатталғандай, MySQL дерекқорының мазмұнын негізінен csv файлына экспорттауға болады. Бірақ содан кейін кестенің әртүрлі өрістеріндегі деректер бөлгіштерсіз жаппай жазылады, олар нашар көрсетілуі мүмкін. әртүрлі бағдарламаларкестелермен жұмыс істеу үшін, олар әдетте csv файлдарымен жұмыс істейді.

OpenOffice, айтпақшы, бәрібір 🙂 Ол MySQL дерекқорының мазмұнын xls-ге экспорттау жолымен алынған ақпаратты автоматты түрде демаркациялады. Мен оның мұны қалай істейтінін білмеймін - бірақ мен оны пайдалануды ұсынамын 🙂

Дәл сол Microsoft Office Excel бағдарламасы кестедегі бір жазбаға сәйкес барлық ақпаратты ешбір бөлгішсіз бір ұяшыққа жазып көрсетті. Басқа электрондық кесте редакторлары да солай істейді деп ойлаймын.

Сондықтан, MySQL дерекқорын csv файлдарына экспорттаған кезде, мұны редакторлар қабылдайтын арнайы таңбалармен ақпаратты бөлу арқылы орындау керек.

Содан кейін мен екінші әдіске оңай жақындадым MySQL экспорты csv және xls ішіндегі деректер, бұл MySQL пәрмен жолын пайдалану.

Осылайша, MySQL деректерін csv файлына осылай экспорттау үшін бізге келесі пәрмен қажет:

* Дерекқор_кестесінен OUTFILE "path_and_file_name.csv" ТАҢДАҢЫЗ "," АЯҚТАЛҒАН """ ЖОЛДАРМЕН ҚОСЫЛҒАН "\n";

Оның орындалуының нәтижесінде сіз қоңырау шалу кезінде көрсеткен жол бойынша csv файлын аласыз, ол қазіргі заманның көпшілігінде дұрыс ашылады. электрондық кесте редакторлары. Қалай болғанда да, жүгіруді еске саламын бұйрық берілді MySQL дерекқорына қосылғаннан кейін ғана қажет.

Бұл пәрмен Microsoft Office Excel бағдарламасында дұрыс көрсету үшін MySQL деректерін xls файлына экспорттау үшін де тамаша. Тек осы жағдайда бізге сепараторлар қажет емес, өйткені олар ақпараттың жасушаларға бөлінуіне кедергі жасайды:

* Дерекқор_кестесінен OUTFILE INTO "path_and_file_name.xls" ТАҢДАУ;

Дегенмен, іс жүзінде бәрі мен сипаттағандай қарапайым емес. Пәрменді орындау кезінде консольде экспортты аяқтауға кедергі келтіретін келесі қатеге тап болуыңыз мүмкін:

ҚАТЕ 1290 (HY000): MySQL сервері --secure-file-priv опциясымен жұмыс істейді, сондықтан ол бұл мәлімдемені орындай алмайды

Бұл MySQL серверіңіз опциямен іске қосылғандықтан туындады --secure-file-priv. Мен бұл мәселеге консольде жұмыс істеу үшін WAMP OpenServer жинағына кіретін MySQL тарату жинағын пайдалануыма байланысты кездестім, ол өз кезегінде MySQL серверін осылай іске қосады.

Мұнда мәселені шешудің екі жолы бар:

Бірінші әдіс маған тым күрделі болып көрінді, өйткені. Мен барлық жағдайлармен жазбаған OpenServer конфигурациясын қазып алуым керек еді 🙂 Сондықтан мен екінші жолмен жүруді шештім. Ұқсас мәселеге тап болсаңыз, менен кейін қайталаңыз.

Алдымен MySQL пәрмен жолына өтіп, келесі пәрмендердің бірін орындау керек:

"secure_file_priv" СИЯҚТЫ АЙНАЛЫҚТАРДЫ КӨРСЕТУ; @@GLOBAL.secure_file_priv ТАҢДАУ;

Екеуін де орындау нәтижесі MySQL жаһандық айнымалысының мәні болады safe_file_priv, ол арқылы MySQL деректерін экспорттау және импорттау операцияларын орындауға болатын каталогқа жол бар (болашақта деректерді импорттау туралы мақалаға сілтеме).

Анау. командаларды пайдалану кезінде ДЕРЕКТЕРДІ ЖҮКТЕП АЛУЖәне ТАҢДАУ … OUTFILEэкспортталған және импортталған файлдарды тек осы каталогта орналастыруға болады.

Менің жағдайда бұл айнымалы мәнде мүлде орнатылған мән болды NULL, өйткені Мен, жоғарыда айтқанымдай, консольде жұмыс істеу үшін OpenServer құрамындағы дистрибутивтен MySQL утилиталарын пайдаланамын. Бұл мән MySQL деректерін экспорттау және көрсетілген пәрмендерді пайдаланып импорттау операциялары толығымен жабылғанын көрсетті.

Кейінірек белгілі болғандай, бұл қораптағы WAMP және MAMP серверлерін пайдалану кезінде жиі кездесетін жағдай.

Өкінішке орай, менің жағдайда MySQL жаһандық айнымалы мәндерін өзгертудің әдеттегі әдістерін пайдалану мүмкін болмады:

SET айнымалы_атауы = мән;

Нәтижесінде мен консольде тек келесі қатені көрдім:

1-жолдағы ҚАТЕ 1238 (HY000): "secure_file_priv" айнымалысы тек оқуға арналған айнымалы болып табылады.

Соңында, айнымалының мәнін өзгерту үшін safe_file_privжәне экспорттау және импорттау операцияларын ашу үшін мен MySQL дистрибутивінің түбірлік каталогында орналасқан mysql.ini MySQL конфигурация файлына өтуім керек болды немесе MySQL WAMP/LAMP/мен бірге болса, басқа жолмен кіруге болады. MAMP серверін құрастыру.

Айтпақшы, файл алмасу буферінің каталогына жолды өзгерткіңіз келсе, дәл солай істеу керек.

Менің жағдайда, бұл айнымалы мән конфигурацияда бұрыннан бар, тек түсініктеме берілген пішінде:

security-file-priv = "%dprogdir%\\userdata\\temp"

Егер сізде жоқ болса, оны бөлімге нөлден бастап жазыңыз (кем дегенде, менде ол бар).

Мен оған түсініктеме бердім және оны ол жазылған пішінде пайдалануды шештім. Анау. MySQL-тен деректерді экспорттау және оны кері импорттау кезінде менің файлдарым енді каталогта сақталады c:\openserver\userdata\temp\.

Конфигурацияны өзгерткеннен кейін (айтпақшы, кез келген), өзгертулер күшіне енуі үшін мүмкіндігінше параметрлері түзетілген серверді немесе бөлек қызметті қайта іске қосуды ұмытпаңыз!

Әрине, MySQL серверін қайта іске қосқаннан кейін айнымалы мәнді тағы бір рет көрсетіңіз safe_file_privжәне оның мәнін алмасу буферіне көшіріңіз.

Ал енді MySQL дерекқорынан ақпарат сақталатын файлдың атының алдында ғана бастапқыдағыдай пәрменді шақыру керек, біз өзгертіп жатқан айнымалыда сақталған жолды келесі пішінде жазыңыз:

* Дерекқор_кестесінен OUTFILE INTO "value_secure_file_priv\file_name.csv" ТАҢДАУ;

Осыдан кейін MySQL деректерін экспорттау менің жағдайда жұмыс істеді.

Маңызды нүкте! Егер сіз Windows жүйесінде MySQL-мен жұмыс істеп жатсаңыз, файлға жолды көрсету кезінде «\» мәнін «/» деп өзгертуді ұмытпаңыз, әйтпесе қате --secure-file-privбәрібір көрсетіле береді.

MySQL дерекқорын және оның кестелерін қалай тастау керек, сонымен қатар MySQL кестелерінен әртүрлі пішімдерге деректерді шығару жолы туралы бұл мақала аяқталады. Пікірлеріңізді түсініктемелерде жазыңыз және тәжірибеде жиі қолданатын барлық сценарий опцияларымен бөлісіңіз.

Егер сізге мақала ұнаса, мақаланы қайта орналастыру арқылы авторға алғыс айта аласыз әлеуметтік желілернемесе негізгі хостинг ақысын төлей алатындай етіп төмендегі пішінді пайдаланып қаржылық.

Барлығына сәттілік және жақын арада кездескенше! 🙂

P.S.: егер сізге веб-сайт қажет болса немесе бар веб-сайтқа өзгертулер енгізу қажет болса, бірақ оған уақыт пен тілек болмаса, мен өз қызметтерімді ұсына аламын.

5 жылдан астам тәжірибе кәсіби дамусайттар. -мен жұмыс істеу PHP

Егер сіз жасаған болсаңыз сақтық көшірменемесе дерекқорды SQL файлына экспорттасаңыз, оны phpMyAdmin арқылы хостинг тіркелгісінің MySQL дерекқорларының біріне импорттай аласыз.

Ескерту. MySQL дерекқорында CREATE DATABASE жолы болмауы керек. Әйтпесе, импорт сәтсіз болуы мүмкін.

PhpMyAdmin интерфейсі бір уақытта 8 МБ деректерді импорттауға мүмкіндік береді. Үлкенірек файлды импорттау қажет болса, оны бірнеше 8 МБ бөліктерге бөліңіз.

Назар аударыңыз!Веб-сайтыңыздың үздіксіз жұмысын қамтамасыз ету үшін басқарылатын WordPress хостингіне арналған дерекқорды импорттап жатсаңыз.

SQL файлдарын phpMyAdmin көмегімен MySQL дерекқорларына импорттау

Осыдан кейін SQL файлы іске қосылады және SQL файлында таңдаған дерекқорды жаңартады. Дерекқорды қалпына келтіру бірнеше минутқа созылуы мүмкін.

Ескерту.Сценарийдің күту уақыты аяқталды деген қате туралы хабар алсаңыз, импорттауды аяқтағыңыз келсе, сол файлды қайта жіберіңіз және импорт жалғасады, сол файлды бірден таңдап, процесті қайта бастауға болады.

Қайырлы күн достар, бүгін біз қалай істеу керектігін үйренеміз. Бұл не үшін, сіз сұрақ қоя аласыз. Ең біріншіден дерекқор экспортытөтенше жағдайларда сіз үшін маңызды ақпаратты жоғалтпау үшін мерзімді түрде орындалуы керек. Экспорт дерекқор туралы барлық ақпаратты сақтайтын шағын файл болады. Үшін дерекқор экспорты PHPMyAdmin сайтына өтіп, сізді қызықтыратын дерекқорды басу керек. Осыдан кейін сіз ондағы барлық кестелерді көресіз және оларға кірмей, экспорт деп аталатын мәзір түймесін басыңыз. Сіздің алдыңызда келесі бет пайда болады:


Мен таңдауға кеңес беремін жылдам жолэкспорттау, сондай-ақ форматта көрсету SQL. Осыдан кейін OK түймесін басуға болады. Сіз файлды сақтауды сұрайтын терезені көресіз.


Сіз файлды өзіңізге қажетті жерде сақтайсыз, бастысы оны қайда сақтағаныңызды есте сақтаңыз, өйткені бұл біз үшін өте маңызды.
Қатысты дәстүрлі жолэкспорт. Қажет болса, қолдануға болады, көп қосымша параметрлер, оны экспорттау кезінде көрсетуге болады. Мысалы, дерекқордан қажетті кестелерді таңдаңыз, кодтауды көрсетіңіз және т.б. Бұл параметр сізді қызықтырса, оны көре аласыз. Бірақ біз бұл параметрді зерттемейміз.
Файлды компьютерге сақтағаннан кейін мен сізден дерекқорды жоюды сұраймын. Мұны қалай істеуге болады, мен сізге түсіндірмеймін, өйткені біз мұны бастан өткердік. Жоюдан қорықпаңыз, біз сізбен бірге бәрін өз орнына қайтарамыз.
Бос емес болатын кез келді дерекқор импорты. Импорттау мәзіріне өтіңіз.


Біз сіздің компьютеріңіздің шолуын таңдаймыз және файлымызға жолды көрсетеміз. Және OK түймесін басыңыз. Көріп отырғаныңыздай, сізде қате бар. Қорықпаңыз, мәселе мынада, біз дерекқордың өзін емес, тек оның барлық кестелерін импорттадық. Сондықтан алдымен дерекқорды жасаңыз, оған кіріп, жоғарыда айтылғандардың барлығын орындап, импорттау түймесін басыңыз. «ОК» түймесін басу арқылы сіз сәттілікке жетесіз және егер сіз бәрін дұрыс орындасаңыз, қателер пайда болмауы керек.


Көріп отырғаныңыздай, біздің кесте өз орнында қайта пайда болды және ондағы барлық деректер сақталды. Қандай тамаша мүмкіндік екенін енді түсінесіз PHPMyAdmin ішіндегі дерекқорды экспорттау және импорттау. Ақыр соңында, егер сіз бір күнде барлық жылдардағы барлық жетістіктеріңізді жоғалтсаңыз, рахмет берілген файлСіз бәрін қайтара аласыз. Осымен мен сенімен жақын арада қоштасамын.

Веб-сайтты алғаш рет жасай бастағанда, оны әдетте жергілікті серверде жасайсыз. Ол дайын болғанда, оны қашықтағы серверге жылжыту қажет болады. Файлдарды көшіру оңай, міне, осылай импорттық дерекқорқашықтағы серверге? Дәл осы туралы phpmyadmin-де дерекқорды қалай импорттауға боладыМен сізге осы мақалада түсіндіремін.

Көптеген жолдар бар дерекқор импорты, дегенмен, мен сізге ең қарапайым, менің ойымша, мен өзім қолданатынын айтып беремін.

1-қадам

Ең алдымен сізге қажет экспорттық дерекқорағымдағы орыннан (атап айтқанда, жергілікті сервер). Біздің мақсатымыз - алу SQL сұрауыбіздің дерекқорымыз. Ол үшін келесі әрекеттерді орындаңыз:

2-қадам

Екінші және соңғы қадам - ​​орындау SQL сұрауысіз көшірген PHPMyAdmin, ол сізге қажет серверде орналасқан импорттық дерекқор. Ол үшін мына қадамдарды орындаңыз:

Нәтижесінде, барлық жазбалары бар барлық кестелер жаңа серверде жасалады.

Көріп отырғаныңыздай, процесс PHPMyAdmin ішіндегі дерекқорды экспорттау және импорттауминимумға дейін жеңілдетілген, сондықтан мұнымен ешқандай проблемалар болмайды.

Соңында мен сізге тағы бір кеңес бергім келеді. Өйткені, сізге қажет болған жағдай жиі кездеседі толық дерекқорды емес импорттау, және, мысалы, тек бір кесте. Сонда принцип мүлдем бірдей, тек экспорттау кезінде тек дерекқорды ғана емес, сонымен қатар экспортқа арналған кестені де таңдау керек. Содан кейін қайтадан жоғарғы мәзірде « Экспорттау". Сонда бәрі бұрынғыдай дерекқор импорты.

сияқты маңызды тақырыптарды қамтиды дерекқор экспортыЖәне дерекқор импорты MySQL. Сіз сұрайсыз, неге дерекқорларды экспорттайсыз? Бұл әдетте белгілі бір себептермен жасалады Резервтік көшірмемәліметтер базасы, олар айтқандай, «өрт» жағдайында әрқашан қол астында болуы үшін. Ақыр соңында, деректердің жоғалуына әкелуі мүмкін хостингтің сәтсіздігі сияқты форс-мажорлық жағдайлардан ешкім де иммунитетке ие емес. Тағы бір мысал сіздің сайтыңызға зиян келтіргісі келетін хакерлердің шабуылы болуы мүмкін. Негізі мұндай мысалдарды көп келтіруге болады.

Деректер базасын импорттау дерекқорды ағымдағы хостингке «жүктеп салу» қажет болғанда немесе басқа хостингке ауысқанда қолданылады. Мұны тәжірибеде веб-шеберлер де жиі жасайды.

Өздері дерекқор экспортыЖәне дерекқор импорты- жеңіл тапсырмалар. Өмір бойы оларды жүзеге асыру алгоритмін есте сақтау үшін бұл әрекеттерді бір рет жасаған жөн. Мұның бәрі мысалдар арқылы қалай жасалғанын қарастырайық.

Дерекқорды экспорттау үшін хостингтің басқару тақтасына өтіп, содан кейін деректер базасы бар бөлімге - MySQL дерекқорларына өту керек.

Экспорттағыңыз келетін дерекқорды таңдаңыз (phpMyAdmin сайтына өтіңіз). Бұл мысалда дерекқор "cl209038" деп аталады.

1) Бірінші жағдайда - «Жылдам» таңдаңыз, SQL пішімін қалдырыңыз және «ОК» түймесін басыңыз. Нәтижесінде деректер қорының көшірмесі біздің компьютерге жүктеледі.

2) Екінші жағдайда «Қалыпты» таңдаңыз. Дерекқорды экспорттау параметрлері бар бет пайда болады. Төменде көрсетілгендей барлық кестелерді таңдаңыз, кодтау мен қысу деңгейін таңдаңыз. Қалғандары, әдетте, өзгерту қажет емес. Біз «OK» түймесін басамыз және деректер базасы біздің компьютерге экспортталады.

Көріп отырғаныңыздай, бәрі осы дерекқор экспорты MySQL – қарапайым тапсырма.

Дерекқорды импорттау үшін сізге хостингтің басқару тақтасына өту керек, MySQL дерекқорлары бар бөлімге өту керек. Мұнда екі опция бар - жаңа дерекқор жасау керек немесе бар дерекқорға экспорттау керек.

Мәліметтер базасын жасау қажет болады, мысалы, егер біз сайтты басқа хостингке ауыстырсақ. Егер бізде бірдей хостинг болса және дерекқор бұрыннан жасалған болса, сіз жай ғана осы дерекқорды таңдап, оған деректерді «қайта жүктей аласыз». Сіз, әрине, оны жоя аласыз, содан кейін жаңасын (бос) жасап, оған жүктей аласыз.

1) База қазірдің өзінде бар. Дерекқордың көшірмесін импорттау үшін дерекқорды таңдаймыз. Дерекқорға импорттау мәзірі пайда болады.

Импортталатын дерекқордың көшірме файлын таңдаңыз. Қажет болса, деректер қорының кодтауын және пішімін өзгертуге болады. Әрі қарай, «OK» түймесін басыңыз. Импорттаудан кейін жүйе бізге бәрі жақсы болғаны немесе процесте қателер болғаны туралы хабарлайды. Қателер орын алса, хостингтегі дерекқорды жоюға, содан кейін бос дерекқорды жасауға және дерекқорды қайтадан импорттауға болады.

2) құру жаңа базадеректер. Біз хостинг әкімші панеліне барамыз, MySQL дерекқорлары бар бөлімді таңдаңыз. Біз MySQL дерекқорды басқаруға кірісеміз.

Қажетті дерекқор атауын және оған құпия сөзді көрсетіңіз. «Жасау» түймесін басыңыз. Нәтижесінде жаңа (бос) деректер базасы жасалуы керек - оған біздің дерекқордың бұрын сақталған көшірмесін импорттау қажет болады.

MySQL дерекқорларын экспорттау және импорттау туралы айтқым келгені осы. Егер сізде осы сұрақтарға қатысты қиындықтар туындаса - осы сабаққа түсініктеме жазыңыз.

Мақала ұнады ма? Достарыңызбен бөлісіңіз!
Бұл мақала пайдалы болды ма?
Иә
Жоқ
Пікіріңізге рахмет!
Бірдеңе дұрыс болмады және сіздің дауысыңыз есептелмеді.
рахмет. Сіздің хабарламаңыз жіберілді
Мәтіннен қате таптыңыз ба?
Оны таңдаңыз, басыңыз Ctrl+Enterжәне біз оны түзетеміз!