SearchEngines.bg

Това е примерно съобщение за гост. Регистрирайте безплатен акаунт днес, за да станете потребител на SearchEngines.bg! След като влезете, ще можете да участвате в този сайт, като добавите свои собствени теми и публикации, както и да се свържете с други членове чрез вашата лична входяща кутия! Благодарим ви!

Къде са sql базите?

Re: Къде са sql базите?

По принцип, зависи от дистрибуцията.
Можеш да провериш във /var/lib/mysql/

За да се получи така, трябва да са ти еднакви версиите на MySQL.

П.П.
BoByKirov е по бърз.
 
Последно редактирано:
Re: Къде са sql базите?

Най-добре е през phpmyadmin export и после качваш пак през него, тогава няма да имаш проблеми с преместването, е ще ти отнеме малко повече време, но и при различни версии пак няма да имаш проблеми.

Лично мнение.
 
Re: Къде са sql базите?

Най-добре е през phpmyadmin export и после качваш пак през него, тогава няма да имаш проблеми с преместването, е ще ти отнеме малко повече време, но и при различни версии пак няма да имаш проблеми.

Лично мнение.

:D личи си, че си местил много сървъри, не говори не приложими глупости, че на сървър с 600 акаунта и 1200 бази данни ще станеш на 18 години докато ги преместиш.
 
  • Like
Реакции: nbsp
Re: Къде са sql базите?

След като се е отворила темата да попитам и аз. Може ли база данни създадена на локално PC да се премести на VPS. Локалното е на windows, VPS на линукс. Незнам как са при линукс, но при мен за дадена база ги виждам по три файла за дадена таблица в база. Ако имам база 'abc' и таблица 'def', в data директорията на MySQL се намира друга директория за базата 'abc' и вътре в него три файла def.frm ; def.myd ; def.myi
Та, качвайки тези три файла, дали всичко ще е ОК?
Питам го защото става въпрос за база с 4GB+ данни в него.
 
Re: Къде са sql базите?

След като се е отворила темата да попитам и аз. Може ли база данни създадена на локално PC да се премести на VPS. Локалното е на windows, VPS на линукс. Незнам как са при линукс, но при мен за дадена база ги виждам по три файла за дадена таблица в база. Ако имам база 'abc' и таблица 'def', в data директорията на MySQL се намира друга директория за базата 'abc' и вътре в него три файла def.frm ; def.myd ; def.myi
Та, качвайки тези три файла, дали всичко ще е ОК?
Питам го защото става въпрос за база с 4GB+ данни в него.

Ако таблиците са myisam не би трябвало да има проблеми, понеже ползва само тия 3 файла и директорията. С уиндоус не съм пробвал, ама пак трябва да бачка.

А за InnoDB бази, незнам, понеже там трупаше данните и в други файлове.
 
Re: Къде са sql базите?

100% няма да стане само да ги копираш. ще ги виждаш базите но с данните ще е мазало. трябва да ги експортнеш и после да ги импортнеш.
 
Re: Къде са sql базите?

100% няма да стане само да ги копираш. ще ги виждаш базите но с данните ще е мазало. трябва да ги експортнеш и после да ги импортнеш.

За кое това? От линукс на линукс съм го правил и няма проблеми.
 
Re: Къде са sql базите?

за линкукс не зна, аз съм го правил на уин и базите се виждат и таблиците обаче данните са боза вътре.

тука пише че може : http://dev.mysql.com/doc/refman/4.1/en/copying-databases.html

не знам като пробва ми е интересно дали става на линкус.
 
Re: Къде са sql базите?

@bobbydigital за win става, местил съм даже от версия 4.1 към 5
 
Re: Къде са sql базите?

След като се е отворила темата да попитам и аз. Може ли база данни създадена на локално PC да се премести на VPS. Локалното е на windows, VPS на линукс. Незнам как са при линукс, но при мен за дадена база ги виждам по три файла за дадена таблица в база. Ако имам база 'abc' и таблица 'def', в data директорията на MySQL се намира друга директория за базата 'abc' и вътре в него три файла def.frm ; def.myd ; def.myi
Та, качвайки тези три файла, дали всичко ще е ОК?
Питам го защото става въпрос за база с 4GB+ данни в него.

