2 Commits

Author SHA1 Message Date
b3e9d320f3 * Sun Apr 06 2025 Jean-Philippe Pialasse <jpp@koozali.org> 11.0.0-13.sme
- fix Specified key was too long with older mysql db tables [SME: 12980]
  added back mysql_upgrade in 00_restore_dumped_dbs

* Fri Apr 04 2025 Jean-Philippe Pialasse <jpp@koozali.org> 11.0.0-12.sme
- restore root user, pasword and socket login [SME: 12978]
2025-04-06 14:45:55 -04:00
e78f90c5e5 * Fri Apr 04 2025 Jean-Philippe Pialasse <jpp@koozali.org> 11.0.0-12.sme
- restore root user, pasword and socket login [SME: 12978]
2025-04-04 22:36:29 -04:00
8 changed files with 27 additions and 26 deletions

View File

@@ -1 +0,0 @@
sme10

View File

@@ -15,7 +15,8 @@ safe_symlink("/usr/bin/mariadb-binlog","root/usr/bin/mysqlbinlog");
safe_symlink("/usr/bin/mariadb-convert-table-format","root/usr/bin/mysql_convert_table_format");
safe_symlink("/usr/bin/mariadb-find-rows","root/usr/bin/mysql_find_rows");
safe_symlink("/usr/bin/mariadb-fix-extensions","root/usr/bin/mysql_fix_extensions");
safe_symlink("/usr/bin/mariadb-install-db","root/usr/bin/mysql_install_db");
safe_symlink("/usr/bin/mariadb-embedded","root/usr/bin/mysql_embedded");
#--------------------------------------------------
# pre-backup actions

View File

@@ -2,9 +2,11 @@
# we need to filter out mysql.user table from older mariadb and from mysql
# in SME10 we added for migration creation of mysql.privileges.dump with mariadb 10.5 and newer syntax
( /usr/bin/mysql_filter_user_table /home/e-smith/db/mysql/mysql.dump ;
# non RH ocmpiled version of mariadb limits MyISAM index to 1000 bytes, newer mysql db use Aria as engine for those tables
( /usr/bin/mysql_filter_user_table /home/e-smith/db/mysql/mysql.dump |sed -e 's/ENGINE=MyISAM/ENGINE=Aria/';
[ -f /home/e-smith/db/mysql/mysql.privileges.dump ] && cat /home/e-smith/db/mysql/mysql.privileges.dump;
cat /var/lib/mysql.private/set.password ) | mysql || exit 1
/usr/bin/mysql_upgrade
/bin/rm /run/mariadb/mariadb.pid
/usr/bin/systemctl restart mariadb.service
for i in $(seq 1 20);

View File

@@ -4,6 +4,14 @@
my $pw = esmith::util::LdapPassword();
$OUT .= "use mysql;\n";
$OUT .= "SET PASSWORD FOR 'root'\@localhost = PASSWORD(\"$pw\"); \n";
$OUT .= "FLUSH PRIVILEGES;\n";
$OUT .= "CREATE OR REPLACE USER 'root'\@localhost IDENTIFIED VIA unix_socket OR mysql_native_password USING PASSWORD(\"$pw\"); \n";
$OUT .= "GRANT ALL PRIVILEGES ON *.* TO `root`@`localhost` WITH GRANT OPTION; \n";
$OUT .= "FLUSH PRIVILEGES;\n";
# will not work as requires the With_grant privilege.... but accepts second line to alter the table to give it...
#$OUT .= "GRANT PROXY ON ``@`` TO `root`\@localhost WITH GRANT OPTION;\n";
$OUT .= "REPLACE INTO `proxies_priv` (`Host`, `User`, `Proxied_host`, `Proxied_user`, `With_grant`, `Grantor`, `Timestamp`) VALUES
('localhost', 'root', '', '', 1, '', current_timestamp()),
('$SystemName.$DomainName', 'root', '', '', 1, '', current_timestamp());\n";
$OUT .= "FLUSH PRIVILEGES;\n";
}

View File

@@ -3,9 +3,13 @@
exec 2>&1
if [ ! -f /var/lib/mysql/mysql/user.frm ]
then
setuidgid mysql sh /usr/bin/mysql_install_db --rpm --skip-test-db --user=mysql --group=mysql
setuidgid mysql sh /usr/bin/mariadb-install-db --rpm --skip-test-db --user=mysql --group=mysql
if [ -f /home/e-smith/db/mysql/mysql.dump ]
then
/sbin/e-smith/expand-template /etc/e-smith/sql/init/00_restore_dumped_dbs
fi
fi
# set root password and access to socket passwordless
/usr/sbin/mariadbd --socket=/var/lib/mysql/mysql.sock --bootstrap --user=mysql < /var/lib/mysql.private/set.password
exit 0

View File

@@ -1,18 +0,0 @@
#!/bin/bash
for i in $(seq 1 20);
do
if [ -S /var/lib/mysql/mysql.sock ]
then
/usr/bin/mysql < /var/lib/mysql.private/set.password
echo "root password set"
exit 0
fi
echo waiting for mariadb to start to set root password
sleep 1
done
echo failed to set root password
# we fail silently, mariadb will still work, only issue is for phpmyadmin
# and non socket access
exit 0

View File

@@ -36,8 +36,6 @@ ExecStart=/usr/sbin/mariadbd \
--user=mysql \
--pid-file=/run/mariadb/mariadb.pid
ExecStartPost=-/sbin/e-smith/systemd/mariadb-post
[Install]
WantedBy=sme-server.target

View File

@@ -2,7 +2,7 @@ Summary: Koozali SME Server specific mysql configuration and templates.
%define name smeserver-mysql
Name: %{name}
%define version 11.0.0
%define release 11
%define release 13
Version: %{version}
Release: %{release}%{?dist}
License: GPL
@@ -79,6 +79,13 @@ rm -rf $RPM_BUILD_ROOT
%defattr(-,root,root)
%changelog
* Sun Apr 06 2025 Jean-Philippe Pialasse <jpp@koozali.org> 11.0.0-13.sme
- fix Specified key was too long with older mysql db tables [SME: 12980]
added back mysql_upgrade in 00_restore_dumped_dbs
* Fri Apr 04 2025 Jean-Philippe Pialasse <jpp@koozali.org> 11.0.0-12.sme
- restore root user, pasword and socket login [SME: 12978]
* Fri Mar 07 2025 Jean-Philippe Pialasse <jpp@koozali.org> 11.0.0-11.sme
- upgrade to support mariadb 11.4 [SME: 12930]
move mariadb-upgrade to mysql.init unit