version 1.36, 2016/05/05 03:03:57
|
version 1.44, 2018/06/19 11:35:12
|
Line 27 use strict;
|
Line 27 use strict;
|
use File::Copy; |
use File::Copy; |
use Term::ReadKey; |
use Term::ReadKey; |
use DBI; |
use DBI; |
|
use Cwd(); |
|
use File::Basename(); |
|
use lib File::Basename::dirname(Cwd::abs_path($0)); |
use LCLocalization::localize; |
use LCLocalization::localize; |
|
|
# ========================================================= The language handle |
# ========================================================= The language handle |
Line 454 sub check_mysql_running {
|
Line 457 sub check_mysql_running {
|
$proc_owner = 'mysql'; |
$proc_owner = 'mysql'; |
$use_systemctl = 1; |
$use_systemctl = 1; |
} |
} |
|
if ($1 >= 19) { |
|
$mysqldaemon ='mariadb'; |
|
} |
} elsif ($distro =~ /^(?:centos|rhes|scientific)(\d+)/) { |
} elsif ($distro =~ /^(?:centos|rhes|scientific)(\d+)/) { |
if ($1 >= 7) { |
if ($1 >= 7) { |
$mysqldaemon ='mariadb'; |
$mysqldaemon ='mariadb'; |
Line 464 sub check_mysql_running {
|
Line 470 sub check_mysql_running {
|
} elsif ($distro =~ /^sles(\d+)/) { |
} elsif ($distro =~ /^sles(\d+)/) { |
if ($1 >= 12) { |
if ($1 >= 12) { |
$use_systemctl = 1; |
$use_systemctl = 1; |
|
$proc_owner = 'mysql'; |
|
$process = 'mysqld'; |
} |
} |
} elsif ($distro =~ /^suse(\d+)/) { |
} elsif ($distro =~ /^suse(\d+)/) { |
if ($1 >= 13) { |
if ($1 >= 13) { |
Line 556 sub chkconfig {
|
Line 564 sub chkconfig {
|
my $version = $1; |
my $version = $1; |
@runlevels = qw/2 3 4 5/; |
@runlevels = qw/2 3 4 5/; |
@norunlevels = qw/0 1 6/; |
@norunlevels = qw/0 1 6/; |
$checker_bin = '/usr/sbin/sysv-rc-conf'; |
if (($distro =~ /^ubuntu/) && ($version <= 16)) { |
|
$checker_bin = '/usr/sbin/sysv-rc-conf'; |
|
} else { |
|
$uses_systemctl{'ntp'} = 1; |
|
$uses_systemctl{'mysql'} = 1; |
|
$uses_systemctl{'apache'} = 1; |
|
$uses_systemctl{'memcached'} = 1; |
|
$uses_systemctl{'cups'} = 1; |
|
} |
$daemon{'mysql'} = 'mysql'; |
$daemon{'mysql'} = 'mysql'; |
$daemon{'apache'} = 'apache2'; |
$daemon{'apache'} = 'apache2'; |
$daemon{'ntp'} = 'ntp'; |
$daemon{'ntp'} = 'ntp'; |
Line 574 sub chkconfig {
|
Line 590 sub chkconfig {
|
$uses_systemctl{'memcached'} = 1; |
$uses_systemctl{'memcached'} = 1; |
$uses_systemctl{'cups'} = 1; |
$uses_systemctl{'cups'} = 1; |
} |
} |
|
if ($version >= 19) { |
|
$daemon{'mysql'} = 'mariadb'; |
|
} |
} elsif ($distro =~ /^(?:centos|rhes|scientific)(\d+)/) { |
} elsif ($distro =~ /^(?:centos|rhes|scientific)(\d+)/) { |
my $version = $1; |
my $version = $1; |
if ($version >= 7) { |
if ($version >= 7) { |
Line 1780 CREATE TABLE IF NOT EXISTS metadata (tit
|
Line 1799 CREATE TABLE IF NOT EXISTS metadata (tit
|
|
|
sub setup_mysql_permissions { |
sub setup_mysql_permissions { |
my ($dbh,$has_pass,@mysql_lc_commands) = @_; |
my ($dbh,$has_pass,@mysql_lc_commands) = @_; |
my ($mysqlversion,$mysqlsubver) = &get_mysql_version(); |
my ($mysqlversion,$mysqlsubver,$mysqlname) = &get_mysql_version(); |
my ($usesauth,@mysql_commands); |
my ($usesauth,$hasauthcol,@mysql_commands); |
if (($mysqlversion > 5.7) || (($mysqlversion == 5.7) && ($mysqlsubver > 5))) { |
if ($mysqlname =~ /^MariaDB/i) { |
@mysql_commands = ("INSERT user (Host, User, ssl_cipher, x509_issuer, x509_subject) VALUES('localhost','www','','','')", |
if ($mysqlversion >= 10.2) { |
"ALTER USER 'www'\@'localhost' IDENTIFIED BY 'localhostkey'"); |
$usesauth = 1; |
$usesauth = 1; |
} elsif ($mysqlversion >= 5.5) { |
|
$hasauthcol = 1; |
|
} |
|
} else { |
|
if (($mysqlversion > 5.7) || (($mysqlversion == 5.7) && ($mysqlsubver > 5))) { |
|
$usesauth = 1; |
|
} elsif (($mysqlversion >= 5.6) || (($mysqlversion == 5.5) && ($mysqlsubver >= 7))) { |
|
$hasauthcol = 1; |
|
} |
|
} |
|
if ($usesauth) { |
|
@mysql_commands = ("INSERT user (Host, User, ssl_cipher, x509_issuer, x509_subject, authentication_string) VALUES('localhost','www','','','','')", |
|
"ALTER USER 'www'\@'localhost' IDENTIFIED BY 'localhostkey'"); |
|
} elsif ($hasauthcol) { |
|
@mysql_commands = ("INSERT user (Host, User, Password, ssl_cipher, x509_issuer, x509_subject, authentication_string) VALUES('localhost','www',password('localhostkey'),'','','','');"); |
} else { |
} else { |
@mysql_commands = ("INSERT user (Host, User, Password) VALUES('localhost','www',password('localhostkey'));"); |
@mysql_commands = ("INSERT user (Host, User, Password, ssl_cipher, x509_issuer, x509_subject) VALUES('localhost','www',password('localhostkey'),'','','');"); |
} |
} |
if ($mysqlversion < 4) { |
if ($mysqlversion < 4) { |
push (@mysql_commands," |
push (@mysql_commands," |
Line 1880 sub new_mysql_rootpasswd {
|
Line 1913 sub new_mysql_rootpasswd {
|
} |
} |
|
|
sub get_mysql_version { |
sub get_mysql_version { |
my ($version,$subversion); |
my ($version,$subversion,$name); |
if (open(PIPE," mysql -V |")) { |
if (open(PIPE," mysql -V |")) { |
my $info = <PIPE>; |
my $info = <PIPE>; |
chomp($info); |
chomp($info); |
close(PIPE); |
close(PIPE); |
($version,$subversion) = ($info =~ /(\d+\.\d+)\.(\d+)[\-\w]*,/); |
($version,$subversion,$name) = ($info =~ /(\d+\.\d+)\.(\d+)\-?(\w*),/); |
} else { |
} else { |
print &mt('Could not determine which version of MySQL is installed.'). |
print &mt('Could not determine which version of MySQL is installed.'). |
"\n"; |
"\n"; |
} |
} |
return ($version,$subversion); |
return ($version,$subversion,$name); |
} |
} |
|
|
########################################################### |
########################################################### |