myhand: Если "перед этим" - aptitude remove просто завершится с ошибкой, т.к. не сможет корректно завершить mysqld.
Если после remove, но до install - может сработать. Создайте тестовый образ - попробуйте.
Получается бред.
Я сделал чтобы при запуске ОС не запускался mysql, удалил (purge) - файлы не удалились, установил - база не появилась. Что сделать, чтобы mysql база создалась...?
root@server:~# aptitude purge percona-server-client percona-server-server
Следующие пакеты будут УДАЛЕНЫ:
percona-server-client{p} percona-server-server{p}
0 пакетов обновлено, 0 установлено новых, 2 пакетов отмечено для удаления, и 0 пакетов не обновлено.
Необходимо получить 0 B архивов. После распаковки освободится 65,5 k байт.
Хотите продолжить? [Y/n/?] y
(Чтение базы данных … на данный момент установлено 47155 файлов и каталогов.)
Удаляется пакет percona-server-client …
Удаляется пакет percona-server-server …
root@server:~# cd /var/lib/mysql
root@server:/var/lib/mysql# ls
debian-5.5.flag mysql performance_schema serverserver
ibdata1 mysql-error.log testbase
ib_logfile0 mysql_upgrade_info
ib_logfile1
root@server:/var/lib/mysql# rm mysql -R
root@server:/var/lib/mysql# cd ..
root@server:/var/lib# aptitude install percona-server-client percona-server-server
Следующие НОВЫЕ пакеты будут установлены:
percona-server-client percona-server-server
0 пакетов обновлено, 2 установлено новых, 0 пакетов отмечено для удаления, и 0 пакетов не обновлено.
Необходимо получить 0 B/5*354 B архивов. После распаковки 65,5 kB будет занято.
ПРЕДУПРЕЖДЕНИЕ: будут установлены версии ненадёжных пакетов!
Ненадёжные пакеты могут скомпрометировать безопасность системы.
Продолжайте установку, если только вам точно это нужно.
percona-server-server percona-server-client
Хотите игнорировать предупреждение и продолжить?
Чтобы продолжить, наберите фразу «Yes»; для отмены введите «No»: yes
Выбор ранее не выбранного пакета percona-server-client.
(Чтение базы данных … на данный момент установлен 47151 файл и каталог.)
Распаковывается пакет percona-server-client (из файла …/percona-server-client_5.5.27-rel28.1-296.squeeze_i386.deb) …
Выбор ранее не выбранного пакета percona-server-server.
Распаковывается пакет percona-server-server (из файла …/percona-server-server_5.5.27-rel28.1-296.squeeze_i386.deb) …
Настраивается пакет percona-server-client (5.5.27-rel28.1-296.squeeze) …
Настраивается пакет percona-server-server (5.5.27-rel28.1-296.squeeze) …
root@server:/var/lib# service mysql status
[info] MySQL (Percona Server) is stopped..
root@server:/var/lib# service mysql start
[ ok ] Starting MySQL (Percona Server) database server: mysqld ..
[info] Checking for corrupt, not cleanly closed and upgrade needing tables..
root@server:/var/lib# service mysql reload
[....] Reloading MySQL (Percona Server): mysqld/usr/bin/mysqladmin: reload failed; error: 'Table 'mysql.host' doesn't exist'
root@server:/var/lib# ERROR 1146 (42S02) at line 1: Table 'mysql.user' doesn't exist
myhand: Конечно. Если, например, сделали ее бекап. Или переставить пакет, как объясняли выше.
Не сделал.
Конечно я могу сам сделать - но вы не знаете, если aptitude remove мускул && aptitude install мускул - и перед этим удалив базу 'MYSQL' - она создастся?
---------- Добавлено 28.09.2012 в 19:06 ----------
Но это не помогает.
С этой строкой работает команды service mysql restart и service mysql reload, но ответ phpmyadmin такой же:
GRANT ALL PRIVILEGES ON * . * TO 'debian-sys-maint'@'localhost' WITH GRANT OPTION MAX_QUERIES_PER_HOUR 0 MAX_CONNECTIONS_PER_HOUR 0 MAX_UPDATES_PER_HOUR 0 MAX_USER_CONNECTIONS 0 ;
Ответ MySQL:
#1045 - Access denied for user 'root'@'localhost' (using password: YES)
120928 18:45:06 mysqld_safe mysqld from pid file /var/run/mysqld/mysqld.pid ended
myhand: Другой вариант: возмите, удалите пакет и данные. Установите заново. Прочитайте документацию пакета (начиная с /usr/share/doc) - а уже потом "переносите".
Хотелось бы без этого обойтись.
myhand: Это нужно было умудриться, чтобы перед переносом чего-либо - убить существующие гранты.
Я не убивал. Я скопировал все базы включая базу MySQL (импортировал) в новый сервер..и такое получилось.
Снимаю порчу, делаю отвороты.
после снимаю запятую забыли
А где 'снимаю, порчу, делаю привороты'?
Вам же объяснили выше как правильно сохранить нужные гранты. Все ищем себе новые грабли?
Много разных ответов. Я так и не понял какой правильный)
Если "перед этим" - aptitude remove просто завершится с ошибкой, т.к. не сможет корректно завершить mysqld.
Если после remove, но до install - может сработать. Создайте тестовый образ - попробуйте.
Получается бред.
Я сделал чтобы при запуске ОС не запускался mysql, удалил (purge) - файлы не удалились, установил - база не появилась. Что сделать, чтобы mysql база создалась...?
Конечно. Если, например, сделали ее бекап. Или переставить пакет, как объясняли выше.
Не сделал.
Конечно я могу сам сделать - но вы не знаете, если aptitude remove мускул && aptitude install мускул - и перед этим удалив базу 'MYSQL' - она создастся?
ах да да да))) ТС точняк, еще и разрешния сдампите)
Я их и сдампил..
Подскажите, как исключить из mysqldump команды одну базу под названием 'mysql'? Это в случае --all-databases.
---------- Добавлено 28.09.2012 в 20:38 ----------
mysqldump mysql --tables user -u root -p > /root/users.sql
попросит ввести пароль рута мускуль - вводите.
наслаждаетесь файлом users.sql в /root.
так кто-нибудь предлагал уже?
А права юзеров на базы мне типо не нужны? Пусть они без доступа к своим базам будут?
Ну, каждый обучается как ему удобно... Умный обычно старается использовать документацию. Дурак - методом тыка.
Вот этим и "убили".
Ну пипец) А можно как-то восстановить оригинальную базу MYSQL (её одну)? Не удаляя другие.
Точнее skip-grant-tables
Другое дело :)
---------- Добавлено 28.09.2012 в 19:06 ----------
Но это не помогает.
С этой строкой работает команды service mysql restart и service mysql reload, но ответ phpmyadmin такой же:
Если сделаете то, что вам посоветовали - сможете. Права - игнорируются.
Error
Другой вариант: возмите, удалите пакет и данные. Установите заново. Прочитайте документацию пакета (начиная с /usr/share/doc) - а уже потом "переносите".
Хотелось бы без этого обойтись.
Это нужно было умудриться, чтобы перед переносом чего-либо - убить существующие гранты.
Я не убивал. Я скопировал все базы включая базу MySQL (импортировал) в новый сервер..и такое получилось.
Чё как всегда ? КГБ строим ? 😂
TC
делаешь SHOW TABLES и для каждой таблицы ALTER TABLE
ALTER TABLE t1 ENGINE=InnoDB
Как-бы без скрипта не обойтись можно написать на php за денюшку.
MySQL не дибилы делали.
Наверняка есть что-то типо ALTER * from BASENAME ENGINE=InnoDB - но как точно написать я незнаю.