на windows машината правиш първо flush-tables и след това спираш mysql-а. Местиш директорията на VPS-а гледай обаче да няма разлика в имената на базите на локалната машина и на VPS-а. Ако има разлика в имената можеш да използва rsync за синхронизация на съдръжанието от локалната машина към VPS-a

(реда с командата rsync няма да ти го напиша, защото последния път когато я ползвах, потребителя http://www.webmasterbg.org/member.php?u=630 трябваше да ми отдели главата от тялото - "откъсване" май беше точния термин)
 
Re: Къде са sql базите?

Ей така стана :
mysqldump -u user -p baza > baza.sql

Това е правилния начин.


Никога не копирайте файловете директно. Това е изпълнение стил ТНТМ. И я стане, я не.


Минавате чрез dump към платформено и архитектурно независим текстов формат и след това го импортвате на другата платформа. Може да отнеме повече време. Но ще работи на 100%.


И си настройвате правилно базите. До сега всички дето съм ги гледал на някакви пишман "доставчици" са били или с utf8 или със Sweden локал или и с двете. ;)
 
Re: Къде са sql базите?

Ако двата mysql сървъра са една и съща версия няма проблем да се направи с копиране директно. Спирате двата сървъра и копирате папката с файловете. Ако се копира цялата mysql директория ще се запазят и потребителите и правата им върху базите (които са записани в базата mysql).

По-правилен наистина е начина с mysqldump, но често там възникват проблеми с кодировката които при първия начин не се наблюдават. Първия начин е по-бърз и данните за трансфер са много по-малко като обем. За местене от стар към нов сървър, аз бих ползвал копиране на mysql директорията.
 
Re: Къде са sql базите?

Ако двата mysql сървъра са една и съща версия няма проблем да се направи с копиране директно.
Това не е достатъчно - има важни настройки, които трябва да съвпадат.
Освен това втория сървър не трябва да има други бази - ще стане мазало с InnoDB-тата ;)
 
Re: Къде са sql базите?

Здравейте,
най- добрият за мен вариант е да се ползва mysqldump, но с уговорката, че се пише малко скриптче което да ти разпознава енкодинга на всяка таблица и така като експортва указва с какъв енкодинг да бъде. По този начин всичко ще ти се експортне на 100% без проблеми с енкодинга.

Пише се скриптче ако трябва да експортваш ~ бази + ~ таблици. В противен случай си експортваш съответната база/таблица (ако се налага сетваш енкодинг) и си готов :).

П: mysqldump -uUSER -pPASS --default-character-set=cp1251 DB TABLE > backup.sql
 
Re: Къде са sql базите?

Здравейте,
най- добрият за мен вариант е да се ползва mysqldump, но с уговорката, че се пише малко скриптче което да ти разпознава енкодинга на всяка таблица и така като експортва указва с какъв енкодинг да бъде. По този начин всичко ще ти се експортне на 100% без проблеми с енкодинга.

Пише се скриптче ако трябва да експортваш ~ бази + ~ таблици. В противен случай си експортваш съответната база/таблица (ако се налага сетваш енкодинг) и си готов :).

П: mysqldump -uUSER -pPASS --default-character-set=cp1251 DB TABLE > backup.sql

Не е важно с какъв енкодинг са таблиците а какъв е бил CONNECTION ENCODING и съответно в него да се прави дъмпа. Т.е. ако таблиците и базите са примерно UTF8 и сайта също се отваря в браузъра с utf-8, но никой не е настройвал сървъра и се ползва по дефаулт за конекциите utf8, то трябва:

Код:
mysqldump --default-character-set=utf8 db > db.sql
replace utf8 utf8 -- db.sql

След това е добре да си сложите в php кода указание за правилния connection encoding (веднага след функцията mysql_connect):

Код:
mysql_query("set names 'utf8'");

Ако с connection encoding всичко е наред, след това независимо дали базите са utf8, cp1251, utf8 и т.н. просто се ползва mysqldump --default-character-set=utf8 тъй като utf8 поддържа и останалите видове кодировки и данните ще се дъмпнат както трябва.
 
Последно редактирано:

Горе