Работа с mysql в linux - IT Новости из мира ПК
Semenalidery.com

IT Новости из мира ПК
69 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

Работа с mysql в linux

Работаем с MySQL через командную строку

День добрый, друзья! 🙂 Для подключения к mysql наберите

  • h — хост базы данных, если коннектимся к локальной базе (по ip 127.0.0.1), этот параметр можно опустить
  • u — имя пользователя
  • p — пароль, его нужно будет ввести после нажатия enter

Например, если нужно законнектиться к локальной быдухе под root`ом и пароль у него не установлен (пустой пароль — это плохо), достаточно написать

Если на экране появляется приветствие mysql, то всё прошло ok.

Для выхода из командной строки mysql можно написать exit, в linux достаточно нажать ctrl+C. Теперь можно писать любые mysql-запросы. Чтобы запрос выполнился, в конце обязательно нужно поставит точку с запятой «;». При написании длинных запросов удобно делать enter`ом переход на следующую строку. А после полного написание запроса поставить «;» и нажать «enter».

Для работы с конкретной базой данных нужно её выбрать с помощью оператора use. Показать все базы данных:

Результатом будет что то вроде этого:

Выбрать базу данных jeka:

Посмотреть названия всех таблиц в конкретной базе данных (после выполнения use):

Просмотреть структуру таблицы (имена и тип полей):

Достать информацию о юзере с id=22:

Бэкап структуры таблицы, а точнее sql-запрос на её создание

Если в конце запроса поставить не ; а G, то результат будет показан другим образом — иногда весьма удобно, если таблица имеет много полей:

Посмотреть, какие запросы выполняются в данный момент на сервере MySQL:

Учтите, что будут отображены еще не выполненные (активные) запросы, поэтому show processlist; актуальная команды только для нагруженных БД, в других случаях маловероятно, что команда что то покажет.

Подробнее о том, как изменять структуру mysql-таблиц (alter table).

Как сделать бэкап базы mysql через консоль Linux?

Сделать бэкап базы database в файл dump_name.sql

[username] – имя пользователя который имеет доступ к базе данных.
[password] – пароль пользователя.
[database] – имя базы данных.
[dump_name.sql] – имя файла, дампа на выходе.

Развернуть базу из файла через командную строку

[username] – имя пользователя который имеет доступ к базе данных.
[password] – пароль пользователя.
[database] – имя базы данных.
[dump_to_restore.sql] – имя файла, из которого поднимаем базу

Сделать дамп структуры одной таблицы mysql (без данных):

Например, задампим таблицу users из базы данных mydatabase:

Развернуть mysql-dump в БД с именем database_name:

Ещё одна интересная штука. Выполнять из консоли, не требуется предварительно подключаться к mysql (mysql>). Вывести список таблиц базы данных, не подключаясь непосредственно к mysql:

Заключение

Может показаться, что писать запросы в командной строке не удобно. Но это заблуждение. На слабых машинах phpmyadmin работает не так шустро как хотелось бы. Тем более не на всех серверах стоят морды с phpmyadmin, adminer и т.д. Linux + mysql в терминале реально повысили мою производительность.

  • Как добавить AI в существующую таблицу MySQL? 1 ответ
  • Как обновить AI в mysql? Решено!
  • Узнать, насколько slave отстает от master в mysql Решено!
  • Как переименовать таблицу в MySQL? Решено!
  • На PHP Access denied for user ‘root’@’localhost’, хотя через консоль подключается 1 ответ
  • MySQL — изменение полей, структуры таблицы 0 комментариев
  • Запросы инъекции для mysql 0 комментариев
  • Доступ к mysql из-вне1 комментарий
  • Mysql перенос таблиц из одной базы данных в другую 0 комментариев
  • Анализ производительности MySQL с использованием performance_schema 0 комментариев

Комментарии 2

Viktor, спасибо. Судя по скринам, штука интересная.
Правда, уж больно много зависимостей она имеет.. Как решу проблему с зависимостями, отпишусь.

