Форум программистов «Весельчак У»
  *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

  • Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
  • У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
   Начало  
Наши сайты
Помощь Поиск Календарь Почта Войти Регистрация  
 
Страниц: 1 2 [3] 4 5 6 7   Вниз
  Печать  
Автор Тема: Всякие вопросы по MySQL 5.0+  (Прочитано 133200 раз)
0 Пользователей и 15 Гостей смотрят эту тему.
RXL
Технический
Администратор

Offline Offline
Пол: Мужской

WWW
« Ответ #60 : 12-10-2009 11:27 » 

Леш, я тебе аффторитетно говорю: разбрасываешься. Задача административная - никакого программирования даже рядом быть не может. И ошибка 136 - это не "запускается" - это сбоит. Команды консольные - в консоли их запускать надо. Там же надо решать вопросы. Одна ошибка в сравнении со сотней строк вывода - что информативнее?

Я тебе могу помочь только если ты будешь делать по моим инструкциям по шагам - иначе я не пойму, что ты делаешь и какой результат.

1. Открывай консоль.
echo %PATH%
Там есть путь к утилитам MySQL? (C:\Program Files\MySQL\MySQL Server 5.0\bin\)
Записан

... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
Алексей++
глобальный и пушистый
Глобальный модератор

ru
Offline Offline
Сообщений: 13


« Ответ #61 : 12-10-2009 11:55 » 

дык я ж не против помощи. Это я так временно решил проблему - не зацикливаться же .

А так, вот результат , строчка есть

Цитата
C:\Documents and Settings\11111>echo %path%
C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\Program Files\Intel\DMIX;C:\Program Files\Microsoft SQLServer\90\Tools\binn\;C:\Program Files\MySQL\MySQL Server 5.0\bin;C:\Program Files\Microsoft Visual Studio\Common\Tools\WinNT;C:\Program Files\Microsoft Visual Studio\Common\MSDev98\Bin;C:\Program Files\Microsoft Visual Studio\Common\Tools;C:\Program Files\Microsoft Visual Studio\VC98\bin

(щас домой надо уже уходить, завтра продолжим...)
Записан

RXL
Технический
Администратор

Offline Offline
Пол: Мужской

WWW
« Ответ #62 : 12-10-2009 12:28 » 

в аскесе, помнится, можно было вытащить значение счётчика , которое только что получилось при записи в базу (в текущей транзакции)
Код:
select @@identity

как в MySQL с тем же самым поступить ?

Код:
SELECT LAST_INSERT_ID();



На завтра тогда Улыбаюсь

2. Посмотри файлы, существуют ли такие:

%SystemRoot%\my.ini
%SystemRoot%\my.cnf
%SystemDrive%\my.ini
%SystemDrive%\my.cnf

Если есть, то вероятно они и гадят. Перемести их в безопасное место. Проверь коннект к базе посредством утилиты mysql.

Код:
C:\Documents and Settings\11111>mysqldump -r "C:\1" mybase
mysqldump: Character set 'cp1251' is not a compiled character set and is not specified in the 'C:\mysql\\share\charsets\Index.xml' file

Согласись, что "C:\mysql\\share\charsets\" не вяжется с ""C:\Program Files\MySQL\MySQL Server 5.0\share\charsets\".
Записан

... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
Алексей++
глобальный и пушистый
Глобальный модератор

ru
Offline Offline
Сообщений: 13


« Ответ #63 : 13-10-2009 07:17 » 

%SystemRoot%\my.ini
%SystemRoot%\my.cnf
%SystemDrive%\my.ini
%SystemDrive%\my.cnf

- нет таких файлов
Записан

RXL
Технический
Администратор

Offline Offline
Пол: Мужской

WWW
« Ответ #64 : 13-10-2009 08:29 » 

Хорошо.
Такой тест:

> mysql --no-defaults -u login -p mybase

и

> mysql --no-defaults --help

Результат первой команды и вывод второй, начиная со строки "Default options are read from the following files in the given order:" (т.е. после вывода хелпа), в студию!

И еще вопрос: MySQL устанавливалось из готовой сборки с инсталятором, взятой с офф.сайта, или это продукт самосборки или какой еще эксперимент?
« Последнее редактирование: 13-10-2009 08:30 от RXL » Записан

... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
Алексей++
глобальный и пушистый
Глобальный модератор

ru
Offline Offline
Сообщений: 13


« Ответ #65 : 13-10-2009 09:13 » 

