Первая настройка mysql базы данных

Итак, подняли линукс-сервер на vds, админ поставил всякие php и апачи. Теперь моя очередь.
Обычно для php приложения нужна только одна бд и один пользователь, от которого и идут все запросы к mysql. Также обычно уже имеется какая-то начальная бд, чаще всего в виде sql файла – экспорта структуры и может быть несколькими заполненными справочниками.

Обращаю внимание – нет ни строчки про настройку mysql сервера.

1. Создание бд

Итак, для начала нужно создать базу.

CREATE DATABASE `databasename` CHARACTER SET utf8 COLLATE utf8_general_ci;

тут все параметры должны быть понятны а – new_databasename – имя создаваемой бд,

2. Создание пользователя

Создаем пользователя

create user 'username'@'localhost' identified by 'password_here';

3. Дать разрешение на операции с базой mysql

grant all privileges on databasename.* to 'username'@'localhost';

Тут тоже понятно – даем все привелегии для всех таблиц в базе databasename для связки пользователь/хост. Можно дать права только на таблицу, если нужно на все бд то можно указать *.* вместо имени бд и таблицы.
Для уверенности что разрешения вступили в силу еще:

flush privileges;

4. Импорт sql файла в mysql

mysql -h hostname -u username -p databasename < file.sql

Параметры: hostname - имя хоста, если все делается на локалхосте, то можно пропустить; username - пользователь mysql, под которым выполняется команда; databasename - бд, в которую осуществляется импорт; file.sql - имя sql-файла, в котором находятся данные для импорта.

На этом все, дальше удобно работать через миграции, если фреймворк или свой движок их поддерживает.

Немного полезностей

Так просто - на всякий случай

show databases;

посмотреть список доступных для текущего пользователя баз данных

use databasename;

сделать текущей бд с именем databasename;

show tables;

посмотреть таблицы в текущей бд

select host, user from mysql.user;

так можно посмотреть пользователей на сервере.

Список привелегий
  • ALL PRIVILEGES - все привелегии для базы данных
  • CREATE - разрешает создавать новые таблицы или базы данных
  • DROP - разрешает удалять таблицы или базы данных
  • DELETE - разрешает удалять записи из таблиц
  • INSERT - разрешает добавлять записи в таблицу
  • SELECT - разрешает использовать команду Select для выборок (чтение)
  • UPDATE - разрешает редактировать записи таблиц
  • GRANT OPTION - разрешает назначать или удалять права доступа для других пользователей

Leave a Reply

Your email address will not be published. Required fields are marked *