eugene-PC:www eugene$ eugene$ sudo rpm -ivh

ИТ База знаний

Полезно

— Узнать IP — адрес компьютера в интернете

— Онлайн генератор устойчивых паролей

— Онлайн калькулятор подсетей

— Калькулятор инсталляции IP — АТС Asterisk

— Руководство администратора FreePBX на русском языке

— Руководство администратора Cisco UCM/CME на русском языке

— Руководство администратора по Linux/Unix

Навигация

Серверные решения

Телефония

FreePBX и Asterisk

Настройка программных телефонов

Корпоративные сети

Протоколы и стандарты

Популярное и похожее

Установка VirtualBox 6.0 на Linux

Как восстановить пароль от root в CentOS 7

RPM — установка и использование в Linux

Как сбросить пароль в Debian

Как создавать и выбирать базы данных MySQL в Linux

All your base are belong to us

3 минуты чтения

MySQL — одна из самых популярных систеа управления реляционными базами данных с открытым исходным кодом. В этом руководстве объясняется, как создавать базы данных MySQL или MariaDB с помощью командной строки Linux.

Подготовка

У вас в системе должен быть установлен сервер MySQL или MariaDB.

Все команды выполняются от имени администратора (минимальная привилегия, необходимая для создания новой базы данных — CREATE ) или с учетной записью root.

Чтобы получить доступ к оболочке MySQL, используйте команду:

После чего чего появится запрос где нужно ввести пароль пользователя root MySQL. Если вы не установили пароль для своего рутового пользователя MySQL, вы можете пропустить опцию -p .

Создание базы данных MySQL

Создать новую базу данных MySQL так же просто, как запустить одну команду.

Чтобы создать новую базу данных MySQL или MariaDB, введите следующую команду, где database_name — это имя базы данных, которую вы хотите создать:

Мы должны получить следующий вывод:

Если вы попытаетесь создать базу данных, которая уже существует, вы увидите следующее сообщение об ошибке:

Чтобы избежать ошибок, если база данных с тем же именем, которое вы пытаетесь создать, существует, используйте оператор IF NOT EXISTS :

Читать еще:  Создать учетную запись linux

Получим следующий вывод:

В приведенном выше выводе Query OK означает, что запрос был успешным, а 1 предупреждение говорит нам, что база данных уже существует, и новая база данных не была создана. Учитывайте что в Linux базы данных MySQL и имена таблиц чувствительны к регистру.

Просмотреть все базы данных MySQL

Чтобы просмотреть созданную вами базу данных из оболочки MySQL, выполните следующую команду:

Команда выше выведет список всех баз данных на сервере. Вывод должен быть похож на это:

Выбрать базу данных MySQL

При создании базы данных, новая база данных не выбирается для использования.

Чтобы выбрать базу данных перед началом сеанса MySQL, используйте следующую команду:

Получим такой вывод:

После выбора базы данных все последующие операции, такие как создание таблиц, выполняются с выбранной базой данных.

Каждый раз, когда вы хотите работать с базой данных, вы должны выбрать ее с помощью оператора USE .

Вы также можете выбрать базу данных при подключении к серверу MySQL, добавив имя базы данных в конце команды:

Создание базы данных MySQL с помощью mysqladmin

Вы также можете использовать утилиту mysqladmin для создания новой базы данных MySQL из терминала Linux.

Например, чтобы создать базу данных с именем database_name , вы должны использовать следующую команду:

Полезна ли Вам эта статья?

Пожалуйста, расскажите почему?

Нам жаль, что статья не была полезна для вас 🙁 Пожалуйста, если не затруднит, укажите по какой причине? Мы будем очень благодарны за подробный ответ. Спасибо, что помогаете нам стать лучше!

Подпишитесь на нашу еженедельную рассылку, и мы будем присылать самые интересные публикации 🙂 Просто оставьте свои данные в форме ниже.

