MySQL5.7 安装

1 . 普通安装

# 准备工作 停止以前的数据库并删除配置文件
systemctl stop mysqld
rpm -e mysql-community-server-5.7.26-1.el7.x86_64
rm -f /etc/my.cnf
rm -rf /etc/my.cnf.d
rm -rf /var/lib/mysql # 查看是否有Mariadb运行并结束和移除mariadb
yum list installed | grep mariadb | xargs yum remove -y yum list installed | grep mariadb | awk '{print $1}' | xargs yum erase -y systemctl stop mariadb
# 再次检查3306端口有无占用
netstat -nap | grep 3306 # rpm 安装
cd /root/mysql
rpm -ivh mysql-community-server-5.7.26-1.el7.x86_64.rpm # wget 下载安装
cd mysql
# 下载
wget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.26-1.el7.x86_64.rpm-bundle.tar
# 解压
tar -xvf mysql-5.7.26-1.el7.x86_64.rpm-bundle.tar
# 依次安装下面的rpm包
rpm -ivh mysql-community-common-5.7.26-1.el7.x86_64.rpm
rpm -ivh mysql-community-libs-5.7.26-1.el7.x86_64.rpm
rpm -ivh mysql-community-client-5.7.26-1.el7.x86_64.rpm
rpm -ivh mysql-community-server-5.7.26-1.el7.x86_64.rpm # 停止
systemctl stop mysqld rpm -e mysql-community-server-5.7.26-1.el7.x86_64
rm -f /etc/my.cnf
rm -rf /etc/my.cnf.d
rm -rf /var/lib/mysql cd /root/mysql
rpm -ivh mysql-community-server-5.7.26-1.el7.x86_64.rpm vim /etc/my.cnf
skip-grant-tables
systemctl restart mysqld mysql -u root -p
use mysql; update user set authentication_string=password('你自己的密码') where user='root'; flush privileges; select user, host, authentication_string from user; create user 'root'@'%' identified by 'luohao.11.28'; grant all privileges on *.* to 'root'@'%'; flush privileges; grant all privileges on *.* to 'root'@'%' identified by 'luohao.11.28';

2 . mysql初始化密码常见报错问题

  1. mysql5.6是密码为空直接进入数据库的,但是mysql5.7就需要初始密码
cat /var/log/mysqld.log | grep password

2)然后执行 mysql -uroot -p ,输入上面的到的密码进入,用该密码登录后,必须马上修改新的密码,不然会报如下错误:

mysql> use mysql;
ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.

3)如果你想要设置一个简单的测试密码的话,比如设置为123456,会提示这个错误,报错的意思就是你的密码不符合要求

mysql> alter user 'root'@'localhost' identified by '123456';
ERROR 1819 (HY000): Your password does not satisfy the current policy requirements

这个其实与validate_password_policy的值有关。

validate_password_policy默认是1,即MEDIUM,所以刚开始设置的密码必须符合长度,且必须含有数字,小写或大写字母,特殊字符。

有时候,只是为了自己测试,不想密码设置得那么复杂,譬如说,我只想设置root的密码为123456。

必须修改两个全局参数:

首先,修改validate_password_policy参数的值

mysql> set global validate_password_policy=0;
Query OK, 0 rows affected (0.00 sec)

validate_password_length(密码长度)参数默认为8,我们修改为1

mysql> set global validate_password_length=1;
Query OK, 0 rows affected (0.00 sec)
  1. 完成之后再次执行修改密码语句即可成功
mysql> alter user 'root'@'localhost' identified by '123456';
Query OK, 0 rows affected (0.00 sec)

3 . docker安装

# 安装docker
yum install -y docker-io
# 启动docker
systemctl start docker
# 下载MySQL镜像
docker pull mysql:5.7
# 查看镜像
docker images
# 运行MySQL容器
docker run -d -p 3306:3306 --name mysql57 -e MYSQL_ROOT_PASSWORD=123456 mysql:5.7
# 查看运行容器
docker ps

4 . docker安装且数据本地化

