Как создать базу в MySQL

Мы немного разобрались с командной строкой и теперь, наверное аж руки чешутся по нажимать буквы в черном экране 😉

Предоставляем  Вам такую возможность.

Это будет — 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.

Your MySQL connection id is 38
Server version: 5.1.41-3ubuntu12.1 (Ubuntu)
Type ‘help;’ or ‘\h’ for help. Type ‘\c’ to clear the current input statement.
mysql>

Пишем:

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 перед удалением базы.

Надеемся эта статья Вам немного поможет 😉

2 thoughts on “Как создать базу в MySQL

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *