networks:mysql
Розбіжності
Тут показані розбіжності між вибраною ревізією та поточною версією сторінки.
Наступна ревізія | Попередня ревізія | ||
networks:mysql [2013/04/04 14:04] – создано olexande bilovol | networks:mysql [Невідома дата] (поточний) – зовнішнє редагування (Невідома дата) 127.0.0.1 | ||
---|---|---|---|
Рядок 1: | Рядок 1: | ||
====== MySQL ====== | ====== MySQL ====== | ||
+ | |||
+ | [[http:// | ||
+ | |||
+ | [[http:// | ||
+ | |||
+ | [[http:// | ||
+ | |||
+ | [[http:// | ||
+ | |||
+ | ===== Работа с бекапами ===== | ||
+ | |||
+ | **Делаем бекап** | ||
+ | |||
+ | '' | ||
+ | |||
+ | **Создаём структуру базы без данных** | ||
+ | |||
+ | '' | ||
+ | |||
+ | **Если нужно сделать дамп только одной или нескольких таблиц** | ||
+ | |||
+ | '' | ||
+ | |||
+ | **Создаём бекап и сразу его архивируем** | ||
+ | |||
+ | '' | ||
+ | |||
+ | **Создание бекапа с указанием его даты** | ||
+ | |||
+ | '' | ||
+ | |||
+ | **Заливаем бекап в базу данных** | ||
+ | |||
+ | '' | ||
+ | |||
+ | **Заливаем архив бекапа в базу** | ||
+ | |||
+ | '' | ||
+ | |||
+ | или так | ||
+ | |||
+ | '' | ||
+ | |||
+ | **Создаём новую базу данных** | ||
+ | |||
+ | '' | ||
+ | |||
+ | ===== Включить и первичная настройка ===== | ||
+ | |||
+ | <file conf rc.conf> | ||
+ | |||
+ | [[http:// | ||
+ | |||
===== Посмотреть список пользователей MySQL ===== | ===== Посмотреть список пользователей MySQL ===== | ||
Рядок 5: | Рядок 58: | ||
< | < | ||
+ | |||
+ | ===== Как посмотреть список таблиц и их структуру в MySQL ===== | ||
+ | |||
+ | < | ||
+ | SHOW TABLES [FROM db_name]; - список таблиц в базе | ||
+ | SHOW COLUMNS FROM таблица [FROM db_name]; - список столбцов в таблице | ||
+ | SHOW CREATE TABLE table_name; - показать структуру таблицы в формате " | ||
+ | SHOW INDEX FROM tbl_name; - список индексов | ||
+ | SHOW GRANTS FOR user [FROM db_name]; - привилегии для пользователя.</ | ||
+ | |||
+ | |||
+ | < | ||
+ | SHOW [FULL] PROCESSLIST; | ||
+ | SHOW STATUS; - общая статистика | ||
+ | SHOW TABLE STATUS [FROM db_name]; - статистика по всем таблицам в базе</ | ||
+ | |||
===== как узнать права пользователя? | ===== как узнать права пользователя? | ||
Рядок 15: | Рядок 84: | ||
+---------------------------------------------------------------------+</ | +---------------------------------------------------------------------+</ | ||
+ | ===== как узнать у каких пользователей есть права к конкретной базе? ===== | ||
+ | |||
+ | < | ||
+ | |||
+ | [[http:// | ||
+ | |||
+ | |||
+ | ===== Пользователи MySQL ===== | ||
+ | |||
+ | Все пользователи MySQL хранятся в таблице user базы mysql. | ||
+ | Чтобы посмотреть список пользователей нужно переключиться на базу mysql и сделать выборку с помощью команды select: | ||
+ | |||
+ | < | ||
+ | mysql> select user,host from user; | ||
+ | +--------------------+------------+ | ||
+ | | user | host | | ||
+ | +--------------------+------------+ | ||
+ | | root | 127.0.0.1 | ||
+ | | root | testhost | ||
+ | | debian-sys-maint | localhost | ||
+ | | root | localhost | ||
+ | +--------------------+------------+</ | ||
+ | |||
+ | Из списка видно, что в базе имеются учетные данные суперпользователя //root// с возможностью подключаться только локально с данного сервера(адреса // | ||
+ | Еще есть системная учетная запись // | ||
+ | |||
+ | В предыдущей части я рассказывал как настроить в конфигурационном файле /// | ||
+ | Напомню: | ||
+ | В этой части я расскажу как создать пользователя mysql, какие права выдать для различных пользователей, | ||
+ | |||
+ | |||
+ | ==== Пользователь для веб сайта ==== | ||
+ | |||
+ | Обычно различные веб приложения которые хранят информацию в базе //mysql// требуют создать отдельную учетную запись. Создадим пользователя // | ||
+ | Пользователя можно создать через команду //create user//, а потом выдать права | ||
+ | |||
+ | < | ||
+ | mysql> flush privileges;</ | ||
+ | |||
+ | Здесь я сразу указал: | ||
+ | |||
+ | * выдать права //GRANT SELECT, | ||
+ | * на базу website.* - имя базы указывается по маске (все файлы с названием website). Здесь можно указать *.*, тогда пользователь будет иметь права на все базы; | ||
+ | * ' | ||
+ | * | ||
+ | |||
+ | ==== Администратор баз данных ==== | ||
+ | |||
+ | В следующем примере создадим учетную запись администратора баз данных который будет подключаться с IP адреса компьютера администратора 192.168.8.10 | ||
+ | |||
+ | < | ||
+ | Query OK, 0 rows affected (0.01 sec)</ | ||
+ | |||
+ | Выдадим полные права пользователю admin на базу website: | ||
+ | |||
+ | < | ||
+ | mysql> flush privileges;</ | ||
+ | |||
+ | Теперь администратор может подключиться со своего компьютера к серверу баз данных. В этом примере я использовал команду create user, а уже потом grant в принципе разницы нет как будут создаваться пользователи. | ||
+ | |||
+ | |||
+ | ==== Пользователь backup ==== | ||
+ | |||
+ | Создадим пользователя backup для резервного копирования всех базы данных | ||
+ | |||
+ | < | ||
+ | mysql> flush privileges;</ | ||
+ | |||
+ | * GRANT SHOW DATABASES, SELECT, LOCK TABLES, RELOAD - Здесь я указал необходимый набор прав для удаленного резервного копирования и в то же время достаточный для безопасного бэкапа; | ||
+ | * *.* - Пользователь backup может просматривать все базы; | ||
+ | * ' | ||
+ | |||
+ | ==== Как поменять пароль? | ||
+ | |||
+ | Чтобы поменять пароль можно воспользоваться командой mysqladmin эту команду нужно запускать в bash. | ||
+ | |||
+ | < | ||
+ | |||
+ | А так же можно воспользоваться командой (SQL синтаксис) из консоли MySQL | ||
+ | |||
+ | < | ||
+ | |||
+ | |||
+ | ==== Как сбросить пароль root? ==== | ||
+ | |||
+ | Поменять пароль root можно всеми теми же командами, | ||
+ | 1) Первым делом нужно остановить mysqld - демон MySQL сервера | ||
+ | |||
+ | / | ||
+ | |||
+ | 2) Создать скрипт для смены пароля / | ||
+ | |||
+ | < | ||
+ | FLUSH PRIVILEGES;</ | ||
+ | |||
+ | Сохраняем файл и запускаем демон mysqld в безопасном режиме с параметром --init-file | ||
+ | |||
+ | < | ||
+ | |||
+ | Ответ будет таким | ||
+ | |||
+ | < | ||
+ | Starting mysqld daemon with databases from / | ||
+ | mysqld_safe[20970]: | ||
+ | |||
+ | Теперь можно просто убить процесс mysqld и запустить север заново: | ||
+ | |||
+ | < | ||
+ | / | ||
+ | |||
+ | Пароль пользователя root успешно изменен! Логинимся и проверяем. | ||
+ | Есть ещё один способ сменить пароль root - это запустить mysqld c параметром --skip-grant-tables и поменять пароль, | ||
+ | |||
+ | [[http:// | ||
+ | |||
+ | ===== Replication ===== | ||
+ | [[http:// | ||
networks/mysql.1365084255.txt.gz · Востаннє змінено: 2013/04/04 14:04 (зовнішнє редагування)