IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 系统运维 -> Docker安装MySQL8.0 -> 正文阅读

[系统运维]Docker安装MySQL8.0

环境

  1. CentOS 7
  2. Docker 20.10.12
  3. MySQL8.0




本文可能解决的问题

  • ERROR 2002 (HY000): Can’t connect to local MySQL server through socket ‘/var/run/mysqld/mysqld.sock’ (2);
  • ERROR 1396 (HY000): Operation ALTER USER failed for ‘root’@’%’;
  • 2003 - Can’t connect to MySQL server on ‘101.201.225.143’(10060 “Unknown error”) ;
  • curl: (56) Recv failure: Connection reset by peer.
  • docker run -d 后容器停止.



安装步骤

1. 镜像拉取
docker pull mysql:8.0

2. 在宿主机创建放置mysql的配置文件目录、数据目录和日志目录,并且进行授权
mkdir -p /mydata/mysql/conf /mydata/mysql/data /mydata/mysql/log
chmod -R 755 /mydata/mysql/

3. 创建MySQL配置文件

注:该配置文件可解决这个错误 ERROR 2002 (HY000): Can’t connect to local MySQL server through socket ‘/var/run/mysqld/mysqld.sock’ (2)

vim /mydata/mysql/conf/my.cnf

添加以下内容到上述创建的配置文件中

[client]
# socket = /mydata/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 = /mydata/mysql/mysqld.sock
# pid-file = /mydata/mysql/mysqld.pid
datadir = /mydata/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/

4. 创建并启动容器
docker run \
--restart=unless-stopped \
-p 3306:3306 \
--name mysql \
-v /mydata/mysql/log:/var/log/mysql \
-v /mydata/mysql/data:/var/lib/mysql \
-v /mydata/mysql/conf/my.cnf:/etc/mysql/my.conf \
-e MYSQL_ROOT_PASSWORD=123456 \
-d mysql:8.0

参数说明:

  • –restart=unless-stopped : 可解决执行 docker run -d 后,容器停止的问题;

5. 进入容器
docker exec -it mysql /bin/bash

6. 连接数据库
mysql -uroot -p

注意:看到Enter password时,直接回车,否则会出现这样的错误Access denied for user ‘root’@‘localhost’ (using password: YES)

使用数据库

use mysql;

7. 修改访问主机以及密码等,设置为所有主机可访问

① 查看是否运行远程访问;如果root用户的host为localhost ,要远程访问,需要将它改成%

select host,user,plugin from user;

② 将host改为%

update user set host='%' where user ='root';

③ 刷新权限

flush privileges;

④ 更改连接的密码校验方式(mysql_native_password,mysql8.x版本必须使用这种模式,否则navicate无法正确连接)

ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '新密码';

⑤ 刷新权限

flush privileges;

⑥ 使用Navicat远程连接测试

在这里插入图片描述
在这里插入图片描述

  系统运维 最新文章
配置小型公司网络WLAN基本业务(AC通过三层
如何在交付运维过程中建立风险底线意识,提
快速传输大文件,怎么通过网络传大文件给对
从游戏服务端角度分析移动同步(状态同步)
MySQL使用MyCat实现分库分表
如何用DWDM射频光纤技术实现200公里外的站点
国内顺畅下载k8s.gcr.io的镜像
自动化测试appium
ctfshow ssrf
Linux操作系统学习之实用指令(Centos7/8均
上一篇文章      下一篇文章      查看所有文章
加:2022-02-28 16:03:51  更:2022-02-28 16:06:26 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/16 3:20:54-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码