Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум MySQL

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Как перенести базу на другой ПК флешкой?
 
 автор: Яр   (17.09.2008 в 12:11)   письмо автору
 
 

у?

  Ответить  
 
 автор: Valick   (17.09.2008 в 12:23)   письмо автору
 
   для: Яр   (17.09.2008 в 12:11)
 

Точно так же как и без флешки.

  Ответить  
 
 автор: cheops   (17.09.2008 в 12:29)   письмо автору
 
   для: Яр   (17.09.2008 в 12:11)
 

Таблицы используются
1) только MyISAM,
2) или также InnoDB?

В первом случае, следует остановить оба сервера MySQL, скопировать базы данных из каталога данных mysql/data - каждый подкаталог в ней соответствуюет отдельной базе данных. Перенести каталоги на другую машину и поместить в каталог данных. Запустить оба сервера.

Во втором случае потребуется создать дамп всех баз данных и развернуть их на другой машине. Дамп удобнее создавать при помощи утилиты mysqldump, а разворачивать при помощи mysql. Это самый быстрый вариант, что важно, если таблицы имеют большой объем.

  Ответить  
 
 автор: Яр   (17.09.2008 в 12:41)   письмо автору
 
   для: cheops   (17.09.2008 в 12:29)
 

У меня все таблицы InnoDB. Могу я их поменять на MyISAM? что-то изменится?

  Ответить  
 
 автор: cheops   (17.09.2008 в 12:46)   письмо автору
 
   для: Яр   (17.09.2008 в 12:41)
 

Можно, однако, если вы используете особенности InnoDB, например, каскадное обновление или удаление - они перестанут работать.

PS А почему дамп не хотите сделать? Если синтаксис вызывает сложности - поможем.

  Ответить  
 
 автор: Яр   (17.09.2008 в 12:50)   письмо автору
 
   для: cheops   (17.09.2008 в 12:46)
 

Давайте попробуем с дампом, для начала мне нужна утилита mysqldump. Где её скачать правильную, что бы она 100% была рабочей.?

  Ответить  
 
 автор: Trianon   (17.09.2008 в 12:52)   письмо автору
 
   для: Яр   (17.09.2008 в 12:50)
 

Вообще-то она входит в комплект самого сервера mysql .

  Ответить  
 
 автор: Яр   (17.09.2008 в 12:54)   письмо автору
 
   для: Trianon   (17.09.2008 в 12:52)
 

ага, есть, вижу. Так с чего начинать?

  Ответить  
 
 автор: Яр   (17.09.2008 в 13:21)   письмо автору
 
   для: Яр   (17.09.2008 в 12:54)
 

если у меня база, например, называется "proba" то как будет правильно?
mysqldump -B PROBA >/mnt/flash/PROBA.sql
mysql </mnt/flash/PROBA.sql так?

  Ответить  
 
 автор: cheops   (17.09.2008 в 14:39)   письмо автору
 
   для: Яр   (17.09.2008 в 13:21)
 

Нужно ещё указать пользователя при помощи параметра -u,
mysqldump -u root PROBA  > /mnt/flash/PROBA.sql 
mysql -u root PROBA </mnt/flash/PROBA.sql

если пользователь имеет пароль, то следует добавить параметр -p, после чего у вас специально запросят пароль
mysqldump -u root -p PROBA  > /mnt/flash/PROBA.sql 
mysql -u root -p PROBA </mnt/flash/PROBA.sql

Базу данных PROBA лучше создать заранее, так как в дампе по умолчанию оператор создания базы данных отсутствует.

  Ответить  
 
 автор: Яр   (17.09.2008 в 23:08)   письмо автору
 
   для: cheops   (17.09.2008 в 14:39)
 

1. что тут означает mnt?
2. вместо flash я должен написать букву диска флешки (например, H:)?

  Ответить  
 
 автор: Trianon   (17.09.2008 в 23:13)   письмо автору
 
   для: Яр   (17.09.2008 в 23:08)
 

1. название каталога. Интересный вопрос. Вы же сами написали - сами и спрашиваете?
2 вместо /mnt/flash/

  Ответить  
 
 автор: Яр   (18.09.2008 в 11:11)   письмо автору
 
   для: Trianon   (17.09.2008 в 23:13)
 

не получается, ошибка синтаксиса, где-то что-то не так пишу.
mysqldump -u root -p PROBA > /h:/PROBA.sql

  Ответить  
 
 автор: Яр   (18.09.2008 в 12:40)   письмо автору
 
   для: Яр   (18.09.2008 в 11:11)
 