Команды MySQL в Linux

Ниже предоставлен список наиболее полезных и часто используемых команд MySQL с примерами.

mysql в начале строки означает, что команда выполняется после входа вMySQL.

Символ # или $ в начале строки означает, что команда выполняется из командной строки.

Что бы проверить статус сервера MYSQL выполните:

для FreeBSD:

в CentOS / RHEL:

Что бы подключиться к серверу MySQL из консоли, если сервер MySQL находится на том же хосте:

Работа с базами, таблицами — просмотр, удаление, редактирование записей. Консоль

Создать базу данных на MySQL сервере:

Показать список всех баз данных на сервере MySQL:

Отобразить все таблицы в базе данных:

Просмотреть формат таблицы в базе:

Удалить таблицу из базы:

Показать все содержимое таблицы:

Отобразить столбцы и содержимое столбцов в выбранной таблице:

Отобразить строки в определенной таблице, содержащие » whatever «:

Отобразить все записи в определенной таблице, содержащие » Bob » и телефонный номер » 3444444 :

Отобразить все записи, НЕ содержащие имя » Bob » и телефонный номер » 3444444 «, отсортированные по полю phone_number :

Показать все записи, начинающиеся с букв » bob » и телефонного номера » 3444444 » в определенной таблице:

Показать все записи, начинающиеся с букв ‘ bob » и телефонного номера » 3444444 «, ограничиваясь записями с 1-ой до 5-ой:

Использование регулярных выражений ( «REGEXP BINARY» ) для поиска записей. Например, для регистро-независимого поиска — найти все записи, начинающиеся с буквы А :

Показать все уникальные записи:

Показать количество строк в таблице:

Подсчитать количество столбцов в таблице:

Добавление колонки в базу данных:

Изменение имени столбца:

Создать столбец с уникальным именем, что бы избежать дубликатов в названиях:

Изменение размера столбца:

Удаление столбца из таблицы:

Загрузка файла CSV в таблицу:

Пользователи, пароли сервера MySQL — добавление, изменение пользователей и паролей. Консоль

Создание нового пользователя — подключение к серверу MySQL под root, переключение к базе данных, добавление пользователя, обновление привилегий:

Изменений пользовательского пароля из консоли на удаленном хосте db1.example.org :

Изменение пользовательского пароля из консоли MySQL — подключение под root, обновление пароля, обновление привилегий:

Восстановление/изменение пароля root сервера MySQL — остановка MySQL, запуск без таблиц привилегий, подключение под root, установка нового пароля, выход и перезапуск MySQL.

Set a root password if there is on root password.

Обновление пароля root:

Установка права на подключение к серверу с хоста localhost с паролем » passwd » — подключение подroot, переключение к базе данных, установка привилегий, обновление привилегий:

Установка привилегий пользователю на использование базы данных — подключение под root, переключение к базе данных, установка привилегий, обновление привилегий:

Обновление информации в базе данных:

Удаление строки в таблице:

Обновление привилегий в базе данных:

Резервные копии — создание, восстановление бд . Консоль

Создать резервную копию (dump) всех баз данных в файл alldatabases.sql :

Создать резервную копию одной базы данных в файл databasename.sql :

Создать резервную копию одной таблицы в файл databasename.tablename.sql :

Восстановление базы данных (или таблицы) из резервной копии:

Работа с MYSQL сервером с помощью командной строки ( терминала ) linux

Ниже предоставлен список наиболее полезных и часто используемых команд для работы в консоли MySQL с примерами.

Символы # или $ которые находятся в самом начале означают , что команда выполняется из командной строки.

означает что вы вошли и работаете в консоли MySQL сервера.
Что бы проверить статус сервера MYSQL выполните:

Что бы подключиться к серверу MySQL из консоли, если сервер MySQL находится на той-же машине за которой работаете вы:

