使用docker安装mysql
1、先创建两个MySQL使用文件夹
mkdir -p /learn-chen/tool/tool/mysql/conf
mkdir -p /learn-chen/tool/tool/mysql/data
2、创建MySQL配置文件
vim /learn-chen/tool/tool/mysql/conf/my.cnf
添加以下内容到上述创建的配置文件中
[client]
#socket = /usr/mysql/mysqld.sock
default-character-set = utf8mb4
[mysqld]
#pid-file = /var/run/mysqld/mysqld.pid
#socket = /var/run/mysqld/mysqld.sock
#datadir = /var/lib/mysql
#socket = /usr/mysql/mysqld.sock
#pid-file = /usr/mysql/mysqld.pid
datadir = /learn-chen/tool/tool/mysql/data
character_set_server = utf8mb4
collation_server = utf8mb4_bin
secure-file-priv= NULL
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
# Custom config should go here
!includedir /etc/mysql/conf.d/
3、拉取最新MySQL镜像
docker pull mysql:latest
4、运行容器
docker run \
--name mysql8 \
--restart=unless-stopped \
-it -p 3306:3306 \
-v /learn-chen/tool/tool/mysql/conf/my.cnf:/etc/mysql/my.cnf \
-v /learn-chen/tool/tool/mysql/data:/var/lib/mysql \
-e MYSQL_ROOT_PASSWORD=19970815 \
-d mysql
参数说明:
–restart=unless-stopped,在容器退出时总是重启容器,但是不考虑在Docker守护进程启动时就已经停止了的容器
-p 3306:3306:映射容器服务的 3306 端口到宿主机的 3306 端口,外部主机可以直接通过 宿主机ip:3306 访问到 MySQL 的服务。
-e 环境参数,MYSQL_ROOT_PASSWORD设置root用户的密码
-d 后台运行
5、Navicat链接
上述虽然安装好了MySQL,但是使用远程的Navicat连接时提示错误,不能正确连接mysql,此时需要修改按照下面说的步骤修改一下MySQL的密码模式以及主机等内容才可以。
修改MySQL密码以及可访问主机
1.进入容器内部
docker exec -it mysql8 /bin/bash
2.连接mysql
mysql -u root -p
3.使用mysql库
use mysql
4.修改访问主机以及密码等,设置为所有主机可访问
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '新密码';
5.刷新
flush privileges;
网友评论