马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?立即注册
×
1.打开docker目次
- cd /usr/local/
-
- mkdir docker
复制代码 2.创建mysql文件夹
- cd /usr/local/docker
-
- mkdir mysql
复制代码 3.打开mysql文件夹
4.创建设置文件目次
5.打开config
6.编写设置文件
复制如下:
- [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
复制代码 再创建两个子文件夹:
- mkdir /usr/local/docker/mysql/config/conf.d
复制代码- mkdir /usr/local/docker/mysql/config/mysql.conf.d
复制代码 否则启动会报错:
2024-12-23 05:47:02+00:00 [Note] [Entrypoint]: Entrypoint script for MySQL Server 5.7.44-1.el7 started.
2024-12-23 05:47:02+00:00 [ERROR] [Entrypoint]: mysqld failed while attempting to check config
command was: mysqld --verbose --help --log-bin-index=/tmp/tmp.p6Ff5TQ68E
mysqld: Can’t read dir of ‘/etc/mysql/conf.d/’ (Errcode: 2 - No such file or directory)
mysqld: [ERROR] Fatal error in defaults handling. Program aborted!
下载mysql镜像
- [root@localhost config]# docker images
- REPOSITORY TAG IMAGE ID CREATED SIZE
- mysql 5.7 5107333e08a8 12 months ago 501MB
复制代码 方法一、 直接运行
- docker run -p 3306:3306 --name mysql --restart=always --privileged=true \
- --restart unless-stopped \
- -v /usr/local/docker/mysql/log:/var/log/mysql \
- -v /usr/local/docker/mysql/data:/var/lib/mysql \
- -v /usr/local/docker/mysql/config:/etc/mysql \
- -v /etc/localtime:/etc/localtime:ro \
- -e MYSQL_ROOT_PASSWORD=123456 -d mysql:latest
复制代码 方法二、创建脚本 直接使用脚本运行
复制如下进入脚本文件:
- docker run -p 3306:3306 --name mysql --restart=always --privileged=true \
- -v /usr/local/docker/mysql/log:/var/log/mysql \
- -v /usr/local/mysql/data:/var/lib/mysql \
- -v /usr/local/mysql/conf:/etc/mysql \
- -v /etc/localtime:/etc/localtime:ro \
- -e MYSQL_ROOT_PASSWORD=123456 -d mysql:latest
复制代码 -p 3306:3306:指定宿主机端口与容器端口映射关系
–name mysql:创建的容器名称
–restart=always:总是跟随docker启动
–privileged=true:获取宿主机root权限
-v /usr/local/mysql/log:/var/log/mysql:映射日志 目次,宿主机:容器
-v /usr/local/mysql/data:/var/lib/mysql:映射数据目次,宿主机:容器
-v /usr/local/mysql/conf:/etc/mysql:映射设置目次,宿主机:容器
-v /etc/localtime:/etc/localtime:ro:让容器的时钟与宿主机时钟同步,制止时区的题目,ro是read only的意思,就是只读。
-e MYSQL_ROOT_PASSWORD=123456:指定mysql情况变量,root用户的暗码为123456(你可以改变)
-d mysql:5.7:配景运行mysql容器,版本是5.7(根据自己现实指定)。
给脚本文件赋权
- chmod -R 777 startMysql.sh
复制代码 运行脚本文件
如果进不去 看看自己的端标语是否放行 服务器须要放行 本机假造机则不消
学习博客
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。 |