Первая настройка 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 - разрешает назначать или удалять права доступа для других пользователей