install_mysql.sh: adjustment of some parameters .
This commit is contained in:
parent
21198e49e5
commit
22d6f4bd7c
210
install_mysql.sh
210
install_mysql.sh
@ -3224,32 +3224,115 @@ collation-server = utf8mb4_general_ci
|
||||
|
||||
" >> ${logdir}/main.log
|
||||
|
||||
if [[ "$MYSQL_MAJOR_VERSION" -gt 8 ]] \
|
||||
if [[ "$MYSQL_DISTRIBUTION" = "MariaDB" ]] ; then
|
||||
|
||||
echo "
|
||||
## - sql_mode
|
||||
## -
|
||||
## - The default on MariaDB 10.5 installation is:
|
||||
## -
|
||||
## - sql-mode = \"STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION\"
|
||||
## -
|
||||
## - For now, we will use the default value - iIt seems to be ok.
|
||||
## -
|
||||
## -
|
||||
## - Other defaults on MySQL installations:
|
||||
## -
|
||||
## - MySQL 8.0
|
||||
## -
|
||||
## - Since Version 8.0.11 NO_AUTO_CREATE_USER is no longer available. The default on 8.0 MySQL
|
||||
## - installations is
|
||||
## -
|
||||
## - sql-mode = \"ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION\"
|
||||
## -
|
||||
" >> ${logdir}/main.log
|
||||
|
||||
elif [[ "$MYSQL_MAJOR_VERSION" -gt 8 ]] \
|
||||
|| ( [[ "$MYSQL_MAJOR_VERSION" -eq 8 ]] && [[ "$MYSQL_MINOR_VERSION" -gt 0 ]] ) \
|
||||
|| ( [[ "$MYSQL_MAJOR_VERSION" -eq 8 ]] && [[ "$MYSQL_MINOR_VERSION" -eq 0 ]] \
|
||||
&& [[ $MYSQL_PATCH_LEVEL -ge 3 ]] ); then
|
||||
echo "
|
||||
## - sql_mode
|
||||
## -
|
||||
## - Since Version 8.0.11 NO_AUTO_CREATE_USER is no longer available
|
||||
## - Since Version 8.0.11 NO_AUTO_CREATE_USER is no longer available. The default on 8.0 MySQL
|
||||
## - installations is
|
||||
## -
|
||||
## - For now, we will use the default value, it seems to be ok.
|
||||
## - sql-mode = \"ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION\"
|
||||
## -
|
||||
#sql-mode = \"ONLY_FULL_GROUP_BY,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION\"
|
||||
## - For now, we will use the default value, without deprecated NO_ZERO_IN_DATE and NO_ZERO_DATE (see below).
|
||||
## - It seems to be ok.
|
||||
## -
|
||||
## -
|
||||
## - The default on MariaDB 10.5 installation is:
|
||||
## -
|
||||
## - sql-mode = \"STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION\"
|
||||
" >> ${logdir}/main.log
|
||||
|
||||
else
|
||||
echo "
|
||||
## - sql_mode
|
||||
## -
|
||||
## - To be compartible with older programming on mysql 5.6
|
||||
## - To be compartible with older programming on mysql 5.6 use;
|
||||
## -
|
||||
## - sql-mode = \"ONLY_FULL_GROUP_BY,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION\"
|
||||
## -
|
||||
#sql-mode = \"ONLY_FULL_GROUP_BY,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION\"
|
||||
" >> ${logdir}/main.log
|
||||
|
||||
fi
|
||||
|
||||
echo "
|
||||
## -
|
||||
## - The default on 5.7 MySQL installations was:
|
||||
## -
|
||||
## - sql-mode = \"ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION\"
|
||||
## -
|
||||
## -
|
||||
## - NOTE (note on version 5.7):
|
||||
## -
|
||||
## - NO_ZERO_DATE, NO_ZERO_IN_DATE and ERROR_FOR_DIVISION_BY_ZERO are deprecated, and all of them
|
||||
## - are not part of strict mode, but should be used in conjunction with strict mode and are enabled
|
||||
## - by default. A warning occurs if NO_ZERO_DATE or NO_ZERO_IN_DATE is enabled without also enabling
|
||||
## - strict mode or vice versa. For additional discussion, see SQL Mode Changes in MySQL 5.7.
|
||||
## -
|
||||
## -
|
||||
## - Because NO_ZERO_DATE, NO_ZERO_IN_DATE and ERROR_FOR_DIVISION_BY_ZERO are deprecated, expect it to
|
||||
## - be removed in a future release of MySQL as a separate mode name and its effect included in the effects
|
||||
## - of strict SQL mode.
|
||||
## -
|
||||
" >> ${logdir}/main.log
|
||||
|
||||
if [[ "$MYSQL_DISTRIBUTION" = "MariaDB" ]] ; then
|
||||
echo "
|
||||
#sql-mode = \"ONLY_FULL_GROUP_BY,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION\"
|
||||
" >> ${logdir}/main.log
|
||||
|
||||
elif [[ "$MYSQL_MAJOR_VERSION" -gt 8 ]] \
|
||||
|| ( [[ "$MYSQL_MAJOR_VERSION" -eq 8 ]] && [[ "$MYSQL_MINOR_VERSION" -gt 0 ]] ) \
|
||||
|| ( [[ "$MYSQL_MAJOR_VERSION" -eq 8 ]] && [[ "$MYSQL_MINOR_VERSION" -eq 0 ]] \
|
||||
&& [[ $MYSQL_PATCH_LEVEL -ge 3 ]] ); then
|
||||
echo "
|
||||
sql-mode = \"ONLY_FULL_GROUP_BY STRICT_TRANS_TABLES ERROR_FOR_DIVISION_BY_ZERO NO_ENGINE_SUBSTITUTION\"
|
||||
" >> ${logdir}/main.log
|
||||
|
||||
else
|
||||
echo "
|
||||
#sql-mode = \"ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION\"
|
||||
sql-mode = \"ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION\"
|
||||
" >> ${logdir}/main.log
|
||||
fi
|
||||
|
||||
## - Which protocols the server permits for encrypted connections. The value is a
|
||||
## - comma-separated list containing one or more protocol versions. The protocols
|
||||
## - that can be named for this variable depend on the SSL library used to compile
|
||||
## - MySQL. Permitted protocols should be chosen such as not to leave 'holes' in the
|
||||
## - list. For details, see Section 6.3.2, Encrypted Connection TLS Protocols and Ciphers.
|
||||
## -
|
||||
## - NOTE:
|
||||
## - As of MySQL 5.7.35, the TLSv1 and TLSv1.1 connection protocols are deprecated
|
||||
## - and support for them is subject to removal in a future version of MySQL. See
|
||||
## - Deprecated TLS Protocols.
|
||||
## -
|
||||
tls_version=TLSv1.2,TLSv1.3
|
||||
|
||||
## - secure_file_priv
|
||||
## -
|
||||
@ -3282,6 +3365,7 @@ collation-server = utf8mb4_general_ci
|
||||
## - this option.
|
||||
## -
|
||||
#secure-file-priv = \"\"
|
||||
secure-file-priv = \"\"
|
||||
|
||||
|
||||
## - local_infile
|
||||
@ -3693,7 +3777,8 @@ myisam_sort_buffer_size = 64M
|
||||
## - Default: 4MB (MySQL 5.6.6), 1MB before that.
|
||||
## -
|
||||
#max-allowed-packet = 4M
|
||||
max-allowed-packet = 32M
|
||||
#max-allowed-packet = 32M
|
||||
max-allowed-packet = 128M
|
||||
|
||||
|
||||
## - table_open_cache
|
||||
@ -4194,9 +4279,12 @@ innodb_read_only_compressed = OFF
|
||||
|
||||
[mysqldump]
|
||||
quick
|
||||
max-allowed-packet = 32M
|
||||
max-allowed-packet = 1024M
|
||||
default-character-set = utf8mb4
|
||||
|
||||
net_read_timeout = 120
|
||||
net_write_timeout = 900
|
||||
|
||||
[mysql]
|
||||
no-auto-rehash
|
||||
# Remove the next comment character if you are not familiar with SQL
|
||||
@ -4355,7 +4443,30 @@ character-set-server = utf8mb4
|
||||
collation-server = utf8mb4_general_ci
|
||||
|
||||
EOF
|
||||
if [[ "$MYSQL_MAJOR_VERSION" -gt 8 ]] \
|
||||
|
||||
if [[ "$MYSQL_DISTRIBUTION" = "MariaDB" ]] ; then
|
||||
cat << EOF >> ${MYSQL_INSTALL_DIR}/etc/my.cnf
|
||||
## - sql_mode
|
||||
## -
|
||||
## - The default on MariaDB 10.5 installation is:
|
||||
## -
|
||||
## - sql-mode = "STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"
|
||||
## -
|
||||
## - For now, we will use the default value - iIt seems to be ok.
|
||||
## -
|
||||
## -
|
||||
## - Other defaults on MySQL installations:
|
||||
## -
|
||||
## - MySQL 8.0
|
||||
## -
|
||||
## - Since Version 8.0.11 NO_AUTO_CREATE_USER is no longer available. The default on 8.0 MySQL
|
||||
## - installations is
|
||||
## -
|
||||
## - sql-mode = "ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION"
|
||||
## -
|
||||
EOF
|
||||
|
||||
elif [[ "$MYSQL_MAJOR_VERSION" -gt 8 ]] \
|
||||
|| ( [[ "$MYSQL_MAJOR_VERSION" -eq 8 ]] && [[ "$MYSQL_MINOR_VERSION" -gt 0 ]] ) \
|
||||
|| ( [[ "$MYSQL_MAJOR_VERSION" -eq 8 ]] && [[ "$MYSQL_MINOR_VERSION" -eq 0 ]] \
|
||||
&& [[ $MYSQL_PATCH_LEVEL -ge 3 ]] ); then
|
||||
@ -4363,11 +4474,14 @@ EOF
|
||||
cat << EOF >> ${MYSQL_INSTALL_DIR}/etc/my.cnf
|
||||
## - sql_mode
|
||||
## -
|
||||
## - Since Version 8.0.11 NO_AUTO_CREATE_USER is no longer available
|
||||
## - Since Version 8.0.11 NO_AUTO_CREATE_USER is no longer available. The default on 8.0 MySQL
|
||||
## - installations is
|
||||
## -
|
||||
## - For now, we will use the default value, it seems to be ok.
|
||||
## - sql-mode = "ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION"
|
||||
## -
|
||||
## - For now, we will use the default value, without deprecated NO_ZERO_IN_DATE and NO_ZERO_DATE (see below).
|
||||
## - It seems to be ok.
|
||||
## -
|
||||
#sql-mode = "ONLY_FULL_GROUP_BY,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"
|
||||
EOF
|
||||
|
||||
else
|
||||
@ -4375,14 +4489,71 @@ EOF
|
||||
|
||||
## - sql_mode
|
||||
## -
|
||||
## - To be compartible with older programming on mysql 5.6
|
||||
## - To be compartible with older programming on mysql 5.6 use;
|
||||
## -
|
||||
sql-mode = "ONLY_FULL_GROUP_BY,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"
|
||||
## - sql-mode = "ONLY_FULL_GROUP_BY,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"
|
||||
## -
|
||||
EOF
|
||||
|
||||
fi
|
||||
|
||||
cat << EOF >> ${MYSQL_INSTALL_DIR}/etc/my.cnf
|
||||
## -
|
||||
## - The default on 5.7 MySQL installations was:
|
||||
## -
|
||||
## - sql-mode = "ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"
|
||||
## -
|
||||
## -
|
||||
## - NOTE (on 5.7 installation):
|
||||
## -
|
||||
## - NO_ZERO_DATE, NO_ZERO_IN_DATE and ERROR_FOR_DIVISION_BY_ZERO are deprecated, and all of them
|
||||
## - are not part of strict mode, but should be used in conjunction with strict mode and are enabled
|
||||
## - by default. A warning occurs if NO_ZERO_DATE or NO_ZERO_IN_DATE is enabled without also enabling
|
||||
## - strict mode or vice versa. For additional discussion, see SQL Mode Changes in MySQL 5.7.
|
||||
## -
|
||||
## -
|
||||
## - Because NO_ZERO_DATE, NO_ZERO_IN_DATE and ERROR_FOR_DIVISION_BY_ZERO are deprecated, expect it to
|
||||
## - be removed in a future release of MySQL as a separate mode name and its effect included in the effects
|
||||
## - of strict SQL mode.
|
||||
## -
|
||||
EOF
|
||||
|
||||
if [[ "$MYSQL_DISTRIBUTION" = "MariaDB" ]] ; then
|
||||
cat << EOF >> ${MYSQL_INSTALL_DIR}/etc/my.cnf
|
||||
#sql-mode = "ONLY_FULL_GROUP_BY,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"
|
||||
EOF
|
||||
|
||||
elif [[ "$MYSQL_MAJOR_VERSION" -gt 8 ]] \
|
||||
|| ( [[ "$MYSQL_MAJOR_VERSION" -eq 8 ]] && [[ "$MYSQL_MINOR_VERSION" -gt 0 ]] ) \
|
||||
|| ( [[ "$MYSQL_MAJOR_VERSION" -eq 8 ]] && [[ "$MYSQL_MINOR_VERSION" -eq 0 ]] \
|
||||
&& [[ $MYSQL_PATCH_LEVEL -ge 3 ]] ); then
|
||||
|
||||
cat << EOF >> ${MYSQL_INSTALL_DIR}/etc/my.cnf
|
||||
sql-mode = "ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION"
|
||||
EOF
|
||||
|
||||
else
|
||||
cat << EOF >> ${MYSQL_INSTALL_DIR}/etc/my.cnf
|
||||
#sql-mode = "ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"
|
||||
sql-mode = "ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"
|
||||
EOF
|
||||
fi
|
||||
|
||||
cat << EOF >> ${MYSQL_INSTALL_DIR}/etc/my.cnf
|
||||
|
||||
## - Which protocols the server permits for encrypted connections. The value is a
|
||||
## - comma-separated list containing one or more protocol versions. The protocols
|
||||
## - that can be named for this variable depend on the SSL library used to compile
|
||||
## - MySQL. Permitted protocols should be chosen such as not to leave 'holes' in the
|
||||
## - list. For details, see Section 6.3.2, “Encrypted Connection TLS Protocols and Ciphers.
|
||||
## -
|
||||
## - NOTE:
|
||||
## - As of MySQL 5.7.35, the TLSv1 and TLSv1.1 connection protocols are deprecated
|
||||
## - and support for them is subject to removal in a future version of MySQL. See
|
||||
## - Deprecated TLS Protocols.
|
||||
## -
|
||||
tls_version=TLSv1.2,TLSv1.3
|
||||
|
||||
## - secure-file-priv
|
||||
## -
|
||||
## - This variable is used to limit the effect of data import and export operations,
|
||||
@ -4414,6 +4585,7 @@ EOF
|
||||
## - this option.
|
||||
## -
|
||||
#secure-file-priv = ""
|
||||
secure-file-priv = ""
|
||||
|
||||
|
||||
## - local-infile
|
||||
@ -4816,7 +4988,8 @@ myisam-sort-buffer-size = 64M
|
||||
## - Default: 4MB (MySQL 5.6.6), 1MB before that.
|
||||
## -
|
||||
#max-allowed-packet = 4M
|
||||
max-allowed-packet = 32M
|
||||
#max-allowed-packet = 32M
|
||||
max-allowed-packet = 128M
|
||||
|
||||
|
||||
## - table_open_cache
|
||||
@ -5328,9 +5501,12 @@ innodb_read_only_compressed = OFF
|
||||
|
||||
[mysqldump]
|
||||
quick
|
||||
max-allowed-packet = 32M
|
||||
max-allowed-packet = 1024M
|
||||
default-character-set = utf8mb4
|
||||
|
||||
net_read_timeout = 120
|
||||
net_write_timeout = 900
|
||||
|
||||
[mysql]
|
||||
no-auto-rehash
|
||||
# Remove the next comment character if you are not familiar with SQL
|
||||
@ -5394,7 +5570,7 @@ EOF
|
||||
## -
|
||||
## - To be compartible with older programming on mysql 5.6
|
||||
## -
|
||||
sql-mode = "ONLY_FULL_GROUP_BY,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"
|
||||
#sql-mode = "ONLY_FULL_GROUP_BY,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"
|
||||
|
||||
EOF
|
||||
fi
|
||||
|
Loading…
Reference in New Issue
Block a user