Код:
C:\Documents and Settings\11111>mysql --no-defaults -u login -p mybase
Enter password: ********
ERROR 1045 (28000): Access denied for user 'login'@'localhost' (using password:YES)

Код:
Default options are read from the following files in the given order:
C:\my.ini C:\my.cnf C:\WINDOWS\my.ini C:\WINDOWS\my.cnf C:\Program Files\MySQL\M
ySQL Server 5.0\my.ini C:\Program Files\MySQL\MySQL Server 5.0\my.cnf
The following groups are read: mysql client
The following options may be given as the first argument:
--print-defaults        Print the program argument list and exit
--no-defaults           Don't read default options from any options file
--defaults-file=#       Only read default options from the given file #
--defaults-extra-file=# Read this file after the global files are read

Variables (--variable-name=value)
and boolean options {FALSE|TRUE}  Value (after reading options)
--------------------------------- -----------------------------
auto-rehash                       TRUE
character-sets-dir                (No default value)
default-character-set             latin1
compress                          FALSE
database                          (No default value)
delimiter                         ;
vertical                          FALSE
force                             FALSE
named-commands                    FALSE
local-infile                      FALSE
no-beep                           FALSE
host                              (No default value)
html                              FALSE
xml                               FALSE
line-numbers                      TRUE
unbuffered                        FALSE
column-names                      TRUE
sigint-ignore                     FALSE
port                              3306
prompt                            mysql>
quick                             FALSE
raw                               FALSE
reconnect                         TRUE
shared-memory-base-name           (No default value)
socket                            (No default value)
ssl                               FALSE
ssl-key                           (No default value)
ssl-cert                          (No default value)
ssl-ca                            (No default value)
ssl-capath                        (No default value)
ssl-cipher                        (No default value)
table                             FALSE
debug-info                        FALSE
user                              (No default value)
safe-updates                      FALSE
i-am-a-dummy                      FALSE
connect_timeout                   0
max_allowed_packet                16777216
net_buffer_length                 16384
select_limit                      1000
max_join_size                     1000000
secure-auth                       FALSE
show-warnings                     FALSE


опачки, вижу что то - default-character-set             latin1 , хотя я указывал в визарде cp1251 !!!
Кстати, там , в визарде, в списке кодировок рядом два 1251 стоят, щас второй попробую.

Инсталяха - качал с сайта, полностью сама всё ставит, ничего сам не делал
Записан

Алексей++
глобальный и пушистый
Глобальный модератор

ru
Offline Offline
Сообщений: 13


« Ответ #66 : 13-10-2009 09:15 » 

хех, всё равно упрямо остаётся latin1
Записан

Алексей++
глобальный и пушистый
Глобальный модератор

ru
Offline Offline
Сообщений: 13


« Ответ #67 : 13-10-2009 11:29 » 

попутно вопрос по SELECT LAST_INSERT_ID();

например, во встроенной процедуре имеются строки

Код:
...
begin
   insert ...;
   insert ...;
   SELECT LAST_INSERT_ID();
end

транзакция явно не задана, считается ли всё тело функции одним "оператором" , или надо обязательно

Код:
...
begin
   start transaction;

   insert ...;
   insert ...;
   SELECT LAST_INSERT_ID();

   commit;
end

?
Записан

Finch
Спокойный
Администратор

il
Offline Offline
Пол: Мужской
Пролетал мимо


« Ответ #68 : 13-10-2009 12:10 » 

Если ты явно не открываеш транзакцию, то база данных открывает транзакцию по умолчанию. На каждую операцию с базой данных. Т.е. каждый твой insert будет равносилен start transaction; insert .... ; commit; На всю хранимую процедуру транзакция по умолчанию не открывается.
« Последнее редактирование: 13-10-2009 12:12 от Finch » Записан

Не будите спашяго дракона.
             Джаффар (Коша)
RXL
Технический
Администратор

Offline Offline
Пол: Мужской

WWW
« Ответ #69 : 13-10-2009 13:13 » 

Леш, спокойно. "no-defaults" означает "не читать конфиг". Т.е. хардкодед параметры. Если этот параметр убрать, то покажет то, что прочитано в конфиге.
Записан

... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
Алексей++
глобальный и пушистый
Глобальный модератор

ru
Offline Offline
Сообщений: 13


« Ответ #70 : 14-10-2009 04:09 » 

Ром, ну так что дальше делать ? Улыбаюсь


