#!/usr/bin/python3 -u import sys import subprocess import argparse import platform import distro pyv=platform.python_version_tuple() if pyv[0]!='3': print('Need python 3 for execute this script') sys.exit(1) parser = argparse.ArgumentParser(description='Script for create a new mariadb server.') parser.add_argument('--ip', help='The IP where mariadb petitions are listened, if not, only listen in localhost') args = parser.parse_args() linux_distro=distro.id() #Dash, the default debian stretch shell, don't support <<< #sudo debconf-set-selections <<< 'mariadb-server mariadb-server/root_password password your_password' #sudo debconf-set-selections <<< 'mariadb-server mariadb-server/root_password_again password your_password' print('Updating ip from MariaDB...') if linux_distro=='debian': # sed -i 's/old-text/new-text/g' input.txt # /etc/mysql/mariadb.conf.d/50-server.cnf # bind-address = 127.0.0.1 print('Setting the ip...') """ if args.ip: if subprocess.call("sudo sed -i 's/^bind-address = .*\\n$/bind-address = {}\\n/g' /etc/mysql/mariadb.conf.d/50-server.cnf".format(args.ip), shell=True) > 0: print('Error, cannot update MariaDB...') sys.exit(1) """ if args.ip: ip=args.ip print('Changing IP to listen...') else: ip='127.0.0.1' print('Listen localhost by default...') if subprocess.call("sudo sed -i 's/^bind-address = .*$/bind-address = {}/g' /etc/mysql/mariadb.conf.d/50-server.cnf".format(args.ip), shell=True) > 0: print('Error, cannot modify MariaDB ip...') sys.exit(1) if subprocess.call("sudo systemctl restart mariadb", shell=True) > 0: print('Error, cannot restart mariadb') sys.exit(1) print('Ip configured successfully!') elif linux_distro=='arch': if args.ip: ip=args.ip print('Changing IP to listen...') else: ip='127.0.0.1' print('Listen localhost by default...') if subprocess.call("sudo sed -i 's/^\[server\]$/[server]\\n\\nbind-address = {}/g' /etc/my.cnf.d/server.cnf".format(ip), shell=True) > 0: print('Error, cannot modify MariaDB ip...') sys.exit(1) elif linux_distro=='rocky' or linux_distro=='alma' or linux_distro=='fedora': if args.ip: ip=args.ip print('Changing IP to listen...') else: ip='127.0.0.1' print('Listen localhost by default...') if subprocess.call("sudo sed -i 's/pid-file=\/run\/mariadb\/mariadb\.pid/pid-file=\/run\/mariadb\/mariadb.pid\\nbind-address = {}/g' /etc/my.cnf.d/mariadb-server.cnf".format(ip), shell=True) > 0: print('Error, cannot modify MariaDB ip...') sys.exit(1) if subprocess.call("sudo systemctl restart mariadb", shell=True) > 0: print('Error, cannot restart mariadb') sys.exit(1) """ if subprocess.call("sudo echo 'mariadb-server mariadb-server/root_password_again password "+args.password+"' | sudo debconf-set-selections", shell=True) > 0: print('Error, cannot set the password again') sys.exit(1) """ print('Setted the password')