networks:mysql
Розбіжності
Тут показані розбіжності між вибраною ревізією та поточною версією сторінки.
| Порівняння попередніх версійПопередня ревізіяНаступна ревізія | Попередня ревізія | ||
| networks:mysql [2013/04/04 14:07] – 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]; - статистика по всем таблицам в базе</ | ||
| + | |||
| ===== как узнать права пользователя? | ===== как узнать права пользователя? | ||
| Рядок 22: | Рядок 91: | ||
| + | ===== Пользователи 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.1365084473.txt.gz · Востаннє змінено: 2013/04/04 14:07 (зовнішнє редагування)
