启动docker: systemctl start docker 或 systemctl start docker.service
查看docker版本:docker -v
查看docker镜像:docker images
查看docker容器:docker ps -a
查看开启的docker容器:docker ps
一、准备工作
# 打开目录
[root@MuYu ~]# cd /usr/local
# 创建文件夹
[root@MuYu ~]# mkdir docker
# 打开目录
[root@MuYu ~]# cd /usr/local/docker/
# 创建文件夹
[root@MuYu docker]# mkdir mysql
# 创建文件夹
[root@MuYu docker]# mkdir mydata
二、创建挂载目录
# 创建数据挂在目录
[root@MuYu mysql]#cd mysql
# 创建配置文件目录
[root@MuYu mysql]# mkdir config
# 打开config
[root@MuYu mysql]# cd config/
# 编写配置文件
[root@MuYu config]# vim my.cnf
vim my.cnf的内容
[client] # 端口号 port = 3306 [mysql] no-beep default-character-set = utf8mb4 [mysqld] # 端口号 port = 3306 # 数据目录 datadir = /var/lib/mysql # 新模式或表时将使用的默认字符集 character-set-server = utf8mb4 # 默认存储引擎 default-storage-engine = INNODB # 将 SQL 模式设置为严格 sql-mode = "STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION" # 最大连接数 max_connections = 1024 # 表缓存 table_open_cache = 2000 # 表内存 tmp_table_size = 16M # 线程缓存 thread_cache_size = 10 # 设置大小写不敏感 lower_case_table_names = 1 # myisam设置 myisam_max_sort_file_size = 100G myisam_sort_buffer_size = 8M key_buffer_size = 8M read_buffer_size = 0 read_rnd_buffer_size = 0 # innodb设置 innodb_flush_log_at_trx_commit = 1 innodb_log_buffer_size = 1M innodb_buffer_pool_size = 8M innodb_log_file_size = 48M innodb_thread_concurrency = 33 innodb_autoextend_increment = 64 innodb_buffer_pool_instances = 8 innodb_concurrency_tickets = 5000 innodb_old_blocks_time = 1000 innodb_open_files = 300 innodb_stats_on_metadata = 0 innodb_file_per_table = 1 innodb_checksum_algorithm = 0 # 其他设置 back_log = 80 flush_time = 0 join_buffer_size = 256K max_allowed_packet = 4M max_connect_errors = 100 open_files_limit = 4161 sort_buffer_size = 256K table_definition_cache = 1400 binlog_row_event_max_size = 8K sync_master_info = 10000 sync_relay_log = 10000 sync_relay_log_info = 10000 #排除包 !includedir /etc/mysql/conf.d/ !includedir /etc/mysql/mysql.conf.d/
三、下载镜像
[root@MuYu mysql]# docker pull mysql:5.7
四、编写脚本
# 打开目录
[root@MuYu config]# cd /usr/local/docker/mysql/
# 编写脚本
[root@MuYu mysql]# vim startMysql.sh
脚本内容
docker run -p 3306:3306 --name mysql \
--privileged=true \
--restart=always \
-v /usr/local/docker/mydata/log:/var/log/mysql \
-v /usr/local/docker/mydata/data:/var/lib/mysql \
-v /usr/local/docker/mysql/config/my.cnf:/etc/mysql/my.cnf \
-e MYSQL_ROOT_PASSWORD=zpf@123 \
-d mysql:5.7
注意:zpf@123是设置连接Navicat的密码 ,自己可以定义其他的
五、权限赋予
# 权限赋予
[root@MuYu mysql]# chmod -R 777 startMysql.sh
六、启动脚本
# 执行脚本
[root@MuYu mysql]# ./startMysql.sh