mirror of
https://github.com/usmannasir/cyberpanel.git
synced 2025-11-02 03:16:15 +01:00
Fix Mariadb on almalinux 9
Fix Mariadb on almalinux 9
This commit is contained in:
@@ -66,8 +66,20 @@ class InstallCyberPanel:
|
|||||||
}
|
}
|
||||||
|
|
||||||
actual_service = service_map.get(service_name, service_name)
|
actual_service = service_map.get(service_name, service_name)
|
||||||
command = f'systemctl {action} {actual_service}'
|
|
||||||
return install_utils.call(command, self.distro, command, command, 1, 1, os.EX_OSERR)
|
# For AlmaLinux 9, try both mariadb and mysqld services
|
||||||
|
if service_name == 'mariadb' and (self.distro == cent8 or self.distro == openeuler):
|
||||||
|
# Try mariadb first, then mysqld if mariadb fails
|
||||||
|
command = f'systemctl {action} {actual_service}'
|
||||||
|
result = install_utils.call(command, self.distro, command, command, 1, 0, os.EX_OSERR)
|
||||||
|
if result != 0:
|
||||||
|
# If mariadb service fails, try mysqld
|
||||||
|
command = f'systemctl {action} mysqld'
|
||||||
|
return install_utils.call(command, self.distro, command, command, 1, 1, os.EX_OSERR)
|
||||||
|
return result
|
||||||
|
else:
|
||||||
|
command = f'systemctl {action} {actual_service}'
|
||||||
|
return install_utils.call(command, self.distro, command, command, 1, 1, os.EX_OSERR)
|
||||||
|
|
||||||
def modify_file_content(self, file_path, replacements):
|
def modify_file_content(self, file_path, replacements):
|
||||||
"""Generic file content modification"""
|
"""Generic file content modification"""
|
||||||
@@ -487,6 +499,13 @@ gpgcheck=1
|
|||||||
command = 'sudo dnf module reset mariadb -y'
|
command = 'sudo dnf module reset mariadb -y'
|
||||||
install_utils.call(command, self.distro, command, command, 1, 1, os.EX_OSERR, True)
|
install_utils.call(command, self.distro, command, command, 1, 1, os.EX_OSERR, True)
|
||||||
|
|
||||||
|
# Disable problematic mariadb-maxscale repository to avoid 404 errors
|
||||||
|
command = 'dnf config-manager --disable mariadb-maxscale'
|
||||||
|
install_utils.call(command, self.distro, command, command, 1, 0, os.EX_OSERR, True)
|
||||||
|
|
||||||
|
# Clear dnf cache to avoid repository issues
|
||||||
|
command = 'dnf clean all'
|
||||||
|
install_utils.call(command, self.distro, command, command, 1, 1, os.EX_OSERR, True)
|
||||||
|
|
||||||
command = 'dnf install MariaDB-server MariaDB-client MariaDB-backup -y'
|
command = 'dnf install MariaDB-server MariaDB-client MariaDB-backup -y'
|
||||||
|
|
||||||
@@ -505,9 +524,17 @@ gpgcheck=1
|
|||||||
passwordCMD = "use mysql;DROP DATABASE IF EXISTS test;DELETE FROM mysql.db WHERE Db='test' OR Db='test\\_%%';GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' IDENTIFIED BY '%s';flush privileges;" % (
|
passwordCMD = "use mysql;DROP DATABASE IF EXISTS test;DELETE FROM mysql.db WHERE Db='test' OR Db='test\\_%%';GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' IDENTIFIED BY '%s';flush privileges;" % (
|
||||||
InstallCyberPanel.mysql_Root_password)
|
InstallCyberPanel.mysql_Root_password)
|
||||||
|
|
||||||
command = 'mariadb -u root -e "' + passwordCMD + '"'
|
# For AlmaLinux 9, try mysql command first, then mariadb
|
||||||
|
if self.distro == cent8 or self.distro == openeuler:
|
||||||
install_utils.call(command, self.distro, command, command, 0, 0, os.EX_OSERR)
|
command = 'mysql -u root -e "' + passwordCMD + '"'
|
||||||
|
result = install_utils.call(command, self.distro, command, command, 0, 0, os.EX_OSERR)
|
||||||
|
if result != 0:
|
||||||
|
# If mysql command fails, try mariadb
|
||||||
|
command = 'mariadb -u root -e "' + passwordCMD + '"'
|
||||||
|
install_utils.call(command, self.distro, command, command, 0, 0, os.EX_OSERR)
|
||||||
|
else:
|
||||||
|
command = 'mariadb -u root -e "' + passwordCMD + '"'
|
||||||
|
install_utils.call(command, self.distro, command, command, 0, 0, os.EX_OSERR)
|
||||||
|
|
||||||
def startMariaDB(self):
|
def startMariaDB(self):
|
||||||
|
|
||||||
@@ -549,7 +576,14 @@ gpgcheck=1
|
|||||||
except IOError as err:
|
except IOError as err:
|
||||||
self.stdOut("[ERROR] Error in setting: " + fileName + ": " + str(err), 1, 1, os.EX_OSERR)
|
self.stdOut("[ERROR] Error in setting: " + fileName + ": " + str(err), 1, 1, os.EX_OSERR)
|
||||||
|
|
||||||
os.system('systemctl restart mariadb')
|
# Use the manage_service method for consistent service management
|
||||||
|
if self.distro == cent8 or self.distro == openeuler:
|
||||||
|
# Try mariadb first, then mysqld
|
||||||
|
result = os.system('systemctl restart mariadb')
|
||||||
|
if result != 0:
|
||||||
|
os.system('systemctl restart mysqld')
|
||||||
|
else:
|
||||||
|
os.system('systemctl restart mariadb')
|
||||||
|
|
||||||
self.stdOut("MariaDB is now setup so it can support Cyberpanel's needs")
|
self.stdOut("MariaDB is now setup so it can support Cyberpanel's needs")
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user