Архив метки: MySQL

Как установить MariaDB на Debian 10

MariaDB — это многопоточная система управления реляционными базами данных с открытым исходным кодом, обратно совместимая замена для MySQL. MariaDB — это стандартная реализация MySQL в Debian.

В этой статье объясняется, как установить MariaDB в Debian 10.

 

На момент написания этой статьи последняя версия MariaDB, доступная в основной части Debian, — это версия 10.3.

Для установки MariaDB в Debian 10 выполните следующие действия как пользователь root или пользователь с привилегиями sudo:

  1. Начните с обновления индекса пакетов:
    sudo apt update
    
    
    
    

  2. Установите серверные и клиентские пакеты MariaDB, выполнив следующую команду:
    sudo apt install mariadb-server
    
    
    
    

    Как запустить сервер MariaDB

    systemctl start mariadb

    Как запустить сервер MariaDB при загрузке

    systemctl enable mariadb

  3. Сервис MariaDB запустится автоматически. Чтобы проверить это, проверьте статус услуги:
    sudo systemctl status mariadb

     

    Вывод должен выглядеть примерно так:

    ● mariadb.service - MariaDB 10.3.15 database server
    
       Loaded: loaded (/lib/systemd/system/mariadb.service; enabled; vendor preset: enabled)
    
       Active: active (running) since Thu 2019-07-11 14:36:28 PDT; 19min ago
    
         Docs: man:mysqld(8)
    
               https://mariadb.com/kb/en/library/systemd/
    
     Main PID: 4509 (mysqld)
    
       Status: "Taking your SQL requests now..."
    
        Tasks: 30 (limit: 2359)
    
       Memory: 78.6M
    
       CGroup: /system.slice/mariadb.service
    
               └─4509 /usr/sbin/mysqld

MariaDB поставляется со скриптом, который может помочь вам повысить безопасность установки. Чтобы запустить скрипт mysql_secure_installation в вашем терминале:

sudo mysql_secure_installation

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

...

Enter current password for root (enter for none):

...

Set root password? [Y/n] Y

New password: 

Re-enter new password: 

...

Remove anonymous users? [Y/n] Y

...

Disallow root login remotely? [Y/n] Y

...

Remove test database and access to it? [Y/n] Y

...

Reload privilege tables now? [Y/n] Y

...

Thanks for using MariaDB!

Если этот параметр выбран, сценарий перезагрузит таблицы привилегий, гарантируя, что изменения вступят в силу немедленно.

Все шаги объяснены подробно, и рекомендуется ответить «Y» (да) на все вопросы.

 

По умолчанию корневой пользователь MariaDB использует плагин аутентификации unix_socket, который проверяет эффективный идентификатор пользователя при вызове в mysql клиентского инструмента.

Это означает, что вы можете подключиться к серверу MariaDB как пользователь root, только если вы вызываете команду mysql как системный root или добавляете sudo к команде.

Для повышения безопасности рекомендуется оставить подключаемый модуль аутентификации по умолчанию и разрешить пользователю root проходить аутентификацию только через сокеты Unix.

Если вы хотите изменить аутентификацию root на классическую, войдите на сервер MariaDB:

sudo mysql

Запустите следующие операторы, чтобы изменить плагин аутентификации:

ALTER USER 'root'@'localhost' IDENTIFIED VIA mysql_native_password;

ALTER USER 'root'@'localhost' IDENTIFIED BY 'your_root_passwd';

Теперь вы можете подключиться к серверу MariaDB, используя новый пароль:

mysql -u root -p

Изменение плагина аутентификации также позволит вам войти в систему как root из внешней программы, такой как phpMyAdmin.

 

В этой статье мы показали, как установить и защитить MariaDB на сервере Debian 10.

Если у вас есть какие-либо вопросы или отзывы, не стесняйтесь оставлять комментарии.



2019-07-15T22:35:17
MariaDB

Как найти дубликаты записей электронной почты в таблице пользователей

Это очень краткий учебник, который описывает, как найти дубликаты записей электронной почты в таблице пользователей с помощью запроса MySQL. Мы использовали подзапросы с INNER JOIN, чтобы получить дубликаты адресов электронной почты из таблицы пользователя.

Войдите в свою CPanel и откройте PHPMyAdmin, а затем нажмите на вкладку SQL, скопируйте и  вставьте MySQL запрос ниже. Теперь нажмите на кнопку Go, чтобы увидеть результат запросов MySQL.

 Как найти дубликаты записей электронной почты в таблице пользователей

Мы надеемся, что это руководство поможет вам. Если оно вам нравится, то поделитесь им с друзьями 🙂



2018-02-21T05:59:08
База данных MySQL

Установка MySQL 5.5 на CentOS

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

Для начала определимся, какие файлы нам необходимо скачать, это Читать

Полезные команды MySQL

Моя подборка полезных команд для MySQL.

Узнать размер базы данных

SELECT table_schema "DB Name",
Round(Sum(data_length + index_length) / 1024 / 1024, 1) "DB Size in MB"
FROM   information_schema.tables
GROUP  BY table_schema
ORDER BY Round(Sum(data_length + index_length) / 1024 / 1024, 1) DESC;

Выводим 15 наиболее фрагментированных таблиц

Читать

Простой скрипт для бэкапа MySQL баз

#!/bin/bash

# Variables
CNF=/etc/mysql/debian.cnf
BACKUPDIR=/var/backups/mysql/
DATE=`date +%F`
OLDDAYS=7

# Main part
for DATABASE in `echo SHOW DATABASES | mysql —defaults-file=${CNF} —skip-column-names`;do
BACKUPNAME=${BACKUPDIR}${DATABASE}.sql.${DATE}
BZBACKUPNAME=${BACKUPNAME}.bz2
echo Dumping ${DATABASE} into ${BZBACKUPNAME}
mysqldump —defaults-file=${CNF} ${DATABASE} > ${BACKUPNAME}; bzip2 -f ${BACKUPNAME}
done

# Deleting old backups

find ${BACKUPDIR} -mtime +${OLDDAYS} -delete

Дампит и сжимает базы данных.
Можно (и нужно) добавить его в крон, например:

00 05 * * * root /usr/local/sbin/mysqlbackup.sh

P.S. Ах да, это юбилейный, сотый пост в моём бложике:)

Автор: AlexWinner