Mysql где физически хранит данные?
Mysql где физически хранит данные?
Добрый вечер
Только установил VestaCP, на вид все круто, спасибо.
Создал 1й сайт и БД, создал 1 таблицу dbtest1, пытаюсь найти где хранятся сами файлы:
в конфиге /var/lib/mysql, но там только БД mysql и performance_schema.
в /home/admin тоже нет.
через Find говорит
Потом обнаружил что таблица по умолчанию создалась как InnoDB. Поскольку я всегда работаю с MyISAM - захотел сменить тип и получаю
1. сменить тип на MyISAM и поставить его по умолчанию
2. методом копирования файлов tablename.* перенести парочку таблиц с другого сервера (там такие таблицы что экспорт-импорт в .sql напрягает по времени) - делаю так уже раз 4й.
P.S. вообще парадокс, mysql не может записать в /var/lib/mysql, а именно создать там каталог
права стоят rwx-rw----- владелец mysql:root, пользователь под которым запущен сервер mysql - по идее права должны быть
P.S.2 еще в эту же кучу. Доступ к панели идет на порту 8083 по https. При этом ссылки с панели на phpmyadmin идут по незащищенному каналу. Стремно. Как изменить, чтобы не терять совместимость при обновлении?
Только установил VestaCP, на вид все круто, спасибо.
Создал 1й сайт и БД, создал 1 таблицу dbtest1, пытаюсь найти где хранятся сами файлы:
в конфиге /var/lib/mysql, но там только БД mysql и performance_schema.
в /home/admin тоже нет.
через Find говорит
(искал как по имени каталога = имя базы, так и по имени файла.* = имя таблицы).No such file or directory
Потом обнаружил что таблица по умолчанию создалась как InnoDB. Поскольку я всегда работаю с MyISAM - захотел сменить тип и получаю
Собственно решить надо 2 задачи:#1 - Can't create/write to file '/var/lib/mysql/admin_ods/#sql-7d35_4f.MYI' (Errcode: 2)
1. сменить тип на MyISAM и поставить его по умолчанию
2. методом копирования файлов tablename.* перенести парочку таблиц с другого сервера (там такие таблицы что экспорт-импорт в .sql напрягает по времени) - делаю так уже раз 4й.
P.S. вообще парадокс, mysql не может записать в /var/lib/mysql, а именно создать там каталог
права стоят rwx-rw----- владелец mysql:root, пользователь под которым запущен сервер mysql - по идее права должны быть
P.S.2 еще в эту же кучу. Доступ к панели идет на порту 8083 по https. При этом ссылки с панели на phpmyadmin идут по незащищенному каналу. Стремно. Как изменить, чтобы не терять совместимость при обновлении?
Last edited by Messiah on Sun Apr 06, 2014 9:14 pm, edited 1 time in total.
Re: Mysql где физически хранит данные?
Здравствуйте.
должны быть папки с названием базы. Таблицы хранятся в файлах со специальным расширением. Нельзя их переносить, или импортировать.
Или используйте программу Sypex Dumper
вместо example - имя таблицы
какой тип таблиц использовать - выбирает ваш скрипт.Потом обнаружил что таблица по умолчанию создалась как InnoDB
/var/lib/mysqlпытаюсь найти где хранятся сами файлы
методом копирования файлов tablename.* перенести парочку таблиц с другого сервера
должны быть папки с названием базы. Таблицы хранятся в файлах со специальным расширением. Нельзя их переносить, или импортировать.
другого выхода нет. Используйте формат gzip и увеличьте лимиты на импорт в php.iniтам такие таблицы что экспорт-импорт в .sql напрягает по времени
Или используйте программу Sypex Dumper
в phpmyadmin попробуйте выполнить запроссменить тип на MyISAM
Code: Select all
ALTER TABLE example engine=MyISAM;
Re: Mysql где физически хранит данные?
Укажите вашу ОСвообще парадокс, mysql не может записать в /var/lib/mysql, а именно создать там каталог
Re: Mysql где физически хранит данные?
Спасибо за оперативный ответ. Стал дописывать в тот же пост, потом заметил ответ
Mysql сервер не может получить доступ к /var/lib/mysql, хотя права вроде правильные.
и Alter, и CREATE вручную с указанием типа попадают на те же грабли.
OS: Debian 7.0
По поводу копипаста - я уже несколько переносов разных БД так делал - корпируется весь каталог равный названию базы, в нем каждой таблице соотв. несколько файлов с разными расширениями, на новой системе запускается оптимизация таблиц и все работает. Но сейчас до этого дело еще не дошло - хочу чтобы панель для начала работала, а потом уже докину оставшиеся несколько таблиц руками.
P.S.2 еще в эту же кучу. Доступ к панели идет на порту 8083 по https. При этом ссылки с панели на phpmyadmin идут по незащищенному каналу. Стремно. Как изменить, чтобы не терять совместимость при обновлении?
И далее по Phpmyadmin. Импорт - пишет макс. файл 2МБ. Верю. Выбираю файл 1Мб с небольшим - летит
Mysql сервер не может получить доступ к /var/lib/mysql, хотя права вроде правильные.
и Alter, и CREATE вручную с указанием типа попадают на те же грабли.
OS: Debian 7.0
По поводу копипаста - я уже несколько переносов разных БД так делал - корпируется весь каталог равный названию базы, в нем каждой таблице соотв. несколько файлов с разными расширениями, на новой системе запускается оптимизация таблиц и все работает. Но сейчас до этого дело еще не дошло - хочу чтобы панель для начала работала, а потом уже докину оставшиеся несколько таблиц руками.
P.S.2 еще в эту же кучу. Доступ к панели идет на порту 8083 по https. При этом ссылки с панели на phpmyadmin идут по незащищенному каналу. Стремно. Как изменить, чтобы не терять совместимость при обновлении?
И далее по Phpmyadmin. Импорт - пишет макс. файл 2МБ. Верю. Выбираю файл 1Мб с небольшим - летит
Операция импорта невозможна. Причины: не выбран импортируемый файл; размер импортируемого файла превышает максимально допустимый, заданный в настройках PHP. Смотрите FAQ 1.16.
Re: Mysql где физически хранит данные?
/var/lib/mysql
вообще на папку mysql должны быть права 700 и владелец/группа mysql/mysql
измените значения директив
к примеру выставите для обоих по 50 мб
и рестарт apache
/var/lib/phpmyadmin/tmp
для папки tmp выставите chmod 777
(проблема такая есть с правами на эту папку и уже решена в ближайшем релизе)
вообще на папку mysql должны быть права 700 и владелец/группа mysql/mysql
/etc/php5/apache2/php.iniОперация импорта невозможна. Причины: не выбран импортируемый файл; размер импортируемого файла превышает максимально допустимый, заданный в настройках PHP. Смотрите FAQ 1.16.
измените значения директив
Code: Select all
post_max_size =
upload_max_filesize =
Code: Select all
post_max_size = 50M
upload_max_filesize = 50M
Code: Select all
service apache2 restart
для папки tmp выставите chmod 777
(проблема такая есть с правами на эту папку и уже решена в ближайшем релизе)
Re: Mysql где физически хранит данные?
Phpmyadmin заработал. А все таки его можно в ssl завернуть?
Первый же запрос CREATE TABLE (myisam) вылетел
Поставил на mysql права 777 - та же байда
Перезапускаю mysql - ошибка остановки, прибил через top - запускаю (опять с проблемами, innodb_use_native_aio 0 уже прописывал при установке, пропало). После запуска
Первый же запрос CREATE TABLE (myisam) вылетел
на /var/lib/mysql стоит mysql:mysql Permissions: 40700 (rwx --- ---) - каталог admin_ods в нем не создался.#1 - Can't create/write to file '/var/lib/mysql/admin_ods/ods_admin_logs.MYI' (Errcode: 2)
Поставил на mysql права 777 - та же байда
Перезапускаю mysql - ошибка остановки, прибил через top - запускаю (опять с проблемами, innodb_use_native_aio 0 уже прописывал при установке, пропало). После запуска
Но ни у кого из пользователей нет доступа к БД,root@www:/var/log/mysql# service mysql start
[ ok ] Starting MySQL database server: mysqld ..
[info] Checking for tables which need an upgrade, are corrupt or were
not closed cleanly..
root@www:/var/log/mysql# ERROR 1045 (28000): Access denied for user 'debian-sys-maint'@'localhost' (using password: YES)
root@www:/var/log/mysql# mc
CMS'ka пишет#1045 Невозможно подключиться к серверу MySQL
Права на каталог вернул, перезагрузил mysql, все равно не пускает, причем даже с панели создать новую БД не могуAccess denied for user ...
Есть отдаленное впечатление что с пол года назад я такое уже видел и все решилось сносом centos и установой debian, то был чистый сервер, а тут уже кое-что работает, так что не вариантError: Connection failed
Re: Mysql где физически хранит данные?
Удалось восстановить работу mysql
команда mysql -u root ломится в базу с неизвестно каким паролем, хотя пароль рута пустой, без пароля захожу.
пользователя debian-sys-maint, из под которого при запуске бд что-то делается (скорее всего считывается список пользователей и привилегий) не было, добавил сам с тем паролем что в debian.cnf. Зайти под ним могу через phpmyadmin, но панель
команда mysql -u root ломится в базу с неизвестно каким паролем, хотя пароль рута пустой, без пароля захожу.
пользователя debian-sys-maint, из под которого при запуске бд что-то делается (скорее всего считывается список пользователей и привилегий) не было, добавил сам с тем паролем что в debian.cnf. Зайти под ним могу через phpmyadmin, но панель
как восстановить работоспособность? какой там юзер?Error: Connection failed
Re: Mysql где физически хранит данные?
Укажите новый пароль в mysql конфиге панели
/usr/local/vesta/conf/mysql.conf
Пароль должен быть таким же как и пароль, который вы меняли для root mysql
/usr/local/vesta/conf/mysql.conf
Code: Select all
USER='root' PASSWORD='новый_пароль'
Re: Mysql где физически хранит данные?
Спасибо, проблемы решены.
На правах предложения: все таки по умолчанию завернуть phpmyadmin в httpS, а то по открытым каналам не интересно.
На правах предложения: все таки по умолчанию завернуть phpmyadmin в httpS, а то по открытым каналам не интересно.
Re: Mysql где физически хранит данные?
Зарегистрируйте пожелание в багзилле
https://bugs.vestacp.com/
https://bugs.vestacp.com/