Все технические форумы на одном сайте Удобный поиск информации с популярных форумов в одном месте
Вопрос: Восстановить MySQL-сервер

Случайно удалили файлы ibdata из data-каталога MySQL.
Теперь сервер не стартует.
InnoDB не использовалась, все файлы были созданы как MyISAM.
Подскажите, как пересоздать эти файлы?
________________________
Мы смотрим с оптимизмом...
...в оптический прицел.
Ответ: Помогло указание innodb_force_recovery=6 и задание размеров файлов вручную.
Сдампил базу и пересоздал ее.
Вопрос: заставить mysql обновить information_schema для базы данных

Всем добрый день.

Есть файлы БД, восстановленные с мертвого диска, скорее всего неповреждённые. Пытаюсь залить их на новый сервер в папку /var/lib/mysql.
MySQL базу данных видит, show tables таблицы видит, но при попытке обратиться к таблице выдаёт ошибку "Table 'xxx.yyy' doesn't exist". Как я понимаю, это от того, что в information_schema нет данных о таблице, столбцах, и всего прочего.

Как заставить MySQL восстановить эти данные, и можно ли это сделать?
Ответ: В общем, получилось запустить MySQL со старой папкой с базами, и из под неё сделать dump. Восстановить БД из папки БД для InnoDb, похоже, невозможно.
Вопрос: Помогите разобраться с настройкой MySQL 5.1

Доброго дня всем! Помогите решить проблему - у меня есть программа, которую надо запустить, она требует работу с MySQL базой..в общем в инструкции проги написали вот что: Установить SQL.

Восстановить базу данных из папки Дамп базы данных.
По умолчанию права для администратора бызы root root.

Запустить программу ARM-editor. В ней произвести настройки подключения к базе. Настройки выходных файлов и пр.

Расположение файлов:
1. ARM-editor на любой машине в сети.
2. ARM-client на машине, где будет генерироваться файлы.
3. Папка с музыкой и SSS2AVI на машине с ARM-client.
4. Папка со слайдами для Деловой информации на машине с ARM-client.

В путях указываются локальные пути, т.к. проблемы с сетевыми путями.

Так вот, установил я MySQL. А дальше что делать не знаю...настроил вроде бы все, но как восстановить базу данных из папки Дамп базы данных я не знаю...подскажите как это сделать?
Ответ: попробовал создать новую базу...при подключении программа выдает ошибку о том, что подключение для пользователя apm_user@localhost было прервано..через команду \s проверил статус MySQL базы, оказалось, что там в current user стоит пользователь root....я так понимаю мне нужно сделать пользователя apm_user, чтобы он был в списке current user и тогда в программе я смогу зайти?
Вопрос: Как подключить базу InnoDB? - MySQL

Приветствую!

На NAS QNAP была база данных на движке InnoDB. Возникла потребность установить в NAS новый диск. Кроме базы, ничего ценного на диске не было. Поэтому просто скопировал на другой диск всё содержимое папки /share/HDA_DATA/.@mysql (там и сама папка с базой .frm и .idb, и логи mysql - ib_logfile0, ib_logfile1, ibdata0, ibdata1). Структуру базы (без данных) выгрузил в файлик AVdatabase.sql. Забыл только скопировать конфиг сервера my.cnf. Перед этим MySQL был корректно остановлен командой /etc/init.d/mysqld.sh stop. Настроил девайс заново. Скопировал в прежнее расположение все файлы из архива (mysql остановлен). Сервер запускается, база в списке есть, но там нет таблиц. Как восстановить работоспособность?

Вот лог при запуске mysql:
170127 16:50:03 mysqld started 
170127 16:50:03 InnoDB: Initializing buffer pool, size = 16.0M 
170127 16:50:03 InnoDB: Completed initialization of buffer pool 
InnoDB: The first specified data file /usr/local/mysql/var/ibdata1 did not exist: 
InnoDB: a new database to be created! 
170127 16:50:04 InnoDB: Setting file /usr/local/mysql/var/ibdata1 size to 10 MB 
InnoDB: Database physically writes the file full: wait... 
InnoDB: Error: all log files must be created at the same time. 
InnoDB: All log files must be created also in database creation. 
InnoDB: If you want bigger or smaller log files, shut down the 
InnoDB: database and make sure there were no errors in shutdown. 
InnoDB: Then delete the existing log files. Edit the .cnf file 
InnoDB: and start the database again. 
170127 16:50:04 [ERROR] Plugin 'InnoDB' init function returned error. 
170127 16:50:04 [ERROR] Plugin 'InnoDB' registration as a STORAGE ENGINE failed. 
170127 16:50:04 [Note] Event Scheduler: Loaded 0 events 
170127 16:50:04 [Note] /usr/local/mysql/libexec/mysqld: ready for connections. 
Version: '5.1.73' socket: '/tmp/mysql.sock' port: 3306 Source distribution


