Подключимся к MySQL
mysql -u root -p
или
mysql -h 192.0.2.10 -u root -p
Создание новой базы данных MySQL
Узнать, какие базы существуют в настоящее время на сервере, можно при помощи команды SHOW :
SHOW DATABASES;
Для того, чтобы посмотреть настройки уже существующей базы данных необходимо выполнить оператор SHOW CREATE DATABASE
SHOW CREATE DATABASE `test`;
Создадим новую базу данных:
create database IF NOT EXISTS `db_name` CHARACTER SET utf8 COLLATE utf8_general_ci;
-
- IF NOT EXISTS
- — Если не указать этот параметр, то при попытке создания базы данных с уже существующим именем, возникнет ошибка выполнения команды.
-
- CHARACTER SET, COLLATE
- — Используется для задания стандартной кодировки таблицы и порядка сортировки.
- Если при создании таблицы эти параметры не указываются, то кодировка и порядок сортировки вновь создаваемой таблицы берутся из значений, указанных для всей базы данных. Если задан параметр CHARACTER SET, но не задан параметр COLLATE, то используется стандартный порядок сортировки. Если задан параметр COLLATE, но не задан CHARACTER SET, то кодировку определяет первая часть имени порядка сортировки в COLLATE.
- Кодировка, заданная в CHARACTER SET, должна поддерживаться сервером (latin1 или sjis), а порядок сортировки должен быть допустимым для текущей кодировки.
При создании новой базы данных в MySQL следует придерживаться некоторых правил относительно имени базы данных:
- Максимальная длина имени не должна превышать 64 символов.
- Разрешены любые символы, которые допускаются в имени каталога, за исключением / (слеш) и . (точка). Но следует принять во внимание, что нельзя использовать символы ASCII(0) и ASCII(255).
Если нужно удалить базу данных.
DROP DATABASE IF EXISTS `db_name`;
- db_name — Задает имя базы данных, которую необходимо удалить.
- IF EXISTS — Если не указать этот параметр, то при попытке удаления не существующей базы данных, возникнет ошибка выполнения команды. Данный параметр доступен в MySQL 3.22 и более поздних версиях.
При выполнении команды DROP DATABASE удаляется как сама база данных, так и все таблицы, которые в ней находятся.
Если производится удаление базы данных, которая символически связана с другой базой данных, то удалиться как сама ссылка, так и оригинальная база данных.
Управление пользователями и привилегиями в MySQL
Список пользователей
SELECT User,Host FROM mysql.user;
Список прав у пользователя root@localhost
SHOW GRANTS FOR root@localhost;
Создание нового пользователя
CREATE USER 'user'@'localhost' IDENTIFIED BY 'secret';
Добавим выбранные привилегии для всех таблиц БД dbname пользователю ‘user’@’localhost’
GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,DROP,ALTER,INDEX ON dbname.* TO 'user'@'localhost';
Добавим все привилегии для всех таблиц БД dbname пользователю ‘user’@’localhost’
GRANT ALL PRIVILEGES ON dbname.* TO 'user'@'localhost';
Удаление прав пользователя ‘user’@’localhost’ для БД dbname:
REVOKE ALL ON dbname.* FROM 'user'@'localhost';
Удаление пользователя
DROP USER user@localhost;
Перезагрузка привилегий
FLUSH PRIVILEGES;
Теперь немножко позаботимся о нашей безопасности, вводим в консоль:
mysql_secure_installation
На все вопросы кроме «Change the root password» (Если не хотите менять пароль MySQL) отвечаем положительно Y.
|