Как открыть mysql linux

Sergey Danielyan

Правильная установка и настройка MySQL в Linux

Эта статья, по замыслу, должна служить пошаговым руководством по корректной настройки MySQL сервера в Linux в общем и в CentOS в частности, начиная от подготовки системы и заканчивая настройкой прав пользователей.
В этот раз текста будет минимум — только команды.

Установка MySQL

Проверяем, установлен ли MySQL сервер

Если установлен, шаги по установке можете пропустить, хотя ознакомиться я все же советую с ними.

Существуют следующие основные пакеты связанные с mysql:

  • mysql — клиент mysql
  • mysql-server — сервер mysql
  • mysql-devel — для разработки и подключения библиотек и хидеров mysql
  • mysql-connector-java — JDBC коннектор (используется, например, в EJBCA)

sudo yum install mysql mysql-server mysql-devel mysql-connector-java

Теперь надо установить сервер mysql на запуск в определенные runlevel‘ы (2, 3 и 5):

Если кто забыл соответствие цифрового значения runlevel‘а символьному:

Стартуем демон mysql:

Настройка сервера

Теперь пора настроить сервер. Начнем с пользователей.

Вот состояние таблицы user до начала действий с ней:

mysql -u root
> use mysql
> select host,user from user;

5 rows in set (0.00 sec)
> quit

Как видете, безопасность на уровне плинтуса. Хорошо хоть, что анонимного пользователя нет.

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

Запустится скрипт, с запросами на то или иное действие. Вот ответы:

Skip root password for root
Мы еще не устанавливали пароль для root, поэтому при запуске скрипта и запросе пароля для root , просто нажмите Enter .

Install new password for root: security
А вот тут можно установить пароль для root

Do remove an anonymous user
На вопрос о том, удалить ли анонимного пользователя, отвечаем да

Do not disallow remote connections
Не запрещаем коннект к нашему северу с удаленных серверов (если, конечно, эта опция вам нужна, в другом случае, запретите ее)

Do remove a test database
Тестовая база нам не нужна — удаляйте ее

Do reload the privileges
Перегрузим привилегии для их активации

Теперь для всех root пользователей установлен пароль.

Если в ходе этой конфигурации вы не установили пароль для root , можете сделать это так:

SET PASSWORD FOR ‘root’@’localhost’ = PASSWORD(‘security’);
SET PASSWORD FOR ‘root’@’localhost.localdomain’ = PASSWORD(‘security’);
SET PASSWORD FOR ‘root’@’127.0.0.1’ = PASSWORD(‘security’);

UPDATE mysql.user SET Password = PASSWORD(‘security’) WHERE user = ‘root’;

Если же вы не запускали конфигурацию через mysql_secure_installation или не хотите этого делать по каким-то другим причинам, следующие команды удалят any пользователей:

DROP USER »@’localhost’;
DROP USER »@’localhost.localdomain’;

Также, пароль для IPv6 localhost (@::1) можно установить таким образом:

Близится финал нашего действия. Осталось две вещи:

  • открыть порты для mysql:

sudo iptables -I INPUT -p tcp —dport 3306 -m state —state NEW,ESTABLISHED -j ACCEPT
sudo iptables -I OUTPUT -p tcp —sport 3306 -m state —state ESTABLISHED -j ACCEPT

выставить кодировку UTF-8 по-умолчанию — файл /etc/my.cnf :

[mysqld]
init_connect=‘SET collation_connection = utf8_unicode_ci’
character-set-server = utf8
collation-server = utf8_unicode_ci

Читайте также:  Windows find error code

[client]
default-character-set = utf8

Источник

Установка MySQL Linux — настройка и запуск

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

В ОС Linux система работает в качестве демона — запущенного сервера.

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

Думается, аргументов хватит.

В различных дистрибутивах установка и запуск MySQL Linux производится немного по-разному, а настройка MySQL сервера одинакова.

Все действия производится от имени суперпользователя.

Установка MySQL в трех популярных дистрибутивах

