Mysql пустой бекап
Re: Mysql пустой бекап
Залил фикс под описание вашей проблемы. но было бы конечно хорошо протестировать его конкретно в вашей ситуации.
Don't forget to run script update
Re: Mysql пустой бекап
Спустя 7 лет проблема, как оказалось, такая же.
Потестить легко, повесьте коннект к mysql на локалхост в config.php
Попробуйте сделать бекап базы из админки смарта.
Бекап будет пустой. В мессаджах будет ошибка.
Потестить легко, повесьте коннект к mysql на локалхост в config.php
Попробуйте сделать бекап базы из админки смарта.
Бекап будет пустой. В мессаджах будет ошибка.
Re: Mysql пустой бекап
бекап делается как
exec(mysql -u ...) и тп
если бы проблема была глобальная - за 7 лет у кого-то еще она была бы, но судя по отсуствию сообщений какая-то проблема конкретно у вас
поэтому предлагаю начать не с меседжа "какой кривой скрипт за 7 лет не решили проблему", а с "как понять почему у меня бекап пустой"
exec(mysql -u ...) и тп
если бы проблема была глобальная - за 7 лет у кого-то еще она была бы, но судя по отсуствию сообщений какая-то проблема конкретно у вас
поэтому предлагаю начать не с меседжа "какой кривой скрипт за 7 лет не решили проблему", а с "как понять почему у меня бекап пустой"
Don't forget to run script update
Re: Mysql пустой бекап
Нет, он у вас делается совсем не так.
Если прописать коннект к базе через сокет в config.php, то сам смарт работает, но бекап не работает.
Если вернуть коннект к базе через localhost или 127.0.0.1, то бекап работает.
В обычных операциях смарт использует mysqli с разным набором параметров, в зависимости от того используется ли для подключения хост или сокет.
А бекап выполняется вызовом команды mysqldump, у которой параметры host и socket, это тоже два разных параметра, и тут я могу только догадываться, видимо в смарте не прописано отличие параметров mysqldump, в зависимости от того используется ли для подключения хост или сокет.
Раз за 7 лет больше никто про эту проблему не написал, то значит никто не коннектится к базе через сокет, а те кто коннектятся - забили на отсутствие бекапов в смарте и например делают эти бекапы сами.
Проверить ситуацию можно очень быстро - прописать сокет в config.php и запустить бекап базы вручную из админки.
Re: Mysql пустой бекап
ну вот и нашлось ))
оказалось что у вас сокет, а в команде дампа прописывается хост - поэтому дамп не делался
добавил в ап что б прописывало сокет для дампа
оказалось что у вас сокет, а в команде дампа прописывается хост - поэтому дамп не делался
добавил в ап что б прописывало сокет для дампа
Don't forget to run script update
Re: Mysql пустой бекап
Это всё замечательно, но вы 7 лет сказали то же самое )))
Спасибо
Спасибо
Re: Mysql пустой бекап
magicum wrote: Fri Oct 03, 2014 1:37 pm Полез экспериментировать. Нашел.
Надо просто сделать так:
$config["db_server"] = "localhost";
и прописать путь до сокета в my.cnf для всех мускульных товарищей: mysql, client, mysqld, mysqldump
и тогда вроде работает.
те такое работало раньше а сейчас перестало? или почему мы тогда решили оставить эту проблему?
Don't forget to run script update
Re: Mysql пустой бекап
1. Я подумал что попустило, неверно истолковав мой прежний тест.admin wrote: Tue Aug 31, 2021 3:21 pm те такое работало раньше а сейчас перестало? или почему мы тогда решили оставить эту проблему?
Я тогда поставил "localhost" вместо сокета и всё заработало, и я подумал, что смарт стал следовать секции [client] в my.cnf
Но я оказался неправ, как выяснилось недавно при фиксе mysql.php из db-modules
2. А потом у меня не стало ресурсов со смартами и вопрос отпал.
Re: Mysql пустой бекап
ясно
получилось что никто сокет не юзал - вопросов не возникало
возник вопрос - пофиксили)
получилось что никто сокет не юзал - вопросов не возникало
возник вопрос - пофиксили)
Don't forget to run script update







