- Путь до базы MySQL / MariaDB
- Посмотреть текущий путь
- Где физически лежат базы mysql?
- Re: Где физически лежат базы mysql?
- Re: Где физически лежат базы mysql?
- Re: Где физически лежат базы mysql?
- Mysql
- Где хранятся базы данных MySQL в Linux
- Посмотреть список существующих пользователей в базе MYSQL
- CREATE DATABASE
- Создание базы данных и задание кодировки
- Раздача прав на базу
- SHOW
- Проверить права пользователя
- mysql> SHOW GRANTS FOR ‘user’@’localhost’;
- Создание пользователей и назначение им прав
- GRANT ALL PRIVILEGES ON `web_base`.* TO ‘web’@’localhost’ WITH GRANT OPTION ;
- ПРИМЕР:
- CREATE
- ALTER TABLE
- пример:
- UPDATE
- Базы данных, ау! Или где хранятся данные MySQL на вашем компьютере
- Импорт-экспорт данных в MySQL
- Место хранения оригиналов баз
- Файл my.ini
- Средства SQL
Путь до базы MySQL / MariaDB
В статье пойдет речь о просмотре и смене пути расположения файлов баз данных MySQL. Приведенные примеры выполнены на CentOS 7 — также они будут работать на Ubuntu и многих других дистрибутивах Linux, FreeBSD и Windows.
Посмотреть текущий путь
Увидеть, где хранятся базы можно несколькими способами.
Способ 1. Командная строка Linux.
В командной строке вводим:
systemctl status mysql || systemctl status mariadb
* для Windows используем оснастку Службы. Для FreeBSD используем команду service mysql-server stop.
mariadb.service — MariaDB database server
Loaded: loaded (/usr/lib/systemd/system/mariadb.service; enabled; vendor preset: disabled)
Active: active (running) since Ср 2018-07-11 15:38:16 MSK; 23h ago
Process: 1067 ExecStartPost=/usr/libexec/mariadb-wait-ready $MAINPID (code=exited, status=0/SUCCESS)
Process: 992 ExecStartPre=/usr/libexec/mariadb-prepare-db-dir %n (code=exited, status=0/SUCCESS)
Main PID: 1066 (mysqld_safe)
CGroup: /system.slice/mariadb.service
??1066 /bin/sh /usr/bin/mysqld_safe —basedir=/usr
??1248 /usr/libexec/mysqld —basedir=/usr —datadir=/var/lib/mysql —plugin-dir=/usr/lib64/mysql/plugin —log-error=/var/log/mariadb/mariadb.log —pid-file=/var/run/mariadb/mariadb.pid —socket.
* в выделенном фрагменте /var/lib/mysql — путь до файлов базы данных.
Способ 2. Командная оболочка MySQL.
Данный способ является более универсальным — он подойдет для любого дистрибутива Linux, FreeBSD, Windows. Также, метод универсален с точки зрения метода установки MySQL — чистая установка или в составе готовой сборки (Open Server, Xampp, Denwer . ).
Заходим под пользователем root в командную оболочку СУБД:
> SHOW VARIABLES WHERE Variable_Name LIKE «datadir»;
Источник
Где физически лежат базы mysql?
/var/lib/mysql . Ещё где-нибудь лежат файлы баз?
Нужно их бекапнуть. mysql лежит.
Ах, да: всем доброй ночи!
базы только там
каталоги так и названы по именам баз
> базы только там
Спасибо! Начинаю совершать необратимые изменения.
каталоги так и названы по именам баз
Угу, а файлы — таблицы. Очень удобно, однако, было не ясно: вдруг для них где-нибудь лежат crc или md5 для контроля целостности.
нет, я один раз так и переносила базу на другой сервер, все каталоги из /var/lib/mysql
Re: Где физически лежат базы mysql?
нет, я один раз так и переносила базу на другой сервер, все каталоги из /var/lib/mysql
Такое не проканает если базы в innodb.
Это зависит от настроек. По умолчанию именно там, но в настройках может быть другое мето и бэкапнишь нулевую базу.
Re: Где физически лежат базы mysql?
Такое не проканает если базы в innodb.
С чего это вдруг? У innodb гораздо больше фич в плане бэкапов, прокатит. Возможно, придётся соблюсти соответствие архитектур хостов (т.е. с x86 не переносить на x86_64 и т.п.) и версий mysql (для надёжности).
Сообщения не читай
@
сразу отвечай
Ну попробуй, епт.
попробовал, всё ок. Этот метод описан в документации к мускулю
Re: Где физически лежат базы mysql?
Хм. Значит, я перепутал и траблы возникнут с myisam
🙁
Источник
Mysql
Posted on 18 февраля, 2014
Где хранятся базы данных MySQL в Linux
Расположение файлов БД определяется директивой datadir в файле конфигурации MySQL (/etc/my.cnf или /etc/mysql/my.cnf). Обычно базы хранятся в /var/lib/mysql.
Посмотреть список существующих пользователей в базе MYSQL
SELECT USER from mysql.user;
CREATE DATABASE
Создание базы данных и задание кодировки
#create database base_name character set utf8 collate utf8_general_ci;
Раздача прав на базу
Раздача полных прав на базу cуществующему пользователю:
1 | mysql> GRANT ALL PRIVILEGES ON ` `.* TO ` `@`%` WITH GRANT OPTION ; |
все права на базу данных пользователю, который еще не существует в MySQL
1 | mysql> GRANT ALL PRIVILEGES ON ` `.* TO ` `@`%` IDENTIFIED BY ` ` WITH GRANT OPTION ; |
SHOW
SHOW DATABASES — просмотреть какие есть базы в MySQL сервере
SHOW TABLES — показать таблицы Бд
SHOW FIELDS(COLUMNS) — показать информацию о том какие поля есть в таблице,
каких они типов, пример: show fields from cars ;
cars — название таблицы.
SHOW KEYS from table_name — отобразить ключи таблицы
SHOW PROCESSLIST; — показать процессы сервера MySQL.
SELECT * from people;
выведет всё(все поля) что есть в таблице people;
Проверить права пользователя
mysql> SHOW GRANTS FOR ‘user’@’localhost’;
Создание пользователей и назначение им прав
GRANT — Создание пользователей и назначение прав
GRANT ALL PRIVILEGES ON `web_base`.* TO ‘web’@’localhost’ WITH GRANT OPTION ;
ВЫБОРКА ИЗ БАЗЫ
LIMIT — используеться для вывода определенной группы(кол-ва) данных
синтаксис:
a — число , с какой позиции выдавать данные
b — кол-во выводимых строк
IN — позволяет задавать несколько значений в поиск
синтаксис:
DML(Data Manipulation Language) — управление данными(УД)
SELECT — используеться для того чтобы делать выборки из БД
синтаксис:
column_names — если необходимо выбрать несколько полей,
они должны указываться через запятую, например
* — всё
SELECT * from people;
выведет всё(все поля) что есть в таблице people;
Иногда в таблице, некоторые из колонок могут содержать повторяющиеся значения.
Это не проблема, т.к. всегда можно сделать выборку лишь тех значений
который разняться между собой(не дублируються). Ключевое слово DISTINCT может быть использовано для этих целей.
синтаксис:
WHERE — используется для получения только тех записей,
которые соответствуют определенному критерию.
синтаксис:
Здесь также могут использоваться операторы:
= равно
<> не равно
> больше
= больше либо равно
Операторы AND & OR
Оператор AND отображает данные если выполняются оба условия.
Оператор OR отображает данные если выполняеться хотябы одно условие.
Смешивание AND & OR
ORDER BY — оператор сортировки, используется для сортировки результатов,
установленных указанной колонки.ORDER BY по умолчанию сортирует
записи в возрастающем порядке.(ASC)
Если вы хотите сортировать записи в (обратном)порядке убывания,
вы можете использовать ключевое слово DESC.
синтаксис:
в обратном порядке
LIMIT — используеться для вывода определенной группы(кол-ва) данных
синтаксис:
a — число , с какой позиции выдавать данные
b — кол-во выводимых строк
примечание: также можно задавать 1 цифру, не две.
LIKE — этот оператор используеться для поиска данных в полях по шаблону.
синтаксис:
IN — позволяет задавать несколько значений в поиск
синтаксис:
BETWEEN — оператор с помощью которого можно вывести диапазон данных
который ограниченный двумя значениями полей.
синтаксис:
Для того чтобы двигаться дальше создадим еще одну табличку.
Еще одна таблица cars в тойже БД mytest
JOIN — используется для запроса(вывода) данных из двух или более таблиц.
. вывод убрал, т.к. не очень красиво он тут «вписываеться»
UNION — оператор сочетает вывод двух и более SELECT операторов.
примечание: каждый запрос SELECT в сочетании с UNION должны иметь одинаковое
число столбцов. Колонки также должны иметь аналогичные типы данных.
синтаксис:
UPDATE — используется для обновления существующих записей в таблице.
синтаксис:
работать с данной конструкцией надо внимательно т.к. например если указать обновление
значений полей без «доп фильтра» можно затереть данные которые вам на самом деле нет
нужды трогать.
Например:
приведет таблицу к такому виду
т.е. если необходимо обновить только поле где/> то нужно писать так:
т.к. здесь присутствует WHERE соответсвенно можно комбинировать с AND & OR.
DELETE — удаление записей
синтаксис:
INSERT — вставка(заполнение) данных в полях таблицы
синтаксис:
columnN — названия полей в таблице table_name
valueN — значения полей, т.е. содержимое, те данные которые будут в поле
пример показан выше, где заполняеться таблица cars
ПРИМЕР:
insert into cars values (1, ‘2’, ‘VAZ’, ‘2310’, ‘Ufa’, ‘2’);
Добавим еще одну запись. в таблицу.
пример таблицы ниже.
mysql> select * from cars;
+———+——+———+———-+———+—————+
| Gmodel | C_id | Cmodel | GSNumber | country | Modification |
+———+——+———+———-+———+—————+
| NULL | 1 | GAZ | 2211 | Moscow | 1 |
| 1 | 2 | VAZ | 2310 | Ufa | 2 |
+———+——+———+———-+———+—————+
Добавляемые значения должны соответствовать тому порядку, в котором поля перечислены в операторе CREATE. Если вы хотите добавлять информацию в другом порядке, то вы должны указать этот порядок в операторе INSERT, например:
INSERT INTO CLIENTS (FIO, ADDRESS, C_NO, PHONE, CITY)
VALUES (‘Петров’, ‘Мира 29’, 2, ‘-‘, ‘Екатеринбург’);
С помощью INSERT мы можем добавлять данные и в определенные поля, например, C_NO и FIO :
INSERT INTO CLIENTS (C_NO, FIO)
VALUES (1, ‘Иванов’);
CREATE
create database mytest; — создание базы данных с именем mytest
FLUSH PRIVILEGES — перезагрузки таблиц привилегий
CREATE TABLE — для создания таблиц в БД
синтаксис:
где table_name — имя таблицы, column_name1 — имя столбца,
data_type — тип данных для этого солбца;
Какие типы данных могут быть в MySQL описано в разделе «Типы данных»
пример создания таблицы cars:
ALTER TABLE
беспечивает возможность изменять структуру существующей таблицы. Например, можно добавлять или удалять столбцы, создавать или уничтожать индексы или переименовывать столбцы либо саму таблицу. Можно также изменять комментарий для таблицы и ее тип.
Пример:
alter table cars change GosNumber GSNumber INTEGER; \\ поменять столбец GosNumber на GSNumber в таблице cars
alter table cars add test timestamp; добавить столбец test с типом timestamp
alter table cars drop column test; Удалить столбец.
Если необходимо, чтобы столбец встал в начало таблицы,
нужно после параметров вставляемого столбца написать ключевое слово FIRST:
Если необходимо , чтобы столбец был вставлен не в начале таблицы,
и не в конце, а после определенного столбца, то нужно применить
ключевое слово AFTER ‘имя столбца’, после которого будет установлен
новый столбец:
пример:
alter table cars add country varchar(255) after GSNumber;
вставить колонку country после колонки GSNumber
Если нужно дописать к таблице не один, а несколько столбцов,
то для каждого столбца нужно ADD column_name datatype записать через запятую:
REATE INDEX
Индекс может быть создан для таблицы,это даст возможность
более быстро и эффективно работать . Пользователю индекс не
виден, он просто используется для ускорения поисков / запросов.
Примечание: Обновление таблицы с индексами занимает больше времени,
чем обновление таблицы без (поскольку индексы также нуждаются в обновлении).
Таким образом, индексы стоит создавать только на столбцы (таблицы),
по которым будет часто производиться поиск и запросы.
синтаксис:
UPDATE
UPDATE Имя_таблицы
SET Поле1 = Значение1, . , ПолеN = ЗначениеN
[WHERE Условие];
ПРИМЕР:
update cars set country = ‘Ufa’ WHERE C_id =1;
обновить в таблицу cars задать значение в столбце с именем country значение ufa изменять в строке с C_id равным 1 (единице)
update cars set country = ‘Ufa’ where Cmodel=’VAZ’;
поменяем на город Ufa везде где стоит модель VAZ
примечание
если строчные символы заключаем их в одинарные ковычки.
Источник
Базы данных, ау! Или где хранятся данные MySQL на вашем компьютере
Дата публикации: 2016-04-05
От автора: а что это вы под ногами ищете? Базу данных? Поверьте, скорее все, она никуда не делась, и лежит «целехонькая» на вашем ПК или сервере! Там уже смотрели? Наверное, вы просто не знаете, где хранятся данные MySQL. Об этом мы вам сегодня и расскажем.
Импорт-экспорт данных в MySQL
Чаще всего найти утерянные базы данных нужно для импорта или копирования. К счастью, для этого не обязательно знать место их «дислокации» на дисковом пространстве. Программные интерфейсы для работы с СУБД MySQL имеют встроенные средства переноса и создания копий БД и таблиц.
В наших «широтах» самой востребованной остается оболочка phpMyAdmin, предназначенная для администрирования системы управления БД MySQL. На примере этого веб-приложения мы и рассмотрим встроенные средства, которые позволят нам остаться в неведении, где находится MySQL.
В phpMyAdmin создание копий баз данных происходит через вкладку «Экспорт». Для дублирования БД или таблицы слева в списке выберете нужный для копирования элемент. После этого перейдите в раздел «Экспорт». В окне параметров в подразделе «Способ экспорта» должно быть установлено значение «Обычный». Затем в списке выделите базу данных (таблицу). После чего нажимаете в самом низу окна «Ок».
Бесплатный курс по PHP программированию
Освойте курс и узнайте, как создать динамичный сайт на PHP и MySQL с полного нуля, используя модель MVC
В курсе 39 уроков | 15 часов видео | исходники для каждого урока
В результате программа создаст копию и сохранит ее на клиентской стороне. Вся работа с веб-приложением происходит через браузер, поэтому созданный дубликат БД нужно искать в папке загрузок.
Место хранения оригиналов баз
Знание встроенного функционала phpMyAdmin поможет быстро создать копии нужных данных. Но если на компьютере не установлена ни одна из программных оболочек для администрирования СУБД. А вам нужно перенести БД на другой сервер. Или изменить хранящуюся в таблицах информацию. При этом выполнять запросы придется через консоль, где обязательно прописывается путь к БД. Как видите знать, где хранится база данных MySQL, важно и нужно.
Вот еще один пример «из жизни начинающего админа». Предположим, первоначально вы пользовались Denwer. Но в один «непогожий» день вы нечаянно удалили часть файлов локального сервера. В результате чего он больше не запускается, и вы начинаете «рыть» оставшиеся папки в надежде спасти хотя бы базы данных. Но в этом случает также «удобнее» знать, где копать. Вот пример пути, где в веб-сервере хранятся БД: F:\Webserver\usr\local\mysql-5.5\data, где F – это диск, на котором был установлен Denwer.
Для открытия файлов скопированных БД потребуется phpMyAdmin. Если вы установили сервер СУБД без оболочки, тогда по умолчанию место, где хранятся базы данных MySQL, находится здесь: C:\Documents and Settings\All Users\Application Data\MySQL\MySQL Server 5.1\data
Файл my.ini
Все описанные методы связаны с осуществлением поиска (в зависимости от варианта использования СУБД) той или иной папки, в которой программы (или сервер) сохраняют созданные базы. Но неужели пользователь никак не может повлиять на это, и самостоятельно указать место на дисковом пространстве MySQL, где хранятся все БД.
Такой вариант настройки был предусмотрен создателями этой системы управления. Все основные параметры задаются в файле my.ini. Он расположен в той же директории, куда установлена и система СУБД.
Данный тип файлов относится к конфигурационным, и открывается с помощью обычного «Блокнота». Чтобы задать «свое» место для всех созданным БД, откройте файл my.ini. Затем найдите в нем раздел [mysqld], и в параметре datadir пропишите путь к нужной папке. После сохранения внесенных изменений (Файл> Сохранить) все существующие базы будут перенесены в указанное вами место файловой системы компьютера или сервера.
Средства SQL
Все описанные выше варианты узнать в MySQL, где лежит БД, являются второстепенными. Потому что СУБД не понимает человеческой речи и письменности. Для общения с ней существует специальный язык SQL. Аббревиатура переводится как язык структурированных запросов (structured query language). То есть с помощью операторов и команд этого языка можно влиять на структуру содержащейся в источнике информации: делать выборки, обновлять данные, вставлять или удалять.
Но не будем слишком забираться в «дремучий лес» профессиональных знаний, нас интересует единственная команда SHOW. Точнее, один из ее вариантов SHOW VARIABLES. Эта команда SQL используется в администрировании для получения служебной информации о конкретном сервере или базе.
SHOW VARIABLES выводит список переменных и их значений из INFORMATION_SCHEMA, которая представляет собой «служебную» БД, в которой содержится информация обо всех базах, подключенных к серверу. Пример запроса: SHOW VARIABLES;
Но из всего этого списка нас интересует лишь одна переменная, с помощью которой можно «узнать» у сервера MySQL, где хранится база. Это переменная basedir, в значение которой записан путь к основной директории. Пример запроса: SHOW VARIABLES LIKE ‘basedir’;
А сейчас прекращайте понапрасну «рыться» в файловой системе своего ПК. Теперь вы точно знаете, как правильно «спросить» у СУБД MySQL, где хранятся базы. Надеемся, нам удалось научить вас этому!
Бесплатный курс по PHP программированию
Освойте курс и узнайте, как создать динамичный сайт на PHP и MySQL с полного нуля, используя модель MVC
В курсе 39 уроков | 15 часов видео | исходники для каждого урока
Источник