004-利用Docker安装Mysql
利用Docker安装Mysql一、在镜像仓库找到 Mysql1.镜像仓库地址2.复制命令3.下载Mysql镜像4.查看镜像二、创建实例并启动三、用本地工具连接数据库四、设置 Mysql 配置一、在镜像仓库找到 MysqlDocker 容器默认是临时存储若容器删除MySQL 数据会丢失。因此需提前在宿主机创建挂载目录将 MySQL 的配置、数据、日志目录挂载到宿主机实现数据持久化。# 创建 MySQL 配置目录、数据目录、日志目录mkdir-p/mydata/mysql/conf mkdir-p/mydata/mysql/datamkdir-p/mydata/mysql/logs目录说明/mydata/mysql/conf存放 MySQL 配置文件my.cnf/mydata/mysql/data存放 MySQL 核心数据持久化关键/mydata/mysql/logs存放 MySQL 运行日志便于排查问题1.镜像仓库地址https://hub.docker.com2.复制命令# 拉取指定版本docker pull mysql:8.0# 拉取最新版本docker pull mysql:latest3.下载Mysql镜像4.查看镜像docker images二、创建实例并启动docker run-p 3306:3306--name mysql--restart always-v/mydata/mysql/log:/var/log/mysql-v/mydata/mysql/data:/var/lib/mysql-v/mydata/mysql/conf:/etc/mysql-e MYSQL_ROOT_PASSWORDroot-d mysql:8.0参数说明 -p 3306:3306将容器的3306端口映射到主机的3306端口 --name mysql给容器命名为 mysql --restart always:容器开机自启避免服务器重启后容器失效 -v/mydata/mysql/conf:/etc/mysql将配置文件夹挂载到主机 -v/mydata/mysql/log:/var/log/mysql将日志文件夹挂载到主机 -v/mydata/mysql/data:/var/lib/mysql/将配置文件夹挂载到主机 -eMYSQLROOTPASSWORDroot初始化root用户的密码 -d后台运行容器守护进程模式查看容器dockerps-a发现容器状态为 Exited 表示启动失败查看容器启动失败的日志docker logs containerID检查本地配置目录:确认本地的 /mydata/mysqlconf目录中 是否存在 conf.d 和 mysql.conf.d 子目录如果不存在创建这个子目录。--创建子目录 mkdir-p/mydata/mysql/conf/conf.d mkdir-p/mydata/mysql/conf/mysql.conf.d- 再启动Mysql powershell docker start mysql查看容器启动状态dockerpsstatus:Up 。。表示容器正在运行三、用本地工具连接数据库由于我们已挂载配置目录直接在宿主机编辑配置文件即可无需进入容器vi/mydata/mysql/conf/my.cnf四、设置 Mysql 配置[mysqld]# 时区设置与容器时区一致default-time_zone8:00# 字符集配置解决中文乱码问题 character-set-serverutf8mb4 collation-serverutf8mb4_unicode_ci # 最大连接数根据需求调整默认151此处改为1000 max_connections1000# 连接超时时间单位秒 wait_timeout86400interactive_timeout86400# 认证插件兼容Navicat等工具远程连接MySQL8.0默认插件可能导致连接失败 default_authentication_pluginmysql_native_password # 日志相关配置 slow_query_log1slow_query_log_file/var/log/mysql/slow.log long_query_time2重启mysqldocker restart mysql设置开机启动docker update mysql--restartalways