MySQL

БД MySql поставляется в CentOS в виде rpm пакетов с серверной и клиентской частью, а также вспомогательных пакетов, таких как интерфейс с perl. Начиная с CentOS 7 mysql заменен на mariadb.

Установка

yum install mariadb
yum install mariadb-server
yum install mariadb-client

После установки надо установить пароль администратора

systemctl start mariadb
mysqladmin password < secret_file

Если вы забыли пароль администратора, то надо остановить My SQL и временно запустить со сброшенным контролем доступа

systemctl stop mariadb
/usr/libexec/mysqld --skip-grant-tables &

#...Меняем пароль, рестартуем обычным образом
mysql -u root mysql
>update user set Password=password('newpassword') WHERE User='root';
>flush privileges;
>exit

killall -TERM mysqld

Создание новой БД и установка прав доступа для локального пользователя user1

mysqladmin -u root -p create mydb
echo 'GRANT ALL ON mydb.* to user1@localhost IDENTIFIED BY "mypassword";' | mysql -u root -p

Сохранение резервной копии/восстановление из копии

Сохранение (требует ввода пароля)

#вариант 1
mysqldump -u user1 -p mydb > mydb.sql

#альтернативный вариант, для автоматического удаления существующих таблиц при восстановлении
mysqldump -u user1 -p --add-drop-table mydb > mydb.sql

Восстановление

#Уничтожаем старые таблицы если сохраняли по 1му варианту
mysqldump -uuser1 -pmypassword --add-drop-table --no-data mydb | grep ^DROP | mysql -uuser1 -pmypassword mydb

#Восстанавливаем из копии
mysql -u user1 -p  mydb  < mydb.sql

Конфигурационный файл my.cnf

Настройки кодировки

[mysqld]
;Для клиентов которые не указывают кодировку при установке соединения
init-connect="SET NAMES UTF8"

;Кодировка на сервере по умолчанию
character_set_server=UTF8