Іноді є завдання заскриптувати створення бази\користувача 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 — генерує назву для користувача і бази.
Зверніть увагу, назва користувача і бази данних будуть однакові.