К сообщению приложен файл. Размер - 30Kb
Ответ:
Nor-man
/share/HDA_DATA/.@mysql
Nor-man
InnoDB: The first specified data file /usr/local/mysql/var/ibdata1 did not exist: 
Видно же, что MySQL пытается искать базу по другому расположению.

Конфиг желательно либо восстановить, либо отредактировать, как минимум, пути.
Вопрос: Ошибка при импорте БД в MySQL - Note: table storage engine for *** doesn't have this option

Есть MySQL-server (1), настроенный давно, характеристики настройки не сохранились (инсталляционная версия 5.6.13). На нем есть БД, к которой по локальной сети обращается другой сервер (10).

Задача: Создать MySQL-server (2) – точную копию с (1), т.е. настроить из дистрибутива MySQL (1), выгрузить БД с (1), залить на (2). Критерий успешности – работающий (10) в паре с (2).

Выгрузку с (1) БД сделала HeidiSQL – Ошибок не выдал, загружаю на (2) тоже ей же;
При импорте этой БД в настроенный (2), HeidiSQL выдает ошибку.

Кликните здесь для просмотра всего текста
Ошибка при импорте БД в MySQL - Note: table storage engine for *** doesn't have this option


Сделала загрузку БД на (2) через Workbench – (10) тоже не работает.

Поиск по Google/Яндекс дает общую информацию, не приближающую к решению.

Исключила брандмауэр, проброс портов – настройки одинаковые на обоих компах.

MySQL на (2) принял и порт, и пользователя, и пароль (в ранних версиях настройки программы проблемы вылезали по этим пунктам).

Вопрос: Какие настройки при экспорте/импорте БД могут исправить эту ошибку.
Ответ: Изучение темы дало следующие результаты. Лог ошибок Name-comp.err выдал вот что:

Кликните здесь для просмотра всего текста
2015-03-28 09:38:21 3052 [Note] Plugin 'FEDERATED' is disabled.
2015-03-28 09:38:21 3052 [Warning] option 'innodb-autoextend-increment': unsigned value 67108864 adjusted to 1000
2015-03-28 09:38:22 45c InnoDB: Warning: Using innodb_additional_mem_pool_size is DEPRECATED. This option may be removed in future releases, together with the option innodb_use_sys_malloc and with the InnoDB's internal memory allocator.
2015-03-28 09:38:22 3052 [Note] InnoDB: The InnoDB memory heap is disabled
2015-03-28 09:38:22 3052 [Note] InnoDB: Mutexes and rw_locks use Windows interlocked functions
2015-03-28 09:38:22 3052 [Note] InnoDB: Compressed tables use zlib 1.2.3
2015-03-28 09:38:22 3052 [Note] InnoDB: Not using CPU crc32 instructions
2015-03-28 09:38:23 3052 [Note] InnoDB: Initializing buffer pool, size = 8.0M
2015-03-28 09:38:23 3052 [Note] InnoDB: Completed initialization of buffer pool
2015-03-28 09:38:23 3052 [Note] InnoDB: Highest supported file format is Barracuda.
2015-03-28 09:38:26 3052 [Note] InnoDB: 128 rollback segment(s) are active.
2015-03-28 09:38:26 3052 [Note] InnoDB: Waiting for purge to start
2015-03-28 09:38:27 3052 [Note] InnoDB: 5.6.13 started; log sequence number 1625977
2015-03-28 09:38:27 3052 [Warning] No existing UUID has been found, so we assume that this is the first time that this server has been started. Generating a new UUID: a8a42d2e-d50c-11e4-b573-000c29a2e388.
2015-03-28 09:38:27 3052 [Note] Server hostname (bind-address): '*'; port: 33060
2015-03-28 09:38:27 3052 [Note] IPv6 is available.
2015-03-28 09:38:27 3052 [Note] - '::' resolves to '::';
2015-03-28 09:38:27 3052 [Note] Server socket created on IP: '::'.
2015-03-28 09:38:32 3052 [Note] Event Scheduler: Loaded 0 events
2015-03-28 09:38:32 3052 [Note] C:/MySQL/MySQL Server 5.6/bin\mysqld: ready for connections.
Version: '5.6.13' socket: '' port: 33060 MySQL Community Server (GPL)


