Установка и настройка MySQL сервера на Ubuntu

Установка сервера и клиента чтобы можно было через консоль заливать файлы:

sudo apt-get install mysql-server mysql-client

Директория с файлами конфигурации находится по адресу:

/etc/mysql

Директория хранения баз данных:

/var/lib/mysql

Чтобы разрешить удаленный доступ к mysql серверу, в конфигурационном файле /etc/mysql/my.cnf необходимо закомментировать строку bind-address = 127.0.0.1 (поставить перед ней символ #) и выполнить перезапуск mysql сервера чтобы изменения применились:

sudo service mysql restart

Можно установить пароль root, удалить базу test, запретить удаленный доступ root пользователю и настроить прочие параметры безопасности выполнив команду:

sudo mysql_secure_installation

Покажу некоторые примеры команд:
Подключение к mysql через командную строку:

mysql -u имяпользователя -p

Просмотр доступных баз данных:

show databases;

Открываем нужную базу данных:

use имябазы;

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

show tables;

Либо создаем новую базу:

create database имябазы;

Удаление базы:

drop database имябазы;

Создание пользователя:

CREATE USER 'имяпользователя'@'localhost' IDENTIFIED BY 'пароль';

Даем пользователю полные привилегии над нужной базой:

GRANT ALL PRIVILEGES ON имябазы.* to 'имяпользователя'@'localhost';

Создание дампа базы данных (будет сохранен в домашнюю папку пользователя):

mysqldump -u имяпользователя -p имябазы > имядампа.sql

Заливаем дамп в нужную базу:

mysql -u имяпользователя -p имябазы < имядампа.sql

Команда справки — help

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

mysql -uroot -p
DROP DATABASE test;

Смотрим привилегии для пустого пользователя и если он существует, то удаляем:

SHOW GRANTS FOR ''@'localhost'
DROP USER "";
quit

Смотрим какие существуют пользователи и какие у них привилегии:

use mysql;
select * from user;

Проверяем запущен ли сервер:

sudo netstat -tap | grep mysql

Проверяем соединения на порте 3306:

netstat -na | grep 3306

Можно посмотреть пакеты на порт 3306, когда возникают проблемы с подключением к mysql из вне:

tcpdump port 3306
tcpdump port 3306 -i eth0

Смотрите также:
IPTables правила для MySQL
Восстановление MySQL таблиц
Прочее

Подписаться на IT Blog (RU) по Email
Subscribe to IT Blog (EN) by Email

Did my article help you? How about buying me a cup of coffee as an encouragement? Buy me a coffe.

Добавить комментарий