Linux
  • << DEBIAN >>

  •   Сървър на отделни хостове
  •     DNS Сървър
  •     SQL Сървър
  •     WEB Сървър
  •     Пощенски Сървър
  •   PXE Server
  •   PXE UEFI Server - TFTP
  •   Debian 9
  •     Инсталиране на Debian 9
  •     Първоначални настройки (мрежа, VIM, Кирилизация)
  •     Инсталиране и настройка на SSH
  •     Инсталиране и настройка на DNS
  •     Инсталиране и настройка на NTP
  •     Инсталиране и настройка на Apache
  •     Инсталиране и настройка на MySQL (MariaDB)
  •     Инсталиране и настройка на PHPMyAdmin
  •     Инсталиране и настройка на собствен облак
  •     Инсталиране и настройка на SAMBA
  •     Инсталиране и настройка на FTP сървър
  •     Инсталиране и настройка на OSCAM
  •     Инсталиране и настройка на Mail server
  •       Първоначално конфигуриране на базата данни
  •       Инсталиране и конфигуриране на PostFix
  •       Инсталиране и конфигуриране на Dovecot
  •       PostFix дефинира Dovecot да удостоверява
  •       RoundCube
  •       Тестване доставката на поща
  •       Създаване на TLS криптиран ключ и сертификат
  •       WEB администриране
  •       Антиспам със SpamAssassin
  •       Антиспам с RSpmad
  •   Debian 11
  •     Как зарежда Linux
  •     Разпределение на диска при BIOS и UEFI
  •     Debian 11 на BIOS върху LVM и RAID
  •     Инсталиране на Debian 11 на BIOS и ZFS
  •     Инсталиране на Debian 11 на BIOS и ZFS-1
  •     Инсталиране на Debian 11 на UEFI и ZFS
  •     ZFS Замяна на развален огледален диск
  •     Ремонт на GRUB и INITRAMFS
  •   Debian 12
  •     Първоначални настройки
  •     DNS Сървър
  •     Добавяне на втори диск
  •     Файлов сървър + WEBMIN
  •     SAMBA
  •     Инсталиране и настройка на Apache
  •     Инсталиране и настройка на Nginx
  •     MySQL и PHPMyAdmin
  •     Елементарен MAIL сървър
  •       Подобрение SSL/TLS, Maildir, LMTP
  •       Подобрение ВИРТУАЛИЗАЦИЯ без MySQL
  •       Подобрение ВИРТУАЛИЗАЦИЯ и MySQL
  •       Подобрение Антиспам - SpamAssasin
  •       Подобрение Антиспам - RSpamd
  •       Защита - SPF, DKIM и DMARK
  •       Подобрение Антивирус
  •     Пълноценен MAIL сървър
  •     Пощенски сървър с iRedMail и PHPMyAdmin
  •       DKIM, SPF и DMARK
  •     MAIL сървър за вътрешна мрежа
  •     NextCloud
  •     Сървър за отдалечен достъп - RustDESK
  • << UBUNTU >>
  •   Ubuntu SERVER 22.04
  •     Инсталиране на Ubuntu 22.04 Server
  •     Първоначални настройки на Ubuntu 22.04 Server
  •     DNS в Ubuntu 22.04 Server
  •     MySQL Apache PHPMyAdmin
  •     Пощенски сървър
  •       Пощенски сървър в опростен вариант
  •       PostFix, Dovecot по-подробно
  •   Ubuntu mini
  • << RAID >>
  •     BIOS RAID1+MSDOS
  •     BIOS RAID1+MSDOS+LVM
  •     UEFI RAID1
  • << BTRFS >>
  •     BTRFS - създаване монтиране fstab размер
  •     BTRFS - RAID
  •     BTRFS - subvolume и snapshot
  • << КОНТЕЙНЕРИ >>
  •     Инсталиране на LXC/LXD
  •     Образи (image) в LXC/LXD
  •     Контейнери в LXC/LXD
  •     Команди в LXC/LXD
  • << ОТСТРАНЯВАНЕ НА ГРЕШКИ >>
  •     SWAP
  •     InitRAMFs
  • Инсталиране и настройка на MySQL (MariaDB)

    В наши дни каквото и сериозно да се захване човек, няма как да не се сблъска с бази данни. Един от многото случаи е използването на MySQL. Може би най-популярния, затова ще разгледамe него. Също така беше добре, да видим как работят помежду си Apache MySQL и PHP, но това ще го оставим за по късно, когато ще правим пощенски сървър. Тогава има доста тънки моменти на които трябва да се обърне внимание и мисля, че тогава ще стане ясно на взаимодействието им. Като за начало да инсталирамe MySQL (в Debian 9 вече се ползва MariaDB)

    # apt-get install mariadb-server


    Да проверим дали работи:

    # systemctl restart mysql.service # systemctl status mysql.service mariadb.service - MariaDB database server Loaded: loaded (/lib/systemd/system/mariadb.service; enabled; vendor preset: enabled) Active: active (running) since Thu 2017-12-28 09:10:01 EST; 2min 39s ago Main PID: 5773 (mysqld) Status: "Taking your SQL requests now..." CGroup: /system.slice/mariadb.service └─5773 /usr/sbin/mysqld Dec 28 09:09:59 home systemd[1]: Starting MariaDB database server... Dec 28 09:10:00 home mysqld[5773]: 2017-12-28 9:10:00 140111870419520 [Note] /usr/sbin/mysqld (mysqld Dec 28 09:10:01 home systemd[1]: Started MariaDB database server.


    Да изтрием някои настройки по подразбиране и да направим нашия MySQL по сигурен.

    # mysql_secure_installation Enter current password for root (enter for none): Enter # Просто натискаме Change the root password? [Y/n] Y New password: MySQL Re-enter new password: MySQL 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


    Проверка дали MySQL е свързан с localhost

    # cat /etc/mysql/mariadb.conf.d/50-server.cnf |grep bind bind-address = 127.0.0.1


    Сега малко практика, влизаме с главния потребител, root в MySQL

    # mysql -u root -p Enter password: MySQL Welcome to the MariaDB monitor. Commands end with ; or \g. Your MariaDB connection id is 3 Server version: 10.1.26-MariaDB-0+deb9u1 Debian 9.1 Copyright (c) 2000, 2017, Oracle, MariaDB Corporation Ab and others. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.


    Показване на налични бази данни

    mysql> show databases;


    Влизне в базата данни mysql

    mysql> use mysql;


    Показване на таблиците в базата mysql

    mysql> show tables;


    Избиране елемент от таблицата в базата mysql

    mysql> select * from mysql.host;


    Да видим и кой има права в базата данни mysql

    MariaDB [(none)]> select user,host,password from mysql.user;


    До тука само root има права върху база mysql. Излизаме от mysql

    mysql> quit


    Създаване/триене на потребител в MySQL и дефиниране на права върху базите.

    mysql> drop user 'pfuser'@'127.0.0.1';

    Трие потребител pfuser@127.0.0.1 от MySQL


    mysql> create user 'psfuser'@'127.0.0.1' identified by 'pfpass';

    Създава потребител pfuser@127.0.0.1 с парола pfpass


    mysql> grant all privileges on pfdb.* to 'pfuser'@'127.0.0.1';

    Дава пълни права на потребителя pfuser@127.0.0.1 върху базата pfdb Вместо all privileges може да се изброят оделни дейности (примерно select, insert, update,delete) ALL PRIVILEGES - дава пълни права на потребителя върху MySQL базата (ако няма указана база то е върху всички бази). CREATE - позволява създаване на нова база данни. DROP - позволява триене на таблица или база данни. DELETE - позволява триене на редове от таблици. INSERT - позволява добавяне на редове в таблицата. SELECT - указва да чете от базата данни. UPDATE - позволява редактиране на редове в таблицата.


    mysql> flush privileges;

    Активира промените, като чисти вътрешния кеш. На практика презарежда таблиците. За дефиниране на права на конкретен потребител се ползва GRANT

    GRANT [тип право] ON [име база данни].[име таблица] TO ‘[име на потеребителя]’@'localhost’; (вместо localhost може да се ползва IP)


    За лишаване на права е практически същото

    REVOKE [тип право] ON [име база данни].[име таблица] TO ‘[име на потеребителя]’@'localhost’; (вместо localhost може да се ползва IP)


    Създаваме празна база данни

    # mysql_install_db


    За сега толкова с MySQL-a, в бъдеще когато правим Mail сървъра ще задълбочим в ползването му.