Стало понятно, что не хватает каких-то библиотек... И загружаемая БД просто не распознается MySQL'ем. С учетом, что я установила MySQL в комплектации Default (по-умолчанию), а еще был вариант Full, имеет смысл переставить MySQL в полной комплектации.

Нашла статью УСТАНАВЛИВАЕМ БИБЛИОТЕКУ ДЛЯ РАБОТЫ С БАЗОЙ ДАННЫХ MYSQL (публиковать тут ссылки запрещено...)
Кликните здесь для просмотра всего текста

Как установить библиотеку для работы с базой данных MySQL
1. На оффсайте скачиваем коннектор(com.mysql.jdbc.Driver)Connector/J 5.1.18 или
скачать коннектор com.mysql.jdbc.Driver
2. смотрим в нашей IDE какую JDK мы используем, для примера /java-6-openjdk/
в директорию для linux:
/usr/lib/jvm/java-6-openjdk/jre/lib/ копируем mysql-connector-java-5.1.9-bin.jar (он в прикрепленном файле)
в директорию для Windows:
...Program Files/.../путь к вашей jdk/jre/lib/
3. далее идем в настройки нашей IDE, и в разделе JRE добавляем наш .jar
для Eclipse: Window- Prefarences- Java- Installed JREs- (клик по jdk)- Edit...- Add External JARs...

В Java коде:
Загружаем в память драйвер-
Code

try {
DriverManager.registerDriver(new com.mysql.jdbc.Driver());
} catch (Exception e) {
e.printStackTrace();
}


Подключаемся к базе -
Code

String pathConnection = "jdbc:mysql://localhost/dbname";
String nameConnection = "user";
String passConnection = "pass";
try {
conn = DriverManager.getConnection(pathConnection,
nameConnection, passConnection);
} catch (Exception e) {
e.printStackTrace();
}


Я не поняла, куда это нужно прописывать... Java у меня нет, а PHP-движок на (10). Его никто не трогал и не менял. Сейчас у меня установлено несколько версий Connector'ов. Возможно, в FULL-версии установлены еще какие-то библиотеки.

О результатах переустановки MySQL отпишусь позже.
Вопрос: FreeBSD есть содержимое папки /var/db/mysql - можно ли восстановить базы данных на другом сервере?

Ситуация:

- Есть содержимое папки /var/db/mysql (это файлы баз данных MySQL в FreeBSD)

Вопрос:

- Можно ли с этими файлами восстановить содержимое баз данных на другом сервере? И как это сделать?

Можно ли просто скопировать с заменой в аналогичное место на другом сервере? А если это будет не FreeBSD а например Ubuntu? (просьба не смеяться очень громко если что)) я в этом не разбираюсь

Спасибо.
Ответ:
Сообщение от viplviv
Так можливо. Берете самий звичайний Denver встановлюєте його потім заливаете свої БД крім папок mysql, mysqlshema. Запускаєте денвер. Встановлюєте Navicat підключаетесь по localhost до денвера. І Ваші бази у Вас в Навікаті, звідти бекапите як *.sql і спокійно переносите до себе на хост.
Дякую!
Вопрос: Как организовать бэкап БД mysql?

Чтобы ночью производилась копия БД надежно, независимо от того, работает кто-то в этот момент с базой или нет.
Ответ:
seg856
javajdbc, а можно поподробней?


....ну вот m0nk3y уже и сказал все подробности:
настройте репликацию и делайте с ней все что хотите --
реплику можно останавливать на часы если надо,
снимать копию любым из нескольких способов и
запускать ее (реплику) снова. Реплика догоняет быстро.
Вопрос: Использование MySQL вместе с moodle

У меня есть Moodle 1.9.5, который я использую вместе с MySQL, чтобы просто хранить свои данные и вот недавно выяснилось, что одна из таблиц в MySQL повреждена, а ведь все началось с уроков в moodle. Система стала выдавать сообщение об ошибке. Проблема в том, что я хочу, но не могу посмотреть данные на своем сервере. Как можно просмотреть таблицу или как исправить таблицу, с помощью Moodle или через MySql?
Ответ: Через MySql будет проще, здесь почитай инфу
Или попробуй тупо удалить SQL и потом восстановить из резервной копии его.
Элементарно можно любой файл через прогу исправить
И на майле похожий вопрос есть, посмотри
Вопрос: Почему MySQL на клиентской программе - это плохо?

Добрый день всем.

