summaryrefslogtreecommitdiff
path: root/scripts/mysql_install_db.sh
diff options
context:
space:
mode:
authorMarko Mäkelä <marko.makela@mariadb.com>2017-01-18 19:46:52 +0200
committerMarko Mäkelä <marko.makela@mariadb.com>2017-01-18 22:21:19 +0200
commit96c49808bd64e2dd45c24e8746b32b96c37da98a (patch)
tree90b646ce116d94a6c0fa71382598e79f522c763c /scripts/mysql_install_db.sh
parenta1315a650a69745bac7166cfe1423215dfaac6e1 (diff)
parentf7d030489d2980c9deb733925515099ec256f6d2 (diff)
downloadmariadb-git-10.2-merge.tar.gz
WIP merge 10.1 to 10.210.2-merge
Bootstrap fails: mysqld: sql/field.h:957: bool Field::has_explicit_value(): Assertion `table->has_value_set' failed. assertion=0x1411e89 "table->has_value_set", file=0x1411e9e "/home/marko/mariadb/server/sql/field.h", line=957, function=0x1411ec5 "bool Field::has_explicit_value()") at assert.c:101 at /home/marko/mariadb/server/sql/field.h:957 table_list=0x7fff7407b4f0, fields=..., values_list=..., update_fields=..., update_values=..., duplic=DUP_ERROR, ignore=false) at /home/marko/mariadb/server/sql/sql_insert.cc:1017 at /home/marko/mariadb/server/sql/sql_parse.cc:4370 rawbuf=0x7fff740f43e0 " INSERT INTO global_suppressions VALUES (\".SELECT UNIX_TIMESTAMP... failed on master\"), (\"Aborted connection\"), (\"Client requested master to start replication from impossible position\"), (\"Could"..., length=6339, parser_state=0x7fffe8efcab8, is_com_multi=false, is_next_command=false) at /home/marko/mariadb/server/sql/sql_parse.cc:7839 at /home/marko/mariadb/server/sql/sql_parse.cc:1033 There are unresolved conflicts in the following files: mysql-test/suite/galera/r/galera_var_cluster_address.result mysql-test/suite/innodb/r/innodb-wl5522-debug-zip.result mysql-test/suite/innodb/r/innodb-wl5522-debug.result mysql-test/suite/innodb/r/innodb_bug14147491.result mysql-test/suite/innodb/r/xa_recovery.result mysql-test/suite/innodb/t/doublewrite.test mysql-test/suite/innodb/t/innodb-wl5522-debug-zip.test mysql-test/suite/innodb/t/innodb-wl5522-debug.test mysql-test/suite/innodb/t/innodb_bug14147491.test mysql-test/suite/rpl/r/rpl_row_mysqlbinlog.result mysql-test/suite/sys_vars/r/sysvars_innodb.result mysql-test/suite/sys_vars/r/sysvars_server_embedded,32bit.rdiff mysql-test/suite/sys_vars/r/sysvars_server_notembedded,32bit.rdiff mysql-test/suite/vcol/inc/vcol_trigger_sp.inc mysql-test/suite/vcol/r/vcol_trigger_sp_innodb.result mysql-test/suite/vcol/r/vcol_trigger_sp_myisam.result
Diffstat (limited to 'scripts/mysql_install_db.sh')
-rw-r--r--scripts/mysql_install_db.sh40
1 files changed, 39 insertions, 1 deletions
diff --git a/scripts/mysql_install_db.sh b/scripts/mysql_install_db.sh
index 3b48dad649c..f8f4859e627 100644
--- a/scripts/mysql_install_db.sh
+++ b/scripts/mysql_install_db.sh
@@ -35,11 +35,26 @@ force=0
in_rpm=0
ip_only=0
cross_bootstrap=0
+install_params=""
+auth_root_authentication_method=normal
+auth_root_socket_user='root'
usage()
{
cat <<EOF
Usage: $0 [OPTIONS]
+ --auth-root-authentication-method=normal|socket
+ Chooses the authentication method for the created initial
+ root user. The default is 'normal' to creates a root user
+ that can login without password, which can be insecure.
+ The alternative 'socket' allows only the system root user
+ to login as MariaDB root; this requires the unix socket
+ authentication plugin.
+ --auth-root-socket-user=user
+ Used with --auth-root-authentication-method=socket. It
+ specifies the name of the MariaDB root account, as well
+ as of the system account allowed to access it. Defaults
+ to 'root'.
--basedir=path The path to the MariaDB installation directory.
--builddir=path If using --srcdir with out-of-directory builds, you
will need to set this to the location of the build
@@ -60,6 +75,8 @@ Usage: $0 [OPTIONS]
--defaults-file=path Read only this configuration file.
--rpm For internal use. This option is used by RPM files
during the MariaDB installation process.
+ --skip-auth-anonymous-user
+ Do not install an unprivileged anonymous user.
--skip-name-resolve Use IP addresses rather than hostnames when creating
grant table entries. This option can be useful if
your DNS does not work.
@@ -142,6 +159,17 @@ parse_arguments()
#
# --windows is a deprecated alias
cross_bootstrap=1 ;;
+ --skip-auth-anonymous-user)
+ install_params="$install_params
+SET @skip_auth_anonymous=1;" ;;
+ --auth-root-authentication-method=normal)
+ auth_root_authentication_method=normal ;;
+ --auth-root-authentication-method=socket)
+ auth_root_authentication_method=socket ;;
+ --auth-root-authentication-method=*)
+ usage ;;
+ --auth-root-socket-user=*)
+ auth_root_socket_user="$(parse_arg "$arg")" ;;
*)
if test -n "$pick_args"
@@ -431,7 +459,17 @@ mysqld_install_cmd_line()
# Create the system and help tables by passing them to "mysqld --bootstrap"
s_echo "Installing MariaDB/MySQL system tables in '$ldata' ..."
-if { echo "use mysql;"; cat "$create_system_tables" "$create_system_tables2" "$fill_system_tables" "$fill_help_tables" "$maria_add_gis_sp"; } | eval "$filter_cmd_line" | mysqld_install_cmd_line > /dev/null
+case "$auth_root_authentication_method" in
+ normal)
+ install_params="$install_params
+SET @skip_auth_root_nopasswd=NULL;
+SET @auth_root_socket=NULL;" ;;
+ socket)
+ install_params="$install_params
+SET @skip_auth_root_nopasswd=1;
+SET @auth_root_socket='$auth_root_socket_user';" ;;
+esac
+if { echo "use mysql;$install_params"; cat "$create_system_tables" "$create_system_tables2" "$fill_system_tables" "$fill_help_tables" "$maria_add_gis_sp"; } | eval "$filter_cmd_line" | mysqld_install_cmd_line > /dev/null
then
s_echo "OK"
else