MySQL5.7安装初始化(二进制安装包)
1.add user
useradd -M -s /sbin/nologin mysql
2.init base
tar -zxvf mysql-5.7.29-linux-glibc2.12-x86_64.tar.gz -C /data/mysql
mkdir /data/mysql/data
mv /etc/my.cnf /tmp
touch /data/mysql/error.log
cp /data/mysql/support-files/mysql.server /data/mysql/
/data/mysql/support-files/mysql.server
...
basedir=/data/mysql
datadir=/data/mysql/data
...
3.add config file
cat <<EOF>> /data/mysql/my.cnf
[mysqld]
user = mysql
basedir = /data/mysql
datadir = /data/mysql/data
port = 3306
socket = /tmp/mysql.sock
log-error = /data/mysql/error.log
pid-file = /data/mysql/mysql.pid
default-time_zone = '+8:00'
sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
character_set_server = utf8
skip_name_resolve = 1
back_log = 100
max_allowed_packet = 16M
max_connections = 5000
log_timestamps = SYSTEM
#query_cache_size = 512
#query_cache_limit = 2M
log_bin_trust_function_creators = 1
skip_external_locking = 1
#key_buffer_size = 128M
read_buffer_size = 2M
read_rnd_buffer_size = 4M
sort_buffer_size = 32M
join_buffer_size = 32M
net_buffer_length = 8K
#table_cache = 4096
table_open_cache = 2048
tmp_table_size = 512M
max_heap_table_size = 512M
thread_cache_size = 64
group_concat_max_len = 2048
default_storage_engine = InnoDB
innodb_data_file_path = ibdata1:10M:autoextend
innodb_flush_log_at_trx_commit = 1
innodb_log_buffer_size = 16M
innodb_log_file_size = 256M
innodb_log_files_in_group = 3
innodb_buffer_pool_size = 2G
innodb_thread_concurrency = 16
innodb_file_per_table = 1
innodb_open_files = 1024
server_id = 200
log_bin = mysql-bin
binlog_format = mixed
binlog_cache_size = 2M
slow_query_log
slow_query_log_file = slow_query.log
long_query_time = 1
performance_schema = 1
[mysqldump]
quick
max_allowed_packet = 16M
EOF
4.init server
chown -R mysql:mysql /data/mysql
/data/mysql/bin/mysqld --defaults-file=/data/mysql/my.cnf --initialize --user=mysql --basedir=/data/mysql --datadir=/data/mysql/data
password in /data/mysql/error.log
5.start mysql
/data/mysql/mysql.server start
或
cat <<'EOF'>>/usr/lib/systemd/system/mysqld5.7.service
[Unit]
Description=MySQL Server
Documentation=man:mysqld(8)
Documentation=http://dev.mysql.com/doc/refman/en/using-systemd.html
After=network.target
After=syslog.target
[Install]
WantedBy=multi-user.target
[Service]
User=mysql
Group=mysql
ExecStart=/data/mysql5.7/bin/mysqld --defaults-file=/data/mysql5.7/my.cnf
LimitNOFILE = 5000
EOF
systemctl daemon-reload
systemctl enable mysqld5.7
systemctl start mysqld5.7
systemctl stop mysqld5.7
systemctl status mysqld5.7
6.root user
/data/mysql/bin/mysql -uroot -p
mysql> alter user user() identified by 'passwd';