diff options
author | Sergei Golubchik <sergii@pisem.net> | 2013-04-19 20:35:04 +0200 |
---|---|---|
committer | Sergei Golubchik <sergii@pisem.net> | 2013-04-19 20:35:04 +0200 |
commit | 45912599cacbfe6800f9fc6643b7963f06cc4184 (patch) | |
tree | 0c2d574cdc0e960bee5101995392edd924d148bc /scripts | |
parent | 53375573e32e77676f4a4338099e44698b1bfb45 (diff) | |
parent | 016bef6ea0558a0b9758e22f448f89bf3ba25197 (diff) | |
download | mariadb-git-45912599cacbfe6800f9fc6643b7963f06cc4184.tar.gz |
10.0 merge
Diffstat (limited to 'scripts')
-rw-r--r-- | scripts/mysql_install_db.sh | 3 | ||||
-rw-r--r-- | scripts/mysql_system_tables.sql | 8 | ||||
-rw-r--r-- | scripts/mysqld_multi.sh | 2 | ||||
-rw-r--r-- | scripts/mysqld_safe.sh | 15 | ||||
-rw-r--r-- | scripts/mysqldumpslow.sh | 2 |
5 files changed, 21 insertions, 9 deletions
diff --git a/scripts/mysql_install_db.sh b/scripts/mysql_install_db.sh index 639b2209b5b..0f6eebf626e 100644 --- a/scripts/mysql_install_db.sh +++ b/scripts/mysql_install_db.sh @@ -257,7 +257,7 @@ fi # Now we can get arguments from the groups [mysqld] and [mysql_install_db] # in the my.cfg file, then re-run to merge with command line arguments. -parse_arguments `"$print_defaults" $defaults mysqld mariadb mysql_install_db client-server` +parse_arguments `"$print_defaults" $defaults --mysqld mysql_install_db` parse_arguments PICK-ARGS-FROM-ARGV "$@" # Configure paths to support files @@ -418,7 +418,6 @@ mysqld_install_cmd_line() "$mysqld_bootstrap" $defaults "$mysqld_opt" --bootstrap \ "--basedir=$basedir" "--datadir=$ldata" --log-warnings=0 \ --loose-skip-ndbcluster --loose-skip-pbxt $args --max_allowed_packet=8M \ - --default-storage-engine=myisam \ --net_buffer_length=16K } diff --git a/scripts/mysql_system_tables.sql b/scripts/mysql_system_tables.sql index e76ba3d3077..92c7e075e4a 100644 --- a/scripts/mysql_system_tables.sql +++ b/scripts/mysql_system_tables.sql @@ -20,6 +20,12 @@ -- set sql_mode=''; + +-- We want this to be created with the default storage engine. +-- This way, if InnoDB is used we get crash safety, and if MyISAM is used +-- we avoid mixed-engine transactions. +CREATE TABLE IF NOT EXISTS rpl_slave_state (domain_id INT UNSIGNED NOT NULL, sub_id BIGINT UNSIGNED NOT NULL, server_id INT UNSIGNED NOT NULL, seq_no BIGINT UNSIGNED NOT NULL, PRIMARY KEY (domain_id, sub_id)) comment='Replication slave GTID state'; + set storage_engine=myisam; flush tables; @@ -147,6 +153,6 @@ set @had_proxies_priv_table= @@warning_count != 0; CREATE TABLE IF NOT EXISTS table_stats (db_name varchar(64) NOT NULL, table_name varchar(64) NOT NULL, cardinality bigint(21) unsigned DEFAULT NULL, PRIMARY KEY (db_name,table_name) ) ENGINE=MyISAM CHARACTER SET utf8 COLLATE utf8_bin comment='Statistics on Tables'; -CREATE TABLE IF NOT EXISTS column_stats (db_name varchar(64) NOT NULL, table_name varchar(64) NOT NULL, column_name varchar(64) NOT NULL, min_value varchar(255) DEFAULT NULL, max_value varchar(255) DEFAULT NULL, nulls_ratio decimal(12,4) DEFAULT NULL, avg_length decimal(12,4) DEFAULT NULL, avg_frequency decimal(12,4) DEFAULT NULL, PRIMARY KEY (db_name,table_name,column_name) ) ENGINE=MyISAM CHARACTER SET utf8 COLLATE utf8_bin comment='Statistics on Columns'; +CREATE TABLE IF NOT EXISTS column_stats (db_name varchar(64) NOT NULL, table_name varchar(64) NOT NULL, column_name varchar(64) NOT NULL, min_value varchar(255) DEFAULT NULL, max_value varchar(255) DEFAULT NULL, nulls_ratio decimal(12,4) DEFAULT NULL, avg_length decimal(12,4) DEFAULT NULL, avg_frequency decimal(12,4) DEFAULT NULL, hist_size tinyint unsigned, hist_type enum('SINGLE_PREC_HB','DOUBLE_PREC_HB'), histogram varbinary(255), PRIMARY KEY (db_name,table_name,column_name) ) ENGINE=MyISAM CHARACTER SET utf8 COLLATE utf8_bin comment='Statistics on Columns'; CREATE TABLE IF NOT EXISTS index_stats (db_name varchar(64) NOT NULL, table_name varchar(64) NOT NULL, index_name varchar(64) NOT NULL, prefix_arity int(11) unsigned NOT NULL, avg_frequency decimal(12,4) DEFAULT NULL, PRIMARY KEY (db_name,table_name,index_name,prefix_arity) ) ENGINE=MyISAM CHARACTER SET utf8 COLLATE utf8_bin comment='Statistics on Indexes'; diff --git a/scripts/mysqld_multi.sh b/scripts/mysqld_multi.sh index 81015746ae9..cd1b6fc18b7 100644 --- a/scripts/mysqld_multi.sh +++ b/scripts/mysqld_multi.sh @@ -237,7 +237,7 @@ sub defaults_for_group sub init_log { - foreach my $opt (defaults_for_group('mysqld mariadb')) + foreach my $opt (defaults_for_group('--mysqld')) { if ($opt =~ m/^--datadir=(.*)/ && -d "$1" && -w "$1") { diff --git a/scripts/mysqld_safe.sh b/scripts/mysqld_safe.sh index f49f885bf5a..572a08781c8 100644 --- a/scripts/mysqld_safe.sh +++ b/scripts/mysqld_safe.sh @@ -71,6 +71,7 @@ Usage: $0 [OPTIONS] --defaults-extra-file=FILE Also use defaults from the specified file --ledir=DIRECTORY Look for mysqld in the specified directory --open-files-limit=LIMIT Limit the number of open files + --crash-script=FILE Script to call when mysqld crashes --timezone=TZ Set the system timezone --malloc-lib=LIB Preload shared library LIB if available --mysqld=FILE Use the specified file as mysqld @@ -202,6 +203,7 @@ parse_arguments() { optname_subst=`echo "$optname" | sed 's/_/-/g'` arg=`echo $arg | sed "s/^$optname/$optname_subst/"` case "$arg" in + --crash-script=*) CRASH_SCRIPT="$val" ;; # these get passed explicitly to mysqld --basedir=*) MY_BASEDIR_VERSION="$val" ;; --datadir=*|--data=*) DATADIR="$val" ;; @@ -501,7 +503,7 @@ append_arg_to_args () { args= SET_USER=2 -parse_arguments `$print_defaults $defaults --loose-verbose mysqld mariadb server client-server` +parse_arguments `$print_defaults $defaults --loose-verbose --mysqld` if test $SET_USER -eq 2 then SET_USER=0 @@ -585,7 +587,7 @@ then log_notice "Logging to '$err_log'." logging=file - if [ ! -e "$err_log" ]; then # if error log already exists, + if [ ! -f "$err_log" ]; then # if error log already exists, touch "$err_log" # we just append. otherwise, chmod "$fmode" "$err_log" # fix the permissions here! fi @@ -799,13 +801,13 @@ have_sleep=1 while true do - rm -f $safe_mysql_unix_port "$pid_file" # Some extra safety + rm -f "$pid_file" # Some extra safety start_time=`date +%M%S` eval_log_error "$cmd" - if [ $want_syslog -eq 0 -a ! -e "$err_log" ]; then + if [ $want_syslog -eq 0 -a ! -f "$err_log" ]; then touch "$err_log" # hypothetical: log was renamed but not chown $user "$err_log" # flushed yet. we'd recreate it with chmod "$fmode" "$err_log" # wrong owner next time we log, so set @@ -874,6 +876,11 @@ do done fi log_notice "mysqld restarted" + if test -n "$CRASH_SCRIPT" + then + crash_script_output=`$CRASH_SCRIPT 2>&1` + log_error "$crash_script_output" + fi done log_notice "mysqld from pid file $pid_file ended" diff --git a/scripts/mysqldumpslow.sh b/scripts/mysqldumpslow.sh index 0de4fe159f0..c04ffad7457 100644 --- a/scripts/mysqldumpslow.sh +++ b/scripts/mysqldumpslow.sh @@ -53,7 +53,7 @@ GetOptions(\%opt, $opt{'help'} and usage(); unless (@ARGV) { - my $defaults = `my_print_defaults mysqld mariadb`; + my $defaults = `my_print_defaults --mysqld`; my $datadir = ($defaults =~ m/--datadir=(.*)/g)[-1]; if (!$datadir or $opt{i}) { |