Как полностью удалить MariaDB и заменить на MySQL?
Сап, парни.
Дело такое, стоит MariaDB на Debian 7.
Но так как она не особо совместима с некоторыми пакетами, появилась необходимость перейти на MySQL.
Вот только вопрос: Как это сделать?
В разных позах пытался, но так и не добился нужного результата.
В общем, хелп.
полное удаление mariaDB UBUNTU
(для Debian пути и команды могут отличаться)
sudo apt-get --purge remove mariadb*
sudo apt-get autoremove
sudo apt-get autoclean
если возникают ошибки при удалении -
заходим в папку /var/lib/dpkg/info
и удаляем там всё что начинается на mariadb и на mysql
повторяем предыдущие три команды
убедившись что в /var/lib/dpkg/info ничего не осталось -
удаляем папку /etc/mysql
удаляем папку /var/lib/mysql ВНИМАНИЕ здесь хранятся все ваши базы так что если нужно их оставить - переименуйте папку и после установки mysql скопируйте в новую - ТОЛЬКО те которые вы создавали самостоятельно (без системных)
теперь не забудьте почистить источник репозитория mariaDB который вы добавляли при её установке,
здесь nano /etc/apt/sources.list
иначе при попытке установить чистый мускуль увидете как ставятся пакеты от марии, и придётся начинать удаление сначала по тому что получите ошибку при установке. :(
перед установкой MySql выполните
sudo apt-get update
sudo apt-get upgrade
потом как обычно sudo apt-get install mysql-server
при этом установка может не спросить пароль для root, а подхватит существующий
проверить установку можно командой
service mysql status
далее
sudo apt-get install phpmyadmin (если нужно)
дополнительно - как не потерять пользователей при переустановке mariaDB/MySql
ДО удаления мускула выполняем в терминале такую команду
mysql -u root -ppassword -B -N -p -e "SELECT user, host FROM user" mysql
в результате получим что-то вроде
user_1 %
user_2 %
user_3 %
user_4 %
root 127.0.0.1
root ::1
входим в консоль MySql командой
mysql -u root -ppassword
выбираем нужных пользователей и составляем такую команду:
SHOW GRANTS FOR 'user_1'@'%';
SHOW GRANTS FOR 'user_2'@'%';
SHOW GRANTS FOR 'user_3'@'%';
SHOW GRANTS FOR 'user_4'@'%';
выполняем и результат операции сохраняем в файл
получится что-то вроде для каждого юзера
MariaDB [(none)]> SHOW GRANTS FOR 'user_1'@'%';
+------------------------------------------------------------------------------------------------------------+
| Grants for user_1@% |
+------------------------------------------------------------------------------------------------------------+
| GRANT USAGE ON *.* TO 'user_1'@'%' IDENTIFIED BY PASSWORD '*AB302DC11050A959C8B4F5C0211D0819AD5CB25D' |
| GRANT ALL PRIVILEGES ON `my_databse_name`.* TO 'user_1'@'%' |
+------------------------------------------------------------------------------------------------------------+
2 rows in set (0.00 sec)
Всё после переустановки MySql достаточно выполнить эти команды и пользователи готовы!