ansmirnov

Создание mysql базы данных

Теги: GNU/Linux, MySQL

Создание базы данных из консоли MySQL не займет много времени. Ниже описано, как это сделать

Сразу небольшое пояснение.

Знаком # начинаются команды для bash, которые вводятся непосредственно в консоль

Знаком > начинаются команды MySQL, их необходимо вводить в консоль MySQL.

Эти символы не являются частью команды, поэтому вводить их не нужно.

  1. Заходим в консоль MySQL под рутом: # mysql -uroot -p

  2. Вводим пароль root (администратора MySQL, а не системного!)

  3. Создаем базу данных test > CREATE DATABASE test;

  4. Создаем пользователя user с паролем pass и разрешаем ему все операции над базой данных test. К другим базам он доступа получить не сможет. Этот шаг необходим для обеспечения безопасности. > GRANT ALL PRIVILEGES ON test.* TO user@localhost IDENTIFIED BY 'pass' WITH GRANT OPTION;

Для автоматизации этой процедуры к меня в запасе имеется скрипт:

#!/bin/bash

#################################################################################
# Скрипт для создания базы данных и распределения к ней прав доступа
#
# USAGE: ./createDatabase.sh DBName DBUser DBPass
#################################################################################

DB_ROOT_LOGIN='root'
DB_ROOT_PASS='сюда пишем ваш пароль root от mysql'

echo "CREATE DATABASE $1;" | mysql -u$DB_ROOT_LOGIN -p$DB_ROOT_PASS
echo "GRANT ALL PRIVILEGES ON $1.* TO $2@localhost IDENTIFIED BY '$3' WITH GRANT OPTION;" | mysql -u$DB_ROOT_LOGIN -p$DB_ROOT_PASS

Сохраняем под именем createDatabase.sh, даем права на исполнение (chmod +x createDatabase.sh) и запускаем так:

./createDatabase.sh test user pass

Что будет аналогично действиям, описанным выше.