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

Установить MySQL сервер и клиент в Ubuntu/Debian можно так:

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 USERNAME -p

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

show databases;

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

use DATABASENAME;

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

show tables;

Пример создания новой базы данных:

create database DATABASENAME;

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

drop database DATABASENAME;

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

CREATE USER 'username'@'localhost' IDENTIFIED BY 'password';

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

GRANT ALL PRIVILEGES ON databasename.* to 'username'@'localhost';

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

mysqldump -u USERNAME -p DATABASENAME > mysqldump.sql

Импорт дампа в нужную базу:

mysql -u USERNAME -p DATABASENAME < mysqldump.sql

Для получения справки можно набрать: help

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

DROP DATABASE test;

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

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

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

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 таблиц
Прочее

Оставьте комментарий

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