О! что-то получилось, создался текстовый файл. Это хорошо или плохо?

  Ответить  
 
 автор: Seregin   (18.09.2008 в 13:15)   письмо автору
 
   для: Яр   (18.09.2008 в 12:40)
 

Хорошо,он и есть дамп. Теперь Вам нужно выполнить аналогичную команду на импорт на той машине, куда Вы переносите базу. Или чтобы Вам было проще, установить какой-нибудь клиент mysql с их официального сайта, или phpmyadmin. И там, и там импорт и экспорт базы можно выполниь с помощью GUI. Либо, сделать импорт с полученного dump.sql с помощью командной строки.

  Ответить  
 
 автор: Яр   (18.09.2008 в 13:19)   письмо автору
 
   для: Seregin   (18.09.2008 в 13:15)
 

розвернул дамп на другом компе из командной строки(а перед этим создал базу PROBA). По-моему прошло все нормальоно, ошибок не выдало, но результата нет - в базе ничего не создалось.

  Ответить  
 
 автор: Seregin   (18.09.2008 в 13:22)   письмо автору
 
   для: Яр   (18.09.2008 в 13:19)
 

Значит , не прошло)
Вы так вот делали импорт?
http://dev.mysql.com/doc/refman/5.0/en/mysqlimport.html

  Ответить  
 
 автор: Яр   (18.09.2008 в 13:32)   письмо автору
 
   для: Seregin   (18.09.2008 в 13:22)
 

mysqlimport -h localhost -u root -p PROBA <a:\proba.sql ? так?

  Ответить  
 
 автор: Seregin   (18.09.2008 в 13:41)   письмо автору
 
   для: Яр   (18.09.2008 в 13:32)
 

Там, куда переносите стоит Windows?
попробуйте удалить пробел в этом месте:
-pPROBA

  Ответить  
 
 автор: Яр   (18.09.2008 в 13:50)   письмо автору
 
   для: Seregin   (18.09.2008 в 13:41)
 

да, там ХР. Пробел не помог.

  Ответить  
 
 автор: Яр   (18.09.2008 в 13:51)   письмо автору
 
   для: Яр   (18.09.2008 в 13:50)
 

может я дамп создал не правильно
вот моя строка:
mysqldump -h localhost -u root -p Proba >a:\proba.sql - создание дампа
mysqldump -h localhost -u root -p Proba <a:\proba.sql - открытие дампа

  Ответить  
 
 автор: Яр   (18.09.2008 в 13:56)   письмо автору
 
   для: Яр   (18.09.2008 в 13:51)
 

а это результат дампа в файле
-- MySQL dump 10.11
--
-- Host: localhost Database: proba
-- ------------------------------------------------------
-- Server version 5.0.41-community-nt

/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
/*!40101 SET NAMES utf8 */;
/*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */;
/*!40103 SET TIME_ZONE='+00:00' */;
/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */;
/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */;

--
-- Table structure for table `t1`
--

DROP TABLE IF EXISTS `t1`;
CREATE TABLE `t1` (
`p1` int(10) unsigned NOT NULL auto_increment,
`p2` varchar(45) NOT NULL,
`p3` varchar(45) NOT NULL,
PRIMARY KEY (`p1`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

--
-- Dumping data for table `t1`
--

LOCK TABLES `t1` WRITE;
/*!40000 ALTER TABLE `t1` DISABLE KEYS */;
INSERT INTO `t1` VALUES (1,'la-la-la','hhg-asd'),(2,'la-la-la','hhg-asd'),(3,'la-la-la','hhg-asd');
/*!40000 ALTER TABLE `t1` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `t2`
--

DROP TABLE IF EXISTS `t2`;
CREATE TABLE `t2` (
`p4` int(10) unsigned NOT NULL auto_increment,
`p5` varchar(45) NOT NULL,
`p6` varchar(45) NOT NULL,
PRIMARY KEY (`p4`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

--
-- Dumping data for table `t2`
--

LOCK TABLES `t2` WRITE;
/*!40000 ALTER TABLE `t2` DISABLE KEYS */;
INSERT INTO `t2` VALUES (1,'aaaaa','bbbb'),(2,'aaaaa2','bbbb2'),(3,'aaaaa3','bbbb3');
/*!40000 ALTER TABLE `t2` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `t3`
--

DROP TABLE IF EXISTS `t3`;
CREATE TABLE `t3` (
`p7` int(10) unsigned NOT NULL auto_increment,
`p8` varchar(45) NOT NULL,
`p9` varchar(45) NOT NULL,
PRIMARY KEY (`p7`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

--
-- Dumping data for table `t3`
--

LOCK TABLES `t3` WRITE;
/*!40000 ALTER TABLE `t3` DISABLE KEYS */;
INSERT INTO `t3` VALUES (1,'ttttttt','sssssss'),(2,'ttrrrr','yyyyyyyy'),(3,'iiiiiiiii','nnnnnnnnnny');
/*!40000 ALTER TABLE `t3` ENABLE KEYS */;
UNLOCK TABLES;
/*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */;

/*!40101 SET SQL_MODE=@OLD_SQL_MODE */;
/*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */;
/*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */;
/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */;

-- Dump completed on 2008-09-18 9:02:12

  Ответить  
 
 автор: Seregin   (18.09.2008 в 14:18)   письмо автору
 
   для: Яр   (18.09.2008 в 13:56)
 

mysqlimport -h localhost -u root -p Proba proba a:\proba.sql
?

  Ответить  
 
 автор: Яр   (18.09.2008 в 14:25)   письмо автору
 
   для: Seregin   (18.09.2008 в 14:18)
 

ошибка Unknown database 'Proba'

  Ответить  
 
 автор: Seregin   (18.09.2008 в 14:41)   письмо автору
 
   для: Яр   (18.09.2008 в 14:25)
 

тогда создайте сначала базу в mysql:
create database proba;
или пропишите эту строчку после
/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */;

в файл дампа.

  Ответить  
 
 автор: Яр   (18.09.2008 в 14:47)   письмо автору
 
   для: Seregin   (18.09.2008 в 14:41)
 

Создал базу, назвал Proba
выполняю mysqlimport -h localhost -u root -p Proba a:\proba.sql - ошибка:
Table 'proba.proba' doesn`t exist, when using table:proba

  Ответить  
 
 автор: Seregin   (18.09.2008 в 14:54)   письмо автору
 
   для: Яр   (18.09.2008 в 14:47)
 

-Вы пропустили имя базы в команде:
mysqlimport -h localhost -u root -p Proba proba a:\proba.sql

  Ответить  
 
 автор: Яр   (18.09.2008 в 15:27)   письмо автору
 
   для: Seregin   (18.09.2008 в 14:54)
 

что так mysql -h localhost -u root -p Proba < a:\proba.sql
что так mysql -h localhost -u root -p Proba proba < a:\proba.sql --- ошибка одна и та же:
Table 'proba.proba' doesn`t exist, when using table:proba

  Ответить  
 
 автор: ronin80   (18.09.2008 в 14:57)   письмо автору
 
   для: Яр   (18.09.2008 в 14:47)
 

утилита mysqlimport используется для загрузки данных в таблицу из текстового файла (аналог LOAD DATA)

вам надо использовать утилиту mysql, например:

mysql -h localhost -u root -p Proba < a:\proba.sql

вы должны понимать что -u root это имя пользователя (root), -p Proba это пароль (Proba)

  Ответить  
 
 автор: ESBoy   (18.09.2008 в 15:18)   письмо автору
 
   для: ronin80   (18.09.2008 в 14:57)
 

тупо скопировать с папки mysql*\data папку базы и поставить там где надо....
и никакого дампа

  Ответить  
 
 автор: Яр   (18.09.2008 в 15:26)   письмо автору
 
   для: ESBoy   (18.09.2008 в 15:18)
 

а InnoDB ?

  Ответить  
 
 автор: ronin80   (18.09.2008 в 15:28)   письмо автору
 
   для: ESBoy   (18.09.2008 в 15:18)
 

как я уже писал ранее копирование innodb базы делал путём копирования каталога data и файла конфигурации my.ini, но размер каталога с базой, учитывая файлы журналирования и записи логов составляет более 1 Гб, а размер создаваемого дампа 50 Мб

вот и думайте что лучше, не забудьте учесть политику резервирования и весь (извините за выражение) геморрой связанный с архивированием и созданием копии такого каталога

хотя иногда такие действия выполняю, но очень редко

  Ответить  
 
 автор: Яр   (18.09.2008 в 15:48)   письмо автору
 
   для: ronin80   (18.09.2008 в 15:28)
 

так что делаем роздампывание, почему же не получается........
может файл задампился не правильно?

  Ответить  
 
 автор: ronin80   (18.09.2008 в 16:00)   письмо автору
 
   для: Яр   (18.09.2008 в 15:48)
 

mysql -h localhost -u root -p Proba < a:\proba.sql

пробовали ?

  Ответить  
 
 автор: Яр   (18.09.2008 в 16:43)   письмо автору
 
   для: ronin80   (18.09.2008 в 16:00)
 

работает =) Всем спасибО!

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования