Створення бази даних в cPanel API bash консоль

Іноді є завдання заскриптувати створення бази\користувача mysql на акаунті в cPanel. Для цього будемо використовувати API cPanel.

Щоб створити базу даних на акаунті, використовуємо команду:

uapi Mysql create_database name="yourlogin_NAMEDATABASE"

Де, yourlogin — логін cPanel, NAMEDATABASE — назва бази після логіну акаунта.

Щоб створити користувача бази даних і задати йому пароль, використовуємо команду:

uapi Mysql create_user name="yourlogin_NAMEUSER" password="PASS"

Де, yourlogin — логін акаунту cPanel, NAMEUSER — назва користувача після логіну акаунта, PASS — пароль до користувача, якого ми створюємо.

Щоб додати створеного користувача в нашу базу, виконуємо команду:

uapi Mysql set_privileges_on_database user="yourlogin_NAMEUSER" database="yourlogin_NAMEDATABASE" privileges=ALL%20PRIVILEGES

Можна так само написати скрипт, який буде створювати все автоматично і виводити базу даних, користувача і пароль. Приклад скрипта:

#!/bin/bash
LOGIN_HOST="yourlogin"
PASS_DB=$(cat /dev/urandom | tr -d -c '0-9a-zA-Z' | fold -w 10 | head -1)
NAME_DB=$(cat /dev/urandom | tr -d -c '0-9a-zA-Z' | fold -w 8 | head -1)

#create database
uapi Mysql create_database name="$LOGIN_HOST"_"$NAME_DB"

#create user
uapi Mysql create_user name="$LOGIN_HOST"_"$NAME_DB" password="$PASS_DB"

#privileges
uapi Mysql set_privileges_on_database user="$LOGIN_HOST"_"$NAME_DB" database="$LOGIN_HOST"_"$NAME_DB" privileges=ALL%20PRIVILEGES

clear

echo "$LOGIN_HOST"_"$NAME_DB" 
echo "$PASS_DB"

Розберемо змінні:

LOGIN_HOST — містить ім’я користувача облікового запису cPanel.
PASS_DB — генерує пароль для користувача бази даних.
NAME_DB — генерує назву для користувача і бази.

Зверніть увагу, назва користувача і бази данних будуть однакові.

Goodhoster.NET
Додати коментар