Задача:
Я пишу приложение для учёта товаров в небольшом магазине (физическом, не интернет-магазине). Товара там не так много и распродаётся он не особо быстро.
Платформа - PC под управлением Windows, язык - Java. Разумеется, такое приложение будет работать с базой данных. Внимание: приложение будет устанавливаться и использоваться только на одном компьютере, то есть там не будет модели "клиент-сервер"; только клиент, если можно так сказать.
Я выбираю между MySQL и MongoDB. Знаю, что в данном случае особой разницы, чем пользоваться, нет; знаю также и об отличиях этих СУБД. Вопрос не в этом. Мне сказали, что использовать как MongoDB так и MySQL в клиентской программе это неправильный подход, и что лучше в этом случае было бы пользоваться SQLite.

Вопрос:
Почему использование MySQL в данном случае было бы плохим решением? Действительно ли лучше воспользоваться SQLite?

Спасибо!
Ответ:
jdoe
Добрый день всем.

Задача:
Я пишу приложение для учёта товаров в небольшом магазине (физическом, не интернет-магазине). Товара там не так много и распродаётся он не особо быстро.
Платформа - PC под управлением Windows, язык - Java. Разумеется, такое приложение будет работать с базой данных. Внимание: приложение будет устанавливаться и использоваться только на одном компьютере, то есть там не будет модели "клиент-сервер"; только клиент, если можно так сказать.
Я выбираю между MySQL и MongoDB. Знаю, что в данном случае особой разницы, чем пользоваться, нет; знаю также и об отличиях этих СУБД. Вопрос не в этом. Мне сказали, что использовать как MongoDB так и MySQL в клиентской программе это неправильный подход, и что лучше в этом случае было бы пользоваться SQLite.

Вопрос:
Почему использование MySQL в данном случае было бы плохим решением? Действительно ли лучше воспользоваться SQLite?

Спасибо!


Для Java на мой взгляд правильнее использовать что-то из:
- , она же - уже есть в комплекте JDK, может быть использована как сервер базы данных или как embedded вариант. Во втором случае пользователь вообще не будет знать что у него есть какая-то база данных, которую нужно запускать отдельно от приложения. Для данной базы допускается написание встроенных процедур на Java. Имеется очень подробное и внятное руководство пользователя/разработчика/администратора.
- Альтернативные, мало чем отличающиеся варианты: и

А SQLite в связке с Java не самый лучший выбор. Если, конечно, не на Android'е. Там альтернативы фактически нет.
Вопрос: Проблема с secure_file_priv, LOAD_FILE и INTO DUMPFILE на MySql 5.7.14

В общем на Windows Server 2012 имеется MySql 5.7.14. До этого был Windows Server 2008 и MySql 5.5.29 и все работало.

Сначала SELECT LOAD_FILE('uploads/111111111.jpg') выдовало всегда Null. Это исправил установив в secure_file_priv нужную папку и все заработало. Но потом выяснилось следующее, что данная конструкция не работает, когда я там указываю дополнительную папку SELECT LOAD_FILE('uploads/FotoReports/111111111.jpg') и папка "FotoReports" подключается через
"mklink /j "C:\ProgramData\MySQL\MySQL Server 5.7\Data\board\FotoReports" "F:\Image\FotoReports".
Т.е. это подключаемая папка. И в этом случае при загрузки фотки я всегда получаю Null. Я решил туда записать файл так

SELECT image 
INTO DUMPFILE "uploads/FotoReports/111111111.jpg" 
FROM listimageclients  
WHERE ID=2 


Мне выдало следующее
Can't create/write to file 'C:\ProgramData\MySQL\MySQL Server 5.7\Data\uploads\FotoReports\111111111.jpg' (Errcode: 13 - Permission denied) Т.е. доступа нет.
Когда там есть файл, то сообщение выдает такое
Can't create/write to file 'C:\ProgramData\MySQL\MySQL Server 5.7\Data\uploads\FotoReports\111111111.jpg' (Errcode: 17 - File exists)
Т.е. он понимает, что этот файл там есть. Но при этом через SELECT LOAD_FILE('uploads/FotoReports/111111111.jpg') я получаю Null. Типа файла там и нет или путь не верный.

Все это начинает отлично работать, если я использую обычные папки, а не удаленные созданые через "mklink /j "
В чем может быть проблема? В той удаленной папке есть полный доступ, а mysql не может записать туда файл и прочитать.
Ответ:
vkle
Эммм... Типа так, имел в виду:
SELECT LOAD_FILE('F:\Image\FotoReports\uploads\FotoReports\111111111.jpg'

Тоже не?


Дело в том, что когда MySql задаешь папку отличную от того где лежит сама БД, то он вообще с той папкой не хочет работать.
Так что не вариант.