Что бы подключиться к удаленному серверу MySQL из консоли, если сервер находится например по адресу hosmysql.exempe.ru вам нужно будет ввести такую команду к консоли сервера:

Читать еще:  Очистка и оптимизация пк

Работа с базами, таблицами — просмотр, удаление, редактирование записей. Консоль MySQL

Хочу предупредить местами парсер на сайте поменял кавычки с

Создать базу данных на MySQL сервере через консоль:

Показать список всех баз данных на сервере MySQL:

Переключиться для работы с определенной базой данных:

Отобразить все таблицы в базе данных:

Просмотреть формат таблицы в базе:

Удалить таблицу из базы:

Показать все содержимое таблицы:

Отобразить столбцы и содержимое столбцов в выбранной таблице:

Отобразить строки в определенной таблице, содержащие значение, слово «whatever»:

Отобразить все записи в определенной таблице, содержащие » zer » и телефонный номер «89996668866» :

Отобразить все записи, НЕ содержащие имя «zer» и телефонный номер «89996668866», отсортированные по полю phone_number :

Показать все записи, начинающиеся с букв «zer» и телефонного номера «89996668866» в определенной таблице:

Показать все записи, начинающиеся с букв «zer» и телефонного номера «89996668866» , ограничиваясь записями с 1-ой до 5-ой:

Использование регулярных выражений ( «REGEXP BINARY» ) для поиска записей. Например, для регистро-независимого поиска — найти все записи, начинающиеся с буквы А :

Показать все уникальные записи:

Показать количество строк в таблице:

Подсчитать количество столбцов в таблице:

Добавление колонки в базу данных:

Изменение имени столбца:

Создать столбец с уникальным именем, что бы избежать дубликатов в названиях:

Изменение размера столбца:

Удаление столбца из таблицы:

Загрузка файла CSV в таблицу:

Пользователи, пароли сервера MySQL — добавление, изменение пользователей и паролей. Консоль

Создание нового пользователя — подключение к серверу MySQL под root, переключение к базе данных, добавление пользователя, обновление привилегий:

Изменений пользовательского пароля из консоли на удаленном хосте db1.example.org :

Изменение пользовательского пароля из консоли MySQL — подключение под root, обновление пароля, обновление привилегий:

Восстановление/изменение пароля root сервера MySQL — остановка MySQL, запуск без таблиц привилегий, подключение под root, установка нового пароля, выход и перезапуск MySQL.

Обновление пароля root:

Установка права на подключение к серверу с хоста localhost с паролем » passwd » — подключение подroot, переключение к базе данных, установка привилегий, обновление привилегий:

mysql grant usage on *.* to bob @localhost identified by ‘ passwd ‘;

Установка привилегий пользователю на использование базы данных — подключение под root, переключение к базе данных, установка привилегий, обновление привилегий:

Обновление информации в базе данных:

Удаление строки в таблице:

Обновление привилегий в базе данных:

Резервные копии — создание, восстановление бд . Консоль

Создать резервную копию (dump) всех баз данных в файл alldatabases.sql :

Создать резервную копию одной базы данных в файл databasename.sql :

Создать резервную копию одной таблицы в файл databasename.tablename.sql :

Восстановление базы данных (или таблицы) из резервной копии:

Создание таблиц БД. Консоль

курсивом указаны имена столбцов;
ПРОПИСНЫМИ буквами — типы и атрибуты столцов;
в (скобках) — значение типа столбца.

OpenSource в заметках

Некоторые рождены быть администраторами баз данных, а другие поручают им администрирование своих БД. Если вы относитесь ко второй группе, но вы нуждаетесь лишь в элементарных операциях, вроде создания или резервного копирования баз данных, то знайте, что выполнять эти операции намного проще, чем кажется. Давайте рассмотрим самые простые элементы администрирования баз данных MySQL.

Когда я говорю «простые», я и имею ввиду простые. Эта статья не сделает из вас профессионального администратора баз данных MySQL. Однако отсюда вы сможете почерпнуть некоторые знания о MySQL, которых вам вполне может хватить для решения задач, вроде настройки WordPress или создания резервной копии базы данных MySQL.

Вы также можете выполнять все эти операции при помощи phpMyAdmin, что, впрочем, и делают множество людей. Так зачем же напрягаться, забираясь в дебри командной строки? Первой причиной использования командной строки является отсутствие необходимости устанавливать и поддерживать дополнительное программное обеспечение, особенно, если вы общаетесь с MySQL нечасто.

Также, умение работать с MySQL из командной строки даёт вам возможность работать с ней и из скриптов. Вы же не можете работать из скриптов с phpMyAdmin (некоторые могут, но это уже больше напоминает извращения)? Так что, если вы хотите, например, организовать еженедельное копирование ваших баз данных, то умение работать с MySQL из командной строки будет весьма кстати.

В этой статье а освещу лишь основные моменты работы с MySQL: создание баз данных и таблиц, создание пользователей, удаление баз данных и отдельных таблиц, восстановление баз данных и работу с их резервными копиями. Подразумевается, что MySQL у вас уже установлен и вы готовы начать работу с командами.

Подключение

Итак, давайте начнём с подключения к MySQL при помощи команды:

Вместо username введите имя существующего в вашей инсталляции MySQL пользователя.

Теперь, находясь в оболочке mysql-клиента, можно увидеть список доступных БД при помощи команды:

Обратите на точку с запятой в конце. Она сообщает MySQL о том, что команда завершена. Если строку не завершить этим символом, то после нажатия Enter MySQL будет ожидать ввода продолжения команды в новой строке. Такое поведение MySQL часто оказывается полезным при вводе нескольких команд за один раз.

Также имейте ввиду, что MySQL хранит историю команд. Нажмите стрелку вверх и вы увидите введённую вами ранее команду.

В случае, если вам необходимо начать работу с какой-то конкретной базой данных, воспользуйтесь командой:

заменив databasename на имя нужной вам базы данных. Нужной вам базы данных не существует и вам необходимо её создать? Нет проблем!

Читать еще:  Linux close socket

Создание баз данных и таблиц

Создать базы данных очень просто. Просто введите в оболочке MySQL команду:

заменив dbname на имя создаваемой БД.

Также, вы можете воспользоваться программой mysqladmin, чтобы создать новую БД:

Этот способ быстрее, если вам нужно лишь создать новую базу данных и, конечно, медленнее, если после создания БД вам нужно ввести ещё серию команд. Отчасти такому замедлению способствует необходимость каждый раз вводить пароль пользователя MySQL. В принципе, вы можете создать файл

/.my.cnf, поместив в него ваше имя пользователя и пароль MySQL, но я не рекомендую вам этого делать, поскольку это значительно снизит уровень безопасности.

Утилиту mysqladmin вы можете использовать для решения многих административных задач. Например, вы можете запускать, останавливать и перезагружать сервер MySQL. Ну, к примеру, остановить MySQL-сервер по какой-то причине? Воспользуйтесь командой:

Если желаете ознакомиться со списком всех доступных команд mysqladmin, воспользуйтесь ключом —help:

Чтобы создать таблицу в БД, используется инструкция CREATE TABLE table_name, после которой следует описание создаваемой таблицы. Поскольку каждая таблица обычно имеет несколько полей для хранения информации различных типов, то команды создания таблиц обычно получаются весьма длинными. Вот, например, команда, создающая таблицу для WordPress:

В этом примере я опустил некоторые инструкции ради краткости, однако основные моменты здесь отображены. После инструкции CREATE TABLE вы видите инструкции с описанием полей таблицы. Описание поля таблицы состоит из имени поля, типа данных, которые буду в нём храниться, а также определения, может ли поле иметь значение NULL (то есть, не содержать данных). Инструкции описания полей таблицы разделены запятыми, а последняя строка указывает MySQL, какой движок (в данном примере — MyISAM) использовать для работы с таблицей, а также опции, специфичные для таблицы в целом.

