01 червня, Четвер, 2023
A- A A+

Налаштування MySQL PPA
Команда MySQL надає офіційний MySQL PPA для Debian Linux. Ви можете завантажити та встановити пакет у своїй системі Debian, який додасть файл PPA до вашої системи. Запустіть команду нижче, щоб увімкнути PPA.

wget http://repo.mysql.com/mysql-apt-config_0.8.13-1_all.deb
sudo dpkg -i mysql-apt-config_0.8.13-1_all.deb

Під час встановлення пакета конфігурації MySQL apt, він запропонує вибрати версію MySQL для встановлення. Виберіть варіант MySQL 8.0 або 5.7, який потрібно встановити у вашій системі.mysql 8 debian10 1

Для цього підручника ми обрали MySQL 5.7 для встановлення в моїй системі Debian. Після того, як ви вибрали конкретну версію і вам потрібно змінити конфігурацію, скористайтеся наступною командою.

$ sudo dpkg-reconfigure mysql-apt-config

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

sudo apt update
sudo apt install mysql-server

 mysql 8 debian10 2

У наступному вікні буде запропоновано повторно ввести той самий пароль.
MySQL 8 забезпечує розширений варіант захисту паролем. Це необов’язково, але ми рекомендуємо використовувати цей варіант.

mysql 8 debian10 3Безпечне встановлення MySQL

sudo systemctl перезапустіть mysql.service
sudo mysql_secure_installation
Securing the MySQL server deployment.

Enter password for user root:

VALIDATE PASSWORD COMPONENT can be used to test passwords
and improve security. It checks the strength of password
and allows the users to set only those passwords which are
secure enough. Would you like to setup VALIDATE PASSWORD component?

Press y|Y for Yes, any other key for No: y

There are three levels of password validation policy:

LOW    Length >= 8
MEDIUM Length >= 8, numeric, mixed case, and special characters
STRONG Length >= 8, numeric, mixed case, special characters and dictionary                  file

Please enter 0 = LOW, 1 = MEDIUM and 2 = STRONG: 2

[...]
mysql -u root -p

Як дозволити віддалений доступ до MySQL

Однією з найпоширеніших проблем, з якою стикаються користувачі при спробі налаштування віддаленої бази даних MySQL, є те, що їх екземпляр MySQL налаштований лише на прослуховування локальних з'єднань. Це налаштування за замовчуванням MySQL, але воно не буде працювати для віддаленого налаштування бази даних, оскільки MySQL повинен мати можливість прослуховувати зовнішню IP-адресу, де можна отримати доступ до сервера. Щоб увімкнути це, відкрийте mysqld.cnfфайл:

 

sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf

Перейдіть до рядка, який починається з bind-addressдирективи. Це буде виглядати так /etc/mysql/mysql.conf.d/mysqld.cnf:

[mysqld]
pid-file        = /var/run/mysqld/mysqld.pid
socket          = /var/run/mysqld/mysqld.sock
datadir         = /var/lib/mysql
log-error       = /var/log/mysql/error.log

innodb_buffer_pool_size = 4g

bind-address=127.0.0.1
#локальна ІР адреса сервера
bind-address=10.10.0.3

Звичайно можнадосволити всім конектитись до даного серера, але я не раджу

Потім перезапустіть службу MySQL, щоб застосувати внесені вами зміни mysqld.cnf:

sudo systemctl restart mysql
mysql -u root -p

Щоб змінити хост користувача, ви можете використовувати RENAME USERкоманду MySQL . Виконайте наступну команду, переконайтесь, що ви змінили diuser ім'я вашого облікового запису користувача MySQL та remote_server_ip IP-адресу віддаленого сервера:

CREATE USER 'diuser'@'remote_server_ip' IDENTIFIED BY 'mypassword';

5 пунктів для створення БД, користувача, надання йому прав доступу до ДБ (IP 10.10.0.2 - це адреса мережевого сервера який буде конектитись)

1. CREATE DATABASE databasesname character set utf8 collate utf8_bin;
2. CREATE USER 'remoteuser'@'10.10.0.2' IDENTIFIED WITH mysql_native_password BY 'mypassword';
3. GRANT ALL PRIVILEGES ON databasesname.* TO 'remoteuser'@'10.10.0.2' WITH GRANT OPTION;
4. GRANT CREATE, ALTER, DROP, INSERT, UPDATE, DELETE, SELECT, REFERENCES, RELOAD on *.* TO 'remoteuser'@'10.10.0.2' WITH GRANT OPTION;
5. FLUSH PRIVILEGES;

Пробуєм конектитись з хоста на сервер

10.2host$ mysql -u user -h 10.10.0.3 -p