# 建目录mysql_data
cd mysql_data
# 运行临时容器
docker run -d -p 3306:3306 -v $(pwd):/app --name tempMysql -e MYSQL_ROOT_PASSWORD=LiuLangPython docker.io/mysql:5.7 # 进入mysql容器
docker exec -it tempMysql /bin/bash # 把 etc/mysql 目录下的所有文件,复制到 app 目录下,由于之前做了本地同步,所以能看到本地文件夹./conf 内有mysql配置文件
cp -r /etc/mysql/* /app # 删除容器
ctrl+p+q # 退出容器
docker stop tempMysql # 停止容器
docker rm tempMysql # 删除容器 # 可选(复制数据进新数据库)
mkdir data
cd data
cp -r /var/lib/mysql/* . # 创建新容器, 是本地mysql文件夹和容器中的 mysql相关文件做同步。
docker run -d -p 3306:3306 --name mysql57 \
-v $(pwd)/conf:/etc/mysql \
-v $(pwd)/logs:/var/log/mysql \
-v $(pwd)/data:/var/lib/mysql \
-e MYSQL_ROOT_PASSWORD=LiuLangPython docker.io/mysql:5.7

sql MySQL5.7 安装 centos docker的更多相关文章

  1. 安装centos docker ce

    安装centos docker ce 移除旧的版本: $ sudo yum remove docker \ docker-client \ docker-client-latest \ docker- ...

  2. [sql]mysql5.6cmake安装/mysql5.7二进制安装

    centos7上cmake编译安装mysql-5.6.36.tar.gz 系统环境 - 环境(安装前规划好主机名,mysql编译过程会用) [root@n1 mysql-5.6.36]# cat /e ...

  3. mysql5.7在centos上安装的完整教程以及相关的“坑”

    安装前的准备 Step1: 如果你系统已经有mysql,如一般centos自带mysql5.1系列,那么你需要删除它,先检查一下系统是否自带mysql yum list installed | gre ...

  4. 使用 Linux Centos Docker 安装 2Bizbix

    在 Docker 安装 2Bizbix 安装 Centos 7 安装 mysql5.5 镜像 映射好数据库的配置文件和数据库目录 在 Windows 安装 2Bizbox 安装 jboss/base- ...

  5. docker下安装centos,并在其上搭建lnmp环境

    一.安装CentOs容器 1.进入docker下载CentOs,这里我使用的CentOs6.8 docker pull centos:6.8 2.创建容器 sudo docker run --priv ...

  6. centos 7安装部署docker

    1.centos 7 在windows下通过vm虚拟机安装centos 7: VMware-workstation-full-10.0.3-1895310 centos 7 2.要求 操作系统的内核版 ...

  7. centos docker 安装

    centos docker 安装 参考网站 https://docs.docker.com/install/linux/docker-ce/centos/ 1.删除原有docker $ sudo yu ...

  8. Centos + docker,Ubuntu + docker介绍安装及详细使用

    docker笔记 常用命令 设置docker开机自启:sudo chkconfig docker on 查所有镜像: docker images 删除某个镜像:docker rmi CONTAINER ...

  9. Docker 安装Centos,Tomcat,Jdk等相关的自定义(Dockerfile)镜像

    一.安装Centos镜像 这里Centos 安装 国内daocloud网站提供的官方镜像 docker pull daocloud.io/library/centos:latest 利用docker  ...

随机推荐

  1. java反序列化-ysoserial-调试分析总结篇(5)

    前言: 这篇文章继续分析commonscollections5,由如下调用链可以看到此时最外层的类不是annotationinvoke,也不是priorityqueue了,变成了badattribut ...

  2. Roma - Facebook工具链大一统

    什么是roma roma,中文名罗马,是Facebook的rn团队的产出,是一个试验性质的javascript工具链,集编译,linter,格式化,打包,测试等等于一体.目标是成为一个处理javasc ...

  3. Flask css 无法实时更新

    css代码改完了,但是查看网页源代码css的内容还是很久之前的,根本没有更新 解决方法: 1.浏览器缓存.使用ctrl+F5刷新一下页面 2. 3. from datetime import time ...

  4. 如何提升.NET控制台应用体验?

    原文:Upgrade Your .NET Console App Experience 作者:Khalid Abuhakmeh 译文:Lamond Lu 在.NET生态系统中,控制台程序的表现相对较差 ...

  5. 基于sklearn的metrics库的常用有监督模型评估指标学习

    一.分类评估指标 准确率(最直白的指标)缺点:受采样影响极大,比如100个样本中有99个为正例,所以即使模型很无脑地预测全部样本为正例,依然有99%的正确率适用范围:二分类(准确率):二分类.多分类( ...

  6. Python学习之布尔和数字

    布尔有True和Flase两种值 数字0.None,以及元素为空的容器类对象都可视为False,反之为Ture.

  7. SpringBoot框架——从SpringBoot看IoC容器初始化流程之方法分析

    目录 一.概观Spring Boot 二.Spring Boot应用初始化 2.1 初始化入口 2.2 SpringApplication的run方法 2.3 方法分析 三.容器创建与初始化 3.1 ...

  8. update join和delete join

    UPDATE ASET A.A2 = B.B2FROM BINNER JOIN AON A.A1 = B.B1WHERE B.B2 = "XXX" 上面的语句在SQL SERVER ...

  9. ggplot2练习

    图源于电力电子课本65页——电容滤波的单相不可控整流电路. f<-function(w,d) { l<-w/sqrt(w^2+1)*exp(-atan(w)/w)*exp(-d/w) r& ...

  10. redis的批量操作命令pipeline(PHP实现)

    redis执行一条命令有四个过程:发送命令.命令排队.命令执行.返回结果:整个过程是一个往返时间(RTT).如果有n条命令,就会消耗n次RTT.Redis的客户端和服务端可能部署在不同的机器上.在两地 ...