Не волнуйтесь, если для вас всё это кажется тарабарщиной. Всё, что вы сейчас увидели в примере выше фактически создаёт т. н. схему базы данных. Если вы пользуетесь приложениями, в комплекте которых поставляется схема БД для них, то вам вовсе необязательно знать, что именно делают инструкции, описанные в схеме.

Создание и настройка пользователя

Прежде, чем начать, вы должны знать пароль пользователя root в вашей инсталляции MySQL. Это не тот же самый root, который присутствует в вашей операционной системе. Чтобы не использовать учётную запись root для работы со всеми БД в вашей системе, вы можете создать отдельного пользователя. Например, чтобы работать с БД моего WordPress, я использую отдельного пользователя, наделённого не столь высокими привилегиями, как пользователь root.

Создать пользователя очень просто. Войдите в оболочку MySQL и дайте команду:

заменив bob на имя нужного вам пользователя, а password на пароль пользователя.

Однако, созданный пользователь не сможет делать ничего полезного до тех пор, пока ему не предоставить необходимые привилегии в базам данных. Например, если вы хотите дать пользователю bob полный доступ к базе данных wordpress_db, достаточно дать команду:

Вы можете ограничить перечень операций, которые будет разрешено выполнять указанному пользователю. Например, вы можете разрешить лишь операции SELECT, INSERT и DELETE. Подробнее узнать об этом вы можете в соответствующем разделе руководства MySQL.

Создание дампа базы данных

Базы данных MySQL хранятся на диске в двоичном виде в файлах с данными, индексных файле и файлах, описывающих структуру таблиц. Таким образом, каждая БД MySQL хранится в своём каталоге, расположенном в /var/lib/mysql, плюс три файла для каждой таблицы и файл .opt, содержащий параметры БД.

Конечно, можно организовать резервное копирование баз данных, путём простого копирования двоичных файлов, описанных выше, однако гораздо удобнее работать с дампами БД. Как это делается? Очень просто. MySQL имеет утилиту, называемую mysqldump. Например, чтобы сделать дамп БД wordpress_db, вы можете использовать команду:

которая сделает дамп БД wordpress_db в текстовом виде и сохранит его в файле wordpress.sql. Созданный текстовый файл будет содержать SQL-инструкции, выполнив которые, можно будет воссоздать базу данных, и будет иметь больший размер, нежели размер двоичных файлов БД. Например, размер моей БД WordPress составляет 39 мегабайт, в то время как дамп этой БД получился размером в 41 мегабайт. Это несколько больше размера БД в двоичном виде, поскольку дамп содержит некоторую избыточную информацию.

Также mysqldump может создавать дампы не всей БД, а отдельных таблиц.

Восстановить БД из дампа ещё проще. Давайте представим, что необходимо восстановить базу данных с именем wordpress_db из файла wordpress.sql, который мы создали ранее. Всё, что нам понадобится для этого, это имя базы данных, путь к файлу дампа и имя пользователя MySQL, имеющего достаточные привилегии для этого:

База данных, дамп которой вы собираетесь загрузить, должна существовать к моменту восстановления. Так, если вы переносите базы данных с одного хоста на другой при помощи дампов, вам нужно прежде создать пустые базы данных, и только потом загружать в них дампы.

Итоги

Конечно, для полноценного администрирования MySQL вы должны знать гораздо больше. Как я уже говорил, можно вполне неплохо администрировать MySQL и при помощи phpMyAdmin. В будущих статьях я расскажу вам о нём, а также о более продвинутом использовании MySQL. А пока, я надеюсь, это руководство станет полезным для пользователей, которых интересуют лишь простые операции с MySQL, знание которых не требует квалификации администратора баз данных.

Ссылка на основную публикацию
Adblock
detector