【注意】如果没有安装docker先看我之前的docker安装
-
创建脚本文件
vi createMysql.sh -
把下面内容复制进去
#!/bin/bash
docker pull mysql:latest
mkdir /usr/local/software
mkdir /usr/local/software/mysql
mkdir /usr/local/software/mysql/data
mkdir /usr/local/software/mysql/conf
mkdir /usr/local/software/mysql/log
chmod 777 /usr/local/software/mysql/data
chmod 777 /usr/local/software/mysql/conf
chmod 777 /usr/local/software/mysql/log
touch /usr/local/software/mysql/conf/mysql.cnf
echo "
[client]
default-character-set = UTF8MB4
[mysql]
default-character-set = UTF8MB4
[mysqld]
socket=/usr/local/software/mysql/conf/mysql.sock
pid-file=/usr/local/software/mysql/conf/mysql.pid
character-set-client-handshake = FALSE
character-set-server = UTF8MB4
collation-server = UTF8MB4_unicode_ci
init_connect='SET NAMES UTF8MB4'
skip-character-set-client-handshake = true
default-time_zone = '+8:00'
basedir=/usr/local/software/mysql
datadir=/usr/local/software/mysql/data
log_bin=/usr/local/software/mysql/log/mysql-bin
log_error=/usr/local/software/mysql/log/mysql-error.log
slow_query_log_file=/usr/local/software/mysql/log/mysql-slow.log
log_queries_not_using_indexes=1
slow_query_log=1
sync_binlog=1
binlog_expire_logs_seconds=1296000
innodb_thread_concurrency=12
max_connect_errors=20
max_connections=1000
max_user_connections=500
max_allowed_packet=16M
default_authentication_plugin= mysql_native_password
skip_name_resolve
" > /usr/local/software/mysql/conf/mysql.cnf
docker run -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 --name mysql -v /usr/local/software/mysql/conf:/usr/local/software/mysql/conf -v /usr/local/software/mysql/data:/usr/local/software/mysql/data -v /usr/local/software/mysql/log:/usr/local/software/mysql/log -v /usr/local/software/mysql/mysql-files:/var/lib/mysql-files -di mysql mysqld --defaults-file=/usr/local/software/mysql/conf/mysql.cnf --user=root --security-opt seccomp=unconfined
- 执行脚本
sh createMysql.sh