docker安装Mysql8
最近因为要搭建服务器所以要用到docker裁了非常多坑,于是决定分享一篇教学给大家,麻麻再也不用担心我的docker安装MySQL8踩坑了,咱们废话不多说上干货!!!
一,docker安装
如服务器已安装好docker请忽略这一步
step 1: 安装必要的一些系统工具
sudo apt-get update
sudo apt-get -y install apt-transport-https ca-certificates curl software-properties-common
step 2: 安装GPG证书
curl -fsSL https://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo apt-key add -
Step 3: 写入软件源信息
sudo add-apt-repository “deb [arch=amd64] https://mirrors.aliyun.com/docker-ce/linux/ubuntu $(lsb_release -cs) stable”
Step 4: 更新并安装Docker-CE
sudo apt-get -y update
sudo apt-get -y install docker-ce
Step 5: 更新守护进程配置文件
vim /etc/docker/daemon.json
{
"registry-mirrors": ["https://kn0t2bca.mirror.aliyuncs.com"],
"insecure-registries": ["https://10.130.79.167:443"]
}
上述insecure-registries的ip替换为本服务器内网ip
编辑好后退出。
二,安装MySQL8
#检查docker是否可以下载mysql镜像
docker search mysql
#下载mysql8.0镜像
docker pull mysql:8.0
建好docker数据挂载目录/usr/local/docker/mysql/data
#运行mysql8容器并关联本地文件
docker run
-p 3306:3306
–name mysql8
-e MYSQL_ROOT_PASSWORD=123456
-e TZ=Asia/Shanghai
-v /usr/local/docker/mysql/data:/var/lib/mysql
–privileged=true
–restart=always
-d mysql:8.0
–lower_case_table_names=1
容器启动以后进入容器对MySQL相关账号赋权限
docker exec -it mysql-container mysql -u root -p
这里会让你输入数据库root用户密码就是上面docker启动参数里有带的MySQLroot用户的密码123456
1.修改用户身份验证插件
MySQL 8.0默认使用caching_sha2_password身份验证插件,为了兼容更多旧版客户端,你可以将root用户的认证方式更改为mysql_native_password插件:
ALTER USER ‘root’@‘%’ IDENTIFIED WITH mysql_native_password BY ‘your_strong_password’;
请将 ‘your_strong_password’ 替换为你要设置的root用户的远程访问密码。
2.授权远程访问
接下来,你需要赋予root用户远程访问权限。若允许任意IP地址访问,执行
GRANT ALL PRIVILEGES ON . TO ‘root’@‘%’ WITH GRANT OPTION;
3.刷新权限
FLUSH PRIVILEGES;