Финч, спасибо, теперь понял. Только тут же меня компилятор MySQL мордой в салат:

Код:
create function f_savetomainlog()
returns bigint
begin
declare retval bigint default NULL;
start transaction;

insert into ...(...)values(...);


set retval=last_insert_id();

commit;

return retval;
end

>>Explicit or implicit commit is not allowed in stored function or trigger.

 - то есть в моём случае только процедура подойдёт ? (там так получается сделать)
Код:
create procedure p_savetomainlog()
begin
start transaction;
insert into ...(...)values(...);
select last_insert_id();
commit;
end
?

Записан

RXL
Технический
Администратор

Offline Offline
Пол: Мужской

WWW
« Ответ #71 : 14-10-2009 06:02 » 

Леш, не припомню нормально СУБД, в которой разрешалось бы в функции или триггере управлять транзакциями. И то и другое вызывается в рамках одной транзакции и управлять ей должен инициирующий процесс, а не триггер или, упаси бог, функция, которая может быть вызвана неоднократно на каждую обрабатываемую строку запроса.

Для функции рекомендую указывать [NOT] DETERMINISTIC.

Что дальше? Надо придти в себя после вчерашнего и вспомнить Улыбаюсь
Записан

... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
RXL
Технический
Администратор

Offline Offline
Пол: Мужской

WWW
« Ответ #72 : 14-10-2009 06:04 » 

Если ты явно не открываеш транзакцию, то база данных открывает транзакцию по умолчанию. На каждую операцию с базой данных. Т.е. каждый твой insert будет равносилен start transaction; insert .... ; commit; На всю хранимую процедуру транзакция по умолчанию не открывается.

Только для транзакционных движков. Для MyISAM разницы нет, как нет и транзакций.
Записан

... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
RXL
Технический
Администратор

Offline Offline
Пол: Мужской

WWW
« Ответ #73 : 14-10-2009 06:14 » 

Код:
C:\Documents and Settings\11111>mysql --no-defaults -u login -p mybase
Enter password: ********
ERROR 1045 (28000): Access denied for user 'login'@'localhost' (using password:YES)

Надеюсь, "login" в базе есть...
Попробуй добавить -h localhost.

Попробуй подправить конфиг:
Код:
[client]
port=3306
default-character-set=cp1251
character-sets-dir="c:/programm files/mysql server 5.0/share/charsets/"

У меня стойкое ощущение, что что-то ты там накрутил этакого...
Записан

... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
Алексей++
глобальный и пушистый
Глобальный модератор

ru
Offline Offline
Сообщений: 13


« Ответ #74 : 14-10-2009 06:50 » 

хм, эт я невнимательно, получается:
Код:
C:\Documents and Settings\11111>mysql --no-defaults -u ЛОГИН -p БАЗА
Enter password: ********
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 29 to server version: 5.0.11-beta-nt

Type 'help;' or '\h' for help. Type '\c' to clear the buffer.

mysql>
Записан

RXL
Технический
Администратор

Offline Offline
Пол: Мужской

WWW
« Ответ #75 : 14-10-2009 06:58 » 

А теперь проделай тоже самое, но без --no-default
Записан

... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
Алексей++
глобальный и пушистый
Глобальный модератор

ru
Offline Offline
Сообщений: 13


« Ответ #76 : 14-10-2009 06:59 » 

да, прописал путь - проканало.


до:
Код:
C:\Documents and Settings\11111>mysqldump
mysqldump: Character set 'cp1251' is not a compiled ............


добавил:
character-sets-dir="C:/Program Files/MySQL/MySQL Server 5.0/share/charsets"

стало:
Код:
C:\Documents and Settings\11111>mysqldump
Usage: mysqldump [OPTIONS] database [tables]
OR     mysqldump [OPTIONS] --databases [OPTIONS] DB1 [DB2 DB3...]
OR     mysqldump [OPTIONS] --all-databases [OPTIONS]
For more options, use mysqldump --help
Записан

Алексей++
глобальный и пушистый
Глобальный модератор

ru
Offline Offline
Сообщений: 13


« Ответ #77 : 14-10-2009 07:01 » 

Цитата
А теперь проделай тоже самое, но без --no-default

Код:
Enter password: ********
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 2 to server version: 5.0.11-beta-nt

Type 'help;' or '\h' for help. Type '\c' to clear the buffer.
Записан

RXL
Технический
Администратор

Offline Offline
Пол: Мужской

