Fixes in maridb

This commit is contained in:
absurdo 2023-07-01 01:03:30 +02:00
parent a6455547a2
commit b950f48245
5 changed files with 348 additions and 1 deletions

115
scripts/update_mariadb.py Normal file
View file

@ -0,0 +1,115 @@
#!/opt/pythonenv/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')