Мы немного разобрались с командной строкой и теперь, наверное аж руки чешутся по нажимать буквы в черном экране 😉
Предоставляем Вам такую возможность.
Это будет — MySQL
Здесь всё на самом деле проще простого. У нас есть чистый сервер с установленным MySQL, остальное нас не касается, а так же у нас есть пароль root к MySQL — пусть он у нас будет выглядеть как HardPass. Нам нужно создать базу для сайта domain.com, а затем импортировать туда существующий дамп mydump.sql .
Приступим
Создаём базу, и не забываем, что в будущем у Вас на этом сервере будет очень много баз, по этому необходимо с первого взгляда понимать к какому сайту принадлежит эта база.
mysqadmin -pHardPass create admin_domain
-p обозначает пароль, его нужно вводить сразу же без пробела
admin_domain это имя базы. Почему именно так? admin — это будет наш пользователь баз данных и все базы с префиксом admin_ будут принадлежать ему. Очень удобная схема, что бы каждый раз не присваивать базе пользователя и пароль. domain — это имя нашего домена.
При создании, можно установить кодировку для это таблицы, тогда наша команда будет выглядеть вот так
mysqadmin -pHardPass —default-character-set=utf8 create admin_domain
У нас появилась опция —default-character-set=utf8 , вместо utf8 может быть cp1251 и так далее
Заливаем дамп в созданную базу.
mysql -pHardPass admin_domain < mydump.sql
здесь всё просто и в комментариях не нуждается.
Но есть одно НО! В данном примере, мы заливаем дамп в созданную нами базу admin_domain , но в самом файле дампа может присутствовать строка вида:
USE `other_db_name`
то есть, мы взяли этот дамп из базы с другим именем и теперь получаем ошибку о том, что нет базы other_db_name. В таком случае, мы просто комментируем эту строку:
— USE `other_db_name`
и повторяем операцию заново по заливанию дампа заново.
Есть у нас база, но нет пользователя Создадим его.
Заходим в mysql как root
mysq — u root pHardPass
у нас появляется приглашение вот такого вида примерно:
Welcome to the MySQL monitor. Commands end with ; or \g.
Пишем:
GRANT ALL ON `admin\_%` . * TO ‘admin’@’localhost’ IDENTIFIED BY ‘pass_for_admin’ ;
FLUSH PRIVILEGES;
Здесь мы видим, что в первой строке назначаются все привилегии по использованию баз с префиксом admin_ пользователю admin, а так же назначается пароль для этого пользователя pass_for_admin
Смена пароля для пользователя баз данных будет выглядеть аналогично:
GRANT ALL ON `admin\_%` . * TO ‘admin’@’localhost’ IDENTIFIED BY ‘new_pass_for_admin’ ;
FLUSH PRIVILEGES;
либо:
Во второй строке мы обновляем список привилегий (обязательная операция). Не забываем в конце каждого запроса ставить точку с запятой.
Так же, нужно учесть, что длина имени пользователя баз данных не должна превышать 16 символов
Как в имени базы так и в имени пользователя не желательно использовать всякие спец символы (за исключением подчеркивания)
Жмём Ctrl+D и выходим из mysql.
Теперь нам нужно всё это сдампить и удалить:
Сдампить можно под root или под пользователем, который имеет доступ к этой базе.
mysqldump -pHardPass admin_domain > admin_domain.sql
mysqldump -u admin -ppass_for_admin admin_domain > admin_domain.sql
И наконец-то удаляем базу:
mysqladmin -pHardPass drop admin_domain
Мы очень Вам рекомендуем делать mysqldump перед удалением базы.
Надеемся эта статья Вам немного поможет 😉
Большое спасибо! Очень полезно.
Пожалуйста 😉