WWW
« Ответ #78 : 14-10-2009 07:02 » 

Значит все путем? Улыбаюсь

Изучай:
> mysqldump --help

Из полезных опций - --all Улыбаюсь

Также обрати внимание, что триггеры и процедуры не сбрасываются по умолчанию - для этого надо соотв. ключик указать.
Записан

... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
Алексей++
глобальный и пушистый
Глобальный модератор

ru
Offline Offline
Сообщений: 13


« Ответ #79 : 14-10-2009 07:07 » 

ну, на этом этапе ок ) Непонятно осталось:

1) я ini не правил до этого - почему не прописалось, не знаю

2) файл бекапа же пустой создаётся ))

ну а триггеры и процедуры мне не надо сбрасывать - я их при старте программы проверяю и добавляю, если надо
Записан

Алексей++
глобальный и пушистый
Глобальный модератор

ru
Offline Offline
Сообщений: 13


« Ответ #80 : 14-10-2009 07:11 » 

ага, из консоли файл сделался нормально. Щас из программы попытаем )
Записан

RXL
Технический
Администратор

Offline Offline
Пол: Мужской

WWW
« Ответ #81 : 14-10-2009 07:12 » 

mysqldump -u ЛОГИН -p --all mybase >dump.sql
Записан

... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
Алексей++
глобальный и пушистый
Глобальный модератор

ru
Offline Offline
Сообщений: 13


« Ответ #82 : 14-10-2009 07:49 » 

да, теперь всё пучком, спасибо Улыбаюсь

но, однако, GetLastError()==126 всё равно остаётся, при чём хоть что запускаю - при этом запускается нормально. Это уже, видать, глюк винды у меня какой то
Записан

Алексей++
глобальный и пушистый
Глобальный модератор

ru
Offline Offline
Сообщений: 13


« Ответ #83 : 14-10-2009 09:37 » 

теперь, как делать восстановление - у mysqldump не могу найти нужного ключа

нашёл только RESTORE TABLE , где нужно через запятую перечислить таблицы для восстановления. Перечислить не проблема, но ведь, если базы нет вообще, а восстановить надо - откуда я их перечислю то ? Улыбаюсь


--------

нашёл только, как из самой оболочки mysql сделать -
mysql> \. файл

а как программно -
« Последнее редактирование: 14-10-2009 10:15 от Алексей1153++ » Записан

Алексей++
глобальный и пушистый
Глобальный модератор

ru
Offline Offline
Сообщений: 13


« Ответ #84 : 14-10-2009 11:33 » 

фух, нашёл
Код:
mysql < ПОЛНЫЙ\ПУТЬ\backup.sql -u ЮЗЕР --password= ПАРОЛЬ  БАЗА

оказывается, просто "-p" не прокатывает, надо именно "--password"
Записан

RXL
Технический
Администратор

Offline Offline
Пол: Мужской

WWW
« Ответ #85 : 14-10-2009 11:35 » 

Ошибка 126 (ENOKEY): Required key not available.

-p вызывает ввод пароли с терминала, а --password=... - сразу из параметров берет.
Записан

... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
Алексей++
глобальный и пушистый
Глобальный модератор

ru
Offline Offline
Сообщений: 13


« Ответ #86 : 14-10-2009 11:37 » 

а у меня errlook.exe пишет:

Не найден указанный модуль.
Улыбаюсь
Записан

RXL
Технический
Администратор

Offline Offline
Пол: Мужской

WWW
« Ответ #87 : 14-10-2009 13:57 » 

Наверно так - ты ж в винде ее запускаешь.
Записан

... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
Алексей++
глобальный и пушистый
Глобальный модератор

ru
Offline Offline
Сообщений: 13


« Ответ #88 : 15-10-2009 04:10 » 

вопрос:
во время восстановления, нужно ли отключаться от базы, если в программе есть в данный момент подключение ?
Записан

Алексей++
глобальный и пушистый
Глобальный модератор

ru
Offline Offline
Сообщений: 13


« Ответ #89 : 15-10-2009 04:31 » 

блин, опять галиматья


mysql < ПОЛНЫЙ\ПУТЬ\backup.sql -u ЮЗЕР --password= ПАРОЛЬ  БАЗА

как это запустить программно то, я так понимяу, что "<" не есть параметр, а оператор. Как этот оператор через параметры ShellExecute задать ?
Записан

Страниц: 1 2 [3] 4 5 6 7   Вверх
  Печать  
 

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines