|
 49.6 Кб |
|
| Уважаемые знатоки. Есть такая проблема, не знаю относится это к MySQL или к ОС. Суть в следующем: есть рабочая база созданная на версии 5.0.4. Решили перенести её на отдельную выделенную машину (WinXP SP2), установили сервер 5.0.67, прописали пользователя для работы с базой и... см. вложение. (синий фон - root, зелёный - fd)
Ошибок в написании нет!
Что может быть? Установка на другую машину (WinXP SP3) server MySQL 5.0.67 всё работает нормально, а на выделенном (WinXP SP2) не работает. | |
|
|
|
|
|
|
|
для: Bombino
(16.06.2009 в 06:19)
| | вероятно оттого что кавычками имена таб и полей надо бы окружить? | |
|
|
|
|
|
|
|
для: nek-v
(16.06.2009 в 09:12)
| | Пробовал и кавычки и апострофы. Не работает! Правда ошибка другая - неверный синтаксис.
mysql> select * from "wbo_users";
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version
for the right syntax to use near '"wbo_users"' at line 1
mysql>
mysql> select * from wbo_users;
ERROR 1146 (42S02): Table 'f*******a.wbo_users' doesn't exist
mysql>
|
на WinXP SP3
mysql> select * from wbo_users;
+-----------+-----------+------------+------
| ID | USER_NAME | USER_PASS | ID_PE
+-----------+-----------+------------+------
| 210000001 | admin | ********** | 21000
+-----------+-----------+------------+------
1 row in set (0.13 sec)
mysql>
|
| |
|
|
|
|
|
|
|
для: Bombino
(16.06.2009 в 09:29)
| | Имена полей и таблиц заключаются в `обратные косые кавычки`
Иначе действительно будет ошибка синтаксиса.
Но у Вас проблема не в них, а в том, вероятно, что некоторые символы в имени не латинские.
по JPG этого не разобрать. Лучше бы Вы скопировали отчет текстом. | |
|
|
|
|
|
|
|
для: Trianon
(16.06.2009 в 10:54)
| | 1. Следует учесть, что диалог ведётся из КОМАНДНОЙ СТРОКИ. Попытка ввести кавычки и апострофы - вызывают синтаксическую ошибку. Обратные косые кавычки - ОШИБКА "таблица не найдена"
2. Я уже писал, что ни в базе ни в написании команд в КОМАНДНОЙ СТРОКЕ ошибок нет (см. ответ сервера на WinXP SP3.
Самое что не понятно, одна и та-же база на одном компьютере работает, а на другом нет. MySQL выдает список баз и список таблиц в базах, а содержимое таблиц - нет. | |
|
|
|
|
|
|
|
для: Bombino
(16.06.2009 в 11:05)
| | запрос show tables на проблемной машине что показывает?
Только покажите отчет в виде текста, скопировав его сюда, а не в виде картинки.
А апострофы и кавычки там применяться не должны. Здесь Вам всё верно сообщают. | |
|
|
|
|
|
|
|
для: Trianon
(16.06.2009 в 11:31)
| | Вход от клиента базы fd.
mysql> use f*******a;
Database changed
mysql> show tables;
+------------------------------+
| Tables_in_f*******a |
+------------------------------+
| acc_plan |
| agent |
| an_type |
| aphorism |
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
| wbo_roles_script |
| wbo_ur |
| wbo_users |
| wbo_usersettings |
| wbt_absent |
| wbt_io |
| zakaz |
| zakaz_ex |
| zakaz_op |
+------------------------------+
116 rows in set (0.23 sec)
mysql>
|
кстати при входе от root - результат тот-же. | |
|
|
|
|
|
|
|
для: Bombino
(16.06.2009 в 11:45)
| | Могу лишь предположить, что проблемная машина - линуксовая, и прренос БД выполнялся не через дамп, а прямым копированием каталогов.
В этой ситуации возможен вариант, что в именах таблиц отличается регистр букв, к которому файловая система *nix чувствительна, а winXP - нет..
Либо как вариант, на самих файлах не были корректно расставлены атрибуты владельца/прав доступа. | |
|
|
|
|
|
|
|
для: Trianon
(16.06.2009 в 12:00)
| | Все машины WinXP, только выделенная SP2 а остальные SP3. Есть у нас SQL-скрипт пустой базы. Вот с ней и работаем (пока, чтобы рабочие данные не потерять).
Так вот, Эта пустая база на SP3 - работает на ура, а на SP2 - ни в какую. Может какой софт мешает?
На SP2 стоят 1С 7.7 и 1С8.1. Кроме всего прочего SP2 работает как терминальный сервер. | |
|
|
|
|
|
|
|
для: Bombino
(16.06.2009 в 12:14)
| | наврядли...
Скорее всё ж таки файлы с даными и права доступа к ним.
А база InnoDB изи MyISAM?
При создании новой базы и таблиц в ней картина та же? | |
|
|
|
|
|
|
|
для: Trianon
(16.06.2009 в 12:18)
| | >А база InnoDB изи MyISAM?
А как это можно проверить? | |
|
|
|
|
|
|
|
для: Bombino
(17.06.2009 в 03:36)
| | запросом show create table ИмяТаблицы
ну и в настройках конфига mysql поглядеть умалчиваемое значение. | |
|
|
|
|
|
|
|
для: Trianon
(17.06.2009 в 20:19)
| | Из запроса я понял, что это InnoDB:
Ответ от машины SP3;
mysql> show create table wbo_users;
...
| wbo_users | CREATE TABLE `wbo_users` (
`ID` int(11) NOT NULL default '0',
`USER_NAME` varchar(50) NOT NULL default '',
`USER_PASS` varchar(32) NOT NULL default '',
`ID_PERSON` int(11) NOT NULL default '0',
`disabled` tinyint(4) default '0',
`dtime` datetime NOT NULL default '0000-00-00 00:00:00',
`com_out` tinyint(4) NOT NULL default '0',
PRIMARY KEY (`ID`),
KEY `X_PERS_WBO_USERS` (`ID_PERSON`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 |
|
тем более, что он хранится на другом разделе диска.
А на выделенной машине (SP2):
mysql> use f*******a;
Database changed
mysql> show create table wbo_users;
ERROR 1146 (42S02): Table 'f*******a.wbo_users' doesn't exist
mysql>
|
т.е. наотрез отказывается работать с таблицами.
PS: Переустановка MySQL с полной деинсталляцией и чисткой реестра на наличие записей MySQL не помогает, пробовал уже 3 раза. Так-же пробовал устанавливать MySQL в другую папку (не по умолчанию). Результат тот-же. | |
|
|
|
|
|
|
|
для: Bombino
(18.06.2009 в 04:11)
| | Так а как Вы вообще после переустановки сервера на машине SP2 переносите на нее базу?
Простым пофайловым копированием с другой машины чтоли?
Так базы не переносятся. InnoDB во всяком случае так работать не будет всяко. | |
|
|
|
|
|
|
|
для: Trianon
(18.06.2009 в 08:41)
| | Тогда встречный вопрос: как перенести базу с одной машины на другую.
Я раньше вообще с MySQL-ем не работал, не было такого ПО, а сейчас потребность возникла, поэтому приходится обучаться по ходу. Да ещё чтобы рабочий процесс не нарушить, поэтому и работаю с копией. | |
|
|
|
|
|
|
|
для: Bombino
(18.06.2009 в 10:33)
| | нужно снять дамп (утилита mysqldump) с машины исходной и залить его на целевую (утилитой mysql)
http://softtime.ru/forum/srch.php?id_forum=3&name=mysqldump&numberthemes=30&srchwhere=2&id_forum=3&logic=1 | |
|
|
|
|
|
|
|
для: Trianon
(18.06.2009 в 15:27)
| | Всё, вопрос решился. Действительно всё оказалось в правах доступа. Сделал следующее:
1. Создал пустую базу из под root
2. Создал клиента для работы с базой
3. Присвоил ALL привилегии пользователю на работу с базой.
4. Из под пользователя импортировал дамп.
Всё заработало. Спасибо за помощь. | |
|
|
|