Сейчас Gentoo нормально тянет нужные пакеты, если в выводе этой команды потребуется добавить что то и MySQL не установится, нужно добавить строки, подсвеченные зеленым шрифтом в файл /etc/portage/package.use, сохранить его и снова произвести установку.

Далее производим начальную настройку, генерируя конфигурацию по умолчанию

Запуск MySQL Linux:

добавляем его в автозагрузку:

Далее запускам демона и создаем первичную конфигурацию добавляем его в автозапуск:

Debian подобные системы, тоже устанавливаем, запускаем сервер, делаем его автоматически стартуемым, только первичная конфигурация создается не отдельной командой, а в процессе всей установки

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

первый вопрос пропускаем, нажимаем Enter, на втором устанавливаем пароль для root – администратора сервиса, на третьем удаляем анонимного пользователя (жмем букву Y), на 4-м разрешаем соединения с удаленными серверами, на 5-м — оставляем пока тестовую базу, и в завершении перезагружаем привилегии (опять жмем Y).

Затем смотрим таблицу пользователей командой:

Выйдет табличка в псевдографике, в ней должен остаться один пользователь root.

Если на компьютере настроен файрволл, то откроем на нем tcp-порт 3306 для MySQL на входящие и исходящие соединения.

Запуск MySQL Linux сервера после окончательной настройки

Далее надо сделать заново запуск MySQL Linux сервера, и уже можно работать.

Вводим в консоль MySQL, в консоли появится приглашение

Далее, вводя команды (сервис работает со стандартным языком MySQL-запросов), можно:

  • SHOW DATABASES; -посмотреть существующие базы данных;
  • CREATE DATABASE test2; — создать новую базу данных с именем test2;
  • USE test2; — использовать для текущих изменений базу test2;

Можно составлять таблицы, заполнять их содержимым, настраивать связи, создавать запросы для извлечения данных, т.е. уже полноценно работать с базами данных.

Такая установка MySQL Linux довольно примитивна, обычно ставится сразу три пакета — php, веб-сервер и MySQL, так как они тесно взаимосвязаны. Такой метод позволяет управлять базами данных и веб-приложениями уже не в консоли, а в окне браузера.

Также рекомендуем Вам к прочтению статьи, имеющие к этой процедуре отношение:

Источник

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

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

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

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

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

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

Читайте также:  Install linux in ssd

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

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

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

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

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

Достать информацию о юзере с >

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

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

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

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

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

Что делать если вижу знаки вопросов вместо текста в MySQL?

Это проблема с кодировкой. Вероятно в my.ini файле mysql-сервера не добавлено:

Нужно добавить в .ini файл либо выполнить в консоли команду «SET NAMES utf8», после чего во время текущей сессии отображаться русский текст в mysql-консоли будет без проблем:

Как сделать бэкап базы 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 в терминале реально повысили мою производительность.

  • Как сделать копию структуры таблицы в mysql? Решено!
  • Как добавить AI в существующую таблицу MySQL? 2 ответа
  • Установить mysql 5.6 на travis Решено!
  • mysqldump только структуры таблиц 1 ответ
  • mysqldump: Got error: 1044: Access denied for user when using LOCK TABLES 1 ответ
  • MySQL — изменение полей, структуры таблицы 0 комментариев
  • Запросы инъекции для mysql 0 комментариев
  • Доступ к mysql из-вне3 комментария
  • Mysql перенос таблиц из одной базы данных в другую 0 комментариев
  • Анализ производительности MySQL с использованием performance_schema 0 комментариев

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

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

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

Источник

Работа с MySQL базами данных в консоли Linux

Долгое время все основные операции с MySQL-базами я проводил в веб-интерфейсе — посредством обычной хостинг-панели и утилиты PhpMyAdmin. В таком формате все администрирование базы данных ложилось на плечи приложения PhpMyAdmin, которое написано на языке PHP и зависит от разных факторов, например конфигурации веб-сервера, версий программного обеспечения и самого PHP. Когда количество баз данных растет, а окружения постоянно меняются, MyPhpAdmin требует дополнительных ресурсов и настройки, иначе может работать не совсем стабильно, например срабатывают ошибки, лимиты и таймауты. Да и сам веб-интерфейс имеет свои ограничения, поэтому для серьезных задач профессионалы используют только командную строку. Как выяснилось, это намного быстрее, стабильнее и безопаснее. В этой заметке хочу поделиться основными командами для работы с MySQL/MariaDB в консоли VPS-сервера под управлением ОС Linux.

Читайте также:  Make double glazed windows

Подключение

mysql -u username -p #подключение к MySQL-серверу от имени пользователя

mysql -u username -p databasename #подключение к базе данных от имени ее пользователя

exit #покинуть базу данных и оборвать соединение с MySQL-сервером

Создание

CREATE DATABASE databasename; #создать базу данных с указанным именем

SHOW CREATE DATABASE databasename; #создание базы данных с выводом параметров

CREATE DATABASE `databasename` CHARACTER SET utf8 COLLATE utf8_general_ci; #создание базы данных с указанными параметрами (кодировка utf8)

CREATE USER ‘username’@’localhost’ IDENTIFIED BY ‘userpassword’; #создать пользователя базы данных с именем и паролем

GRANT ALL PRIVILEGES ON databasename.table_of_database TO ‘username’@’localhost’; #предоставить пользователю права доступа к базе данных и ее таблице

GRANT ALL PRIVILEGES ON databasename.* TO ‘username’@’localhost’; #предоставить пользователю права доступа ко всем таблицам указанной базы данных

GRANT ALL PRIVILEGES ON *.* TO ‘username’@’localhost’; #предоставить пользователю права доступа ко всем базам данных и таблицам

GRANT SELECT, INSERT, DELETE ON databasename.* TO ‘username’@’localhost’; #предоставить пользователю ограниченные права доступа с возможностью выбирать базу данных, вставлять строки в таблицы, удалять строки

FLUSH PRIVILEGES; #применить, чтобы установленные права доступа для пользователя вступили в силу

REVOKE ALL PRIVILEGES ON databasename.* TO ‘username’@’localhost’; #отменить все права доступа к указанной базе данных и всем ее таблицам для пользователя

Просмотр

SHOW DATABASES; #показать все базы данных

USE databasename; #перейти в указанную базу данных

SHOW TABLES; #показать все таблицы текущей базы данных

SELECT * FROM tablename; #показать содержание указанной таблицы базы данных

SELECT User FROM mysql.user; #вывести на экран всех пользователей MySQL

SELECT User, Host FROM mysql.user; #вывести на экран всех пользователей MySQL и их хосты

SELECT User, Host, Password FROM mysql.user; #вывести на экран всех пользователей MySQL, их хосты и пароли (количество параметров можно добавлять)

SHOW GRANTS; #просмотр всех привилегий активного пользователя

SHOW GRANTS FOR ‘username’@’localhost’; #показать права доступа (привилегии) для указанного пользователя базы данных

Операции

DROP DATABASE databasename; #удалить базу данных

DROP USER ‘username’@’localhost’; #удалить пользователя базы данных

SET PASSWORD FOR ‘username’@’localhost’ = PASSWORD(‘newpassword’); #установить пароль для пользователя базы данных

RENAME TABLE tablename TO newtablename; #переименовать название ранее выбранной таблицы базы данных (выбор с помощью USE)

DELETE FROM tablename WHERE fieldname = ‘name’; #удалить строку из указанной таблицы

ALTER TABLE tablename DROP INDEX columnname; #удалить столбец из базы данных

TRUNCATE TABLE Tablename; #полное удаление содержимого таблицы базы данных

mysqldump -u username -p databasename > dump_file.sql #создание резервной копии базы данных (дамп)

mysqldump -u root -p -B dbname1 dbname2 > dump.sql #создание дампа выбранных баз данных

mysqldump -u root -p -A > dump.sql #дамп всех баз данных

mysql -u root -p namedatabase #восстановление или импорт дампа базы данных

SHOW GLOBAL STATUS; #вывести на экран статистику MySQL-базы данных

Источник

Оцените статью