Автор оригинала: LikeGeeks.
В этом посте мы охватим много аспектов MySQL на Linux. Прежде всего, как его установить, как выполнить основные операции CRUD, как импортировать и экспортировать данные, играть с самим двигателем MySQL, таким как настройка пароля пользователя root и гораздо больше.
MySQL является одним из самых популярных реляционных баз данных двигателей в мире. Это заработало свою славу для того, чтобы быть открытым исходным кодом и довольно стабильным.
Он также совместим с большинством известных языков программирования. Конечно, можно установить его и использовать его на большинстве Linux дистрибутивы Это существуют, например, Ubuntu и Centos. Давайте начнем.
Установите MySQL на Linux Ubuntu и CentOS
Первый шаг к использованию MySQL на Linux, очевидно, чтобы установить его в нашу систему.
Ubuntu и CentOS являются двумя из наиболее часто используемых дистрибутивов Linux. В случае Ubuntu он довольно популярен среди новичков, которые приходят из других операционных систем, таких как Windows.
Недавно канонические; Компания за развитием Ubuntu была профилизована Ubuntu, которая будет использоваться на серверах.
С другой стороны, CentOS родился в виде клона Red Hat Enterprise Linux, и он всегда использовался в области серверов в качестве основной цели.
Поэтому, если вы используете Ubuntu, вы можете установить MySQL, набрав эту команду в сеансе терминала:
$ sudo apt установить mysql-сервер
Затем после набора пароля пользователя он начнет загрузку и последующую установку.
С другой стороны, CentOS не включает MySQL по умолчанию в своих репозиториях. Тем не менее, легко добавить репозиторий MySQL для его установки. Сначала переключитесь в пользователь root, а затем добавьте репозиторий.
$ yum Установите https://dev.mysql.com/get/mysql80-Community-relase-el7-2.noarch.rpm
Введите Y, чтобы начать процесс.
Теперь вы можете установить MySQL на Centos. Просто введите следующую команду:
$ yum Установить MySQL-Server-Server
Проверьте, установлен ли MySQL
Возможно, что во время установки на обе системы что-то пошло не так. Так что это хорошая идея проверить, установлен ли MySQL или нет.
В обеих системах (Ubuntu & Centos), если вы хотите проверить, установлен ли MySQL правильно, вы можете показать версию свою версию с помощью следующей команды:
Показывая текущую версию MySQL, это означает, что MySQL правильно устанавливается и готов к использованию.
Где MySQL установлен на Linux?
Как правило, каждое распределение Linux имеет свой способ распаковки каждого из программ, которые мы устанавливаем. Тем не менее, у Linux есть некоторые конвенции.
Обычно, MySQL-двоичные файлы, когда-то установлены, хранятся в следующих местах:
С другой стороны, полезно знать, где хранятся базы данных в системе. Обычно местоположение выглядит следующим образом:
Наконец, если вы хотите знать, где расположены все установленные файлы MySQL, вы можете запустить следующую команду:
Для Ubuntu:
Где находится файл конфигурации MySQL (My.cnf)?
MySQL работает как системный сервис. В семейных системах UNIX услуги настраиваются через текстовые файлы. Файл my.cnf — это файл, в котором определены все конфигурации MySQL.
Если вы используете Ubuntu, вы можете найти файл конфигурации MySQL на следующем пути:
С другой стороны, если вы используете CentOS, путь выглядит следующим образом:
Одно следует иметь в виду, что файл конфигурации может включать в себя другие файлы конфигурации. Это для разделения конфигураций и сделать их более понятными.
Если вы хотите увидеть его контент, вы можете использовать Команда Cat :
Вы можете редактировать его контент, используя текстовый редактор, такой как нано или погиб . В случае Ubuntu большинство конфигураций находятся в/etc/mysql/conf.d/
Помните, что если вы собираетесь редактировать его, но рекомендуется сначала создать резервную копию файла.
Запустите mysql и включить на запуск
Теперь MySQL установлен, но все еще не работает. Так как начать mysql?
С предыдущих версий Linux, Systemd отвечает за управление системными службами. Как мы уже можем знать, MySQL является системной службой.
Чтобы начать запустить службу MySQL, введите следующую команду в терминале:
$ sudo systemctl Начните mysql
Если вы используете CentOS, используйте эту команду как пользователь root:
Как мы видим, нет вывода. Это означает, что услуга началась успешно.
Если вы перезагрузите систему, вы заметите, что MySQL не работает. Поэтому нам нужно включить его для запуска системы.
Для этого используйте команду systemctl, но добавьте опцию Включить:
$ sudo systemctl Включить mysql
В том случае вы используете CentOS:
$ systemctl Включить MySQLD
Теперь, если вы перезагрузите систему, отметим, что MySQL работает. Давайте посмотрим, как это гарантировать.
Проверьте, работает ли MySQL
Вы можете проверить, работает ли MySQL или не использует команду systemctl, но добавление параметра состояния:
$ sudo systemctl Статус mysql
Для CentOS команда должна работать как пользователь root и следующим образом:
$ systemctl Статус mysqld
Команда генерирует вывод экрана с зеленым сигналом, указывающим, что служба работает.
В противном случае он появляется в серых, указывающих на то, что он неактивен или остановлен.
Проверьте, какой порт MySQL это работает
Важной частью управления службой MySQL является знать, на какой портируйте экземпляр включен. По умолчанию порт, используемый MySQL 3306 Однако всегда рекомендуется проверить перед началом работы.
Чтобы проверить, какой порт используется MySQL на Linux, вы можете использовать одну из этих двух команд:
$ lsof -n | grep ‘mysql. * TCP’
Или вы можете использовать этот тоже:
$ netstat -tlpn | grep mysql.
В любом случае, довольно полезно знать, какой порт используется MySQL, чтобы открыть этот порт, если вы используете брандмауэр, как Iptables. или брандмауэр CSF.
Перезапустите MySQL
Если вы внесите какие-либо изменения в настройки MySQL, они не будут эффективными, пока вы не перезагрузите MySQL или перезапустите службу MySQL.
Чтобы перезапустить MySQL, просто используйте следующую команду:
$ sudo systemctl перезагрузите mysql
Для CentOS используйте этот, как пользователь корня:
$ systemctl перезагрузите mysqld
Если команда не генерирует никакой вывод экрана, это означает, что служба была успешно перезапущена.
Установить пароль root для mysql
Пользователь root mysql — это тот, у кого есть все привилегии по всем базам данных. Так что необходимо определить очень сильный пароль для этого пользователя.
Некоторые из операций, которые могут сделать пользователь root, должны создавать новые пользователи. А также управлять разрешениями этих.
Для этого мы будем использовать mysql_secure_installation Сценарий, где мы не можем определить только пароль пользователя root, но мы также можем добавить другие конфигурации.
Итак, в Ubuntu запустите следующую команду, чтобы использовать сценарий MySQL_Secure_Installation.
sudo mysql_secure_installation.
On CentOS команда одинакова, но запустить его как пользователь root.
$ mysql_secure_installation.
Там будет первый вопрос, собирается активировать плагин Validate Password. Это хорошая идея, чтобы включить это. Затем выберите уровень политики проверки пароля.
Далее мы можем установить пароль пользователя root:
После этого плагин оценивает прочность пароля. Введите Y, чтобы продолжить.
Затем вам будет задано другие вопросы конфигурации, которые вы должны ответить. Ответы зависят от каждого конкретного случая.
Поздравляю! Корневой пароль был правильно определен.
Проверьте версию MySQL
MySQL — это приложение с довольно активным развитием. Кроме того, крупные дистрибутивы Linux постоянно отправляют патчи безопасности. Так что полезно знать, какая версия MySQL установлена.
С другой стороны, в Интернете они часто делают публикации о обнаруженных уязвимых уязвимых возможностях безопасности и какие версии затронуты.
Зная, какую версию у нас есть, мы сможем узнать, есть ли у нас есть какие-либо уязвимости и принять меры предосторожности.
Для этого просто запустите следующую команду:
Там вы можете увидеть текущую версию, которая установлена. Так что вы можете обновить его или держать его в соответствии с нашими потребностями.
Создать пользователя на MySQL
Работа с MySQL — это деликатное дело, а не из-за сложности самого обслуживания, а из-за политики безопасности мы должны реализовывать для защиты данных.
Базовая политика безопасности состоит в том, чтобы создать конкретные пользователи для каждого приложения или базы данных.
Для этого вы должны сначала получить доступ к MySQL Shell в качестве пользователя root:
На Centos:
Когда вы запускаете команду, вам будет задано пароль пользователя MySQL Root. Затем вы сможете использовать команды mysql.
Чтобы создать новый пользователь, запустите следующее предложение:
> Создайте пользователь «Пользователь» @ ‘localhost’, идентифицированный на «пароль»;
Замените «пользователь» с именем пользователя по вашему выбору. «Localhost» — это хозяин, где вы создадите пользователя. А в «пароле» введите пароль для этого нового пользователя. Точно так же рекомендуется, чтобы это был сильный пароль.
Предоставить все привилегии
Вновь созданный пользователь не имеет никакой привилегии в любой базе данных. На самом деле, вы бы не сможете получить доступ к оболочку MySQL. Затем пользователь root должен предоставить определенные привилегии для этого нового пользователя.
Существует несколько привилегий, и их назначение будет зависеть от администратора сервера. Некоторые из них:
- Все привилегии: присваивает все разрешения на выбранную базу данных.
- СОЗДАЙТЕ: Эта привилегия позволяет создавать новые таблицы или базы данных.
- УРОНИТЬ: В этом случае он позволяет удалить таблицы и базы данных.
- Удалить: Это позволяет удалять записи из таблиц.
- ВСТАВЛЯТЬ: С этой привилегией вы можете создавать записи в таблицах.
- Выберите: эта привилегия требуется для чтения записей из таблиц.
- Обновление: это позволяет обновлять записи таблицы.
- Вариант гранта: С этой привилегией пользователь может удалить привилегии от определенных пользователей.
Синтаксис для предоставления привилегии заключается в следующем:
> Грант [привилегии, привилегии] на [базе данных]. [Таблица] для «[user] @ ‘localhost’;
Например:
> Грант создать на тесте. * Для «пользователя» @ ‘localhost’;
Напротив, если вы хотите предоставить все разрешения на все таблицы в одном вызове для тестовой базы данных, лучший вариант — это привилегии. Это пример:
> Предоставить все привилегии на тесте. * Для «пользователя» @ ‘localhost’;
Таким образом, привилегии назначаются пользователю в MySQL.
Перечислите все базы данных MySQL
Со временем наш экземпляр MySQL будет изобилен многими базами данных. Затем в какой-то момент лучше перечислить их всех.
Для этого сначала доступа к Console MySQL с следующей командой в качестве пользовательского пользователя root или с помощью sudo:
Как только мы ввели консоль MySQL, просто используйте следующую команду, чтобы переписать все существующие базы данных:
На выходе экрана мы можем увидеть все базы данных.
Создать таблицу MySQL
Одной из самых основных операций, когда вновь созданный экземпляр MySQL является создание таблицы.
Однако для создания таблицы мы сначала создаем базу данных.
Как только мы ввели консоль MySQL, мы создаем базу данных со следующей командой:
> Создать базу данных [База данных_name];
Затем нам нужно выбрать вновь созданную базу данных.
В этом случае я создадим базу данных под названием «Пример».
Теперь мы можем создать таблицу. Основной синтаксис MySQL для создания таблицы является следующим:
> Создать таблицу [table_name] (столбец1_name data_type (длина) [Не NULL] [Значение по умолчанию] [Auto_increment], column2_name data_type (длина) [Не NULL] [Значение по умолчанию] [АВТОМАТИЧЕСКОЕ ПРИРАЩЕНИЕ] … ) ;
В следующем примере я создадим таблицу под названием «Человек» с тремя колоннами. Первый будет «ID», который будет целочисленным типом длины 10, который не может быть нулевым.
Как правило, первый столбец, который предназначен для первичного ключа. Кроме того, варианты в [] являются необязательными.
Второй столбец будет «именем», который будет Varchar длиной 10, и последний столбец будет называться «last_name», который также будет Varchar длиной 10.
> Создать лицу таблицы (ID INT (10) Не NULL, Имя varchar (10), last_name varchar (10));
Потрясающие! Вы только что создали таблицу MySQL. Однако таблица пуста, так как она только что создана, и еще не вставлены данные. Теперь давайте посмотрим, как вставить данные в эту таблицу.
Трудные операции
Операции CRUD к таблице базы данных являются другими очень основными операциями манипулирования данных. Итак, нам нужно научиться делать их.
Crud означает:
C : Создайте таблицу.
R : Читайте данные из базы данных.
U : Обновление базы данных.
D : Удалите данные из базы данных.
Создать новую запись (вставка)
Как только таблица создана, это время для вставки записи в него. Для этого необходимо точно знать, какие типы столбцов таблицы.
Для этого примера мы будем использовать такую же таблицу, которую мы создали раньше. Основной синтаксис для создания записи с Вставить Заявление как следующее:
> Вставить в table_name (column1, column2, column3, ..) Значения (значение1, значение2, значение3, ..) ;
Итак, это было бы что-то вроде этого:
> Вставить в Лицо (ID, имя, имя, last_name) (1, «Ричард», «зимы») ;
Чтение данных из таблицы (выберите)
Как только данные были сохранены, настало время прочитать его. Заявление Выберите Отказ Основной синтаксис выглядит следующим образом:
> Выберите Column1, Column2, … из table_name;
Если вы хотите прочитать все данные в таблице, используйте этот:
> Выберите * из table_name;
Однако обычно требуется установить условие для чтения данных, которые нам нужны. У вас могут быть миллионы или миллиарды записей, и очень рекомендуется не вернуть все эти данные одновременно.
Для этого добавьте пункт, где вместе с условием.
> Выберите * из table_name Где [состояние]
Например, если я хотел прочитать все поля, где идентификатор 1, я бы использовал следующее утверждение:
> Выберите * от человека, где;
Обновлять данные
Возможно, вы вставили неверные данные, поэтому вам нужно его обновить. Для этого нам нужно использовать оператор обновления.
Во-первых, вам нужно знать, какая запись должна быть обновлена, необходимо добавить небольшое состояние. В противном случае все записи будут обновлены. Таким образом, вы должны быть осторожны.
Основной синтаксис выглядит следующим образом:
> Обновить набор Table_Name, где [состояние];
Продолжаясь с предыдущим примером, если вы хотите обновить столбец «last_name» данных, идентификатор которых «1», вы сделаете это следующим образом:
> Обновить лицо, установленное где;
Теперь запустите снова выберите оператор, чтобы увидеть изменения:
Удалить запись
Если вы хотите удалить записи, вы можете использовать оператор удаления. Кроме того, вы должны использовать условие, чтобы узнать, какую запись для удаления.
Основной синтаксис команды Delete выглядит следующим образом:
> Удалить из table_name Где состояние;
Например, если вы хотите удалить запись, идентификатор которой имеет значение 1, оператор будет следующим:
> Удалить от человека, где;
Импорт файла SQL
MySQL позволяет импортировать резервное копирование базы данных в формате SQL. Это отличное преимущество, если мы хотим переместить базу данных на новый сервер.
Первое требование состоит в том, чтобы создать базу данных, где будет импортирован файл SQL.
> Создать пример базы данных2;
Затем мы можем выйти из консоли, используя следующую команду:
После этого мы можем начать импортировать файл со следующей командой в качестве пользователя root:
$ sudo mysql -u username -p [База данных] <[SQL_FILE_PATH]
Обратите внимание, что необходимо написать полный путь, в котором находится файл SQL. В нашем случае файл «file.sql» расположен в домашней папке.
Экспорт базы данных
Если MySQL может импортировать базу данных, то она также может экспортировать базу данных в файл SQL.
Для этого, не будучи в консоли MySQL, мы запускаем следующую команду:
$ sudo mysqldumm —u username -p database_to_export> file.sql
Вы можете проверить результаты, используя ls command :
При запуске команды вы будете предложены для пароля пользователя MySQL Root.
Кроме того, помните, что эта команда должна выполняться пользователем root системы или использовать sudo. Наконец, можно выбрать путь выходного файла.
База данных резервного копирования
MySQL имеет инструмент под названием MySQLLUM, который позволяет сделать резервные копии баз данных в экземпляре MySQL. Это очень полезный и проворный инструмент.
Создание резервной копии аналогично экспорту базы данных, как мы видели раньше. Однако с этим инструментом также возможно создать резервную копию всех существующих баз данных.
Для этого достаточно запустить следующую команду как пользователь root или sudo:
$ sudo mysqldump -u root -p —all-базы данных> alldatabases.sql
Сделать нечувствительный случай MySQL
При разработке независимых приложений имена таблиц обычно являются проблемой. По умолчанию MySQL чувствителен к регистру в именах таблиц.
Следовательно, в некоторых случаях требуется отменить это поведение.
Чтобы сделать это изменение, необходимо добавить директиву в файле конфигурации MySQL. Во-первых, остановите сервис MySQL.
$ sudo systemctl Стоп mysql
Если мы используем CentOS, команда выглядит следующим образом:
После этого отредактируйте следующий конкретный файл конфигурации. Так что откройте его с разрешения пользователя root:
На Ubuntu:
$ sudo nano/etc/mysql/mysql.conf.d/mysqld.cnf
Если мы используем CentOS, путь будет другим. Путь будет/etc/my.cnf.
Затем в разделе [MySQLD] добавьте следующую директиву:
lower_case_table_names.
Затем сохраните изменения и закройте файл.
Далее нам нужно снова начать службу MySQL.
$ sudo systemctl Начните mysql
И этого достаточно. Вы можете создавать таблицы с верхним и нижним регистром, а MySQL будет относиться к ним так же.
Где MySQL Logs на Linux?
Журнал файлов являются последовательными записями всех событий, связанных с определенной программой или системной службой.
Очень важно время от времени проверять их в поисках любого ненормального поведения в выполнении программы. Кроме того, когда служба MySQL не удается или не может начать, ошибка записывается непосредственно в журнале.
На Ubuntu журналы MySQL сохраняются в/var/log/mysql/error.log.
В случае CentOS файл находится в/var/log/mysqld.log.
Для просмотра содержимого файла вы можете использовать Команда хвоста Отказ Например:
$ хвост/var/log/mysql/журнал ошибок
Или, если вы используете Centos:
$ хвост/var/log/mysqld.log
Бегите его, вы сможете увидеть все, что произошло с сервисом.
Кроме того, вы можете использовать опциюF-файл с помощью команды Hait, чтобы постоянно увидеть последние обновления для записей журнала.
$ Tail -f/var/log/mysqld.log
Удалить MySQL
Если вы хотите удалить MySQL из Linux, просто вызовите менеджер пакета каждого распространения. Так что это не сложно.
В случае Ubuntu мы используем менеджер пакета APT. Чтобы удалить его, следующая команда достаточно:
On CentOS Manager Package — yum, так как пользователь root, использует следующую команду:
$ yum Удалить MySQL-Community-Server
Заключение
MySQL — очень популярная реляционная база данных. Его сила и простота использования, поскольку мы увидели, делает его любимым двигателем для большого количества разработчиков. Однако в этом посте мы охватываем некоторые основы MySQL на Linux.
Я надеюсь, что вы найдете урокул полезным. Продолжают возвращаться.
Оригинал: «https://www.codementor.io/@likegeeks/mysql-on-linux-beginners-tutorial-y86r70nhu»