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. sql数据库在登录异常时 ora-03114:未连接到ORACLE怎么办

    关闭SQL数据,重新启动,登录就好,不要用删除,或者其他方法,如果这麽做还是不可以,那么在想其他办法! 我自己就是这麽做的

  2. 「前端」rem 缩放方案 flexible-js 兼容 375px 方案的思路

    本文来自尚妆前端团队南洋 发表于尚妆github博客,欢迎订阅. 移动端H5页面rem缩放方案flexible.js兼容375px方案的思路 参考: 移动端高清.多屏适配方案 viewport-and ...

  3. Java的三魂七魄 —— 高级多线程

    目录 Java的三魂七魄 -- 高级多线程 一.多线程的创建 二.线程安全问题 三.线程通信问题 四.更多实例 1.用线程同步的方法解决单例模式的线程安全问题 2.银行存钱问题(线程安全问题) 3.生 ...

  4. ubuntu下pip的安装,更新及卸载

    在Ubuntu下,不小心uninstall pip了,然后呢,作为小白的我,还是有些着急的,用了一些方法不好使,最后找到了这个方法: 1.安装pip3: sudo apt-get install py ...

  5. Redis(6)——GeoHash查找附近的人

    像微信 "附近的人",美团 "附近的餐厅",支付宝共享单车 "附近的车" 是怎么设计实现的呢? 一.使用数据库实现查找附近的人 我们都知道, ...

  6. cocos2d-x android 入门

    前一段时间使用传统方式做了一个CS软件,发现 UI 显示的比较慢,突发奇起,开始研究起来 GPU 加速,最后开始学习 cocos2dx. 开发环境以最新的 Cocos2d-x 3.17.1 Andro ...

  7. 回想笔记 瞎比比 域名注册 解析绑定ip 下载证书 设置证书 重定向http到https请求

    2019.7.27 回想笔记 拥有腾讯云服务器一台 阿里云注册5元域名,进行备案 完成之后 使用解析 绑定服务器ip地址 ,使用域名可以访问到web服务器而不是通过直接暴露ip地址进行访问 证书购买 ...

  8. css3 scale 缩放出现 1px 问题

    问题描述 先来一段html代码 <div class="container"> <div class="parent"> <div ...

  9. Java多线程并发01——线程的创建与终止,你会几种方式

    本文开始将开始介绍 Java 多线程与并发相关的知识,多谢各位一直以来的关注与支持.关注我的公众号「Java面典」了解更多 Java 相关知识点. 线程的创建方式 在 Java 中,用户常用的主动创建 ...

  10. C++ 理解类 和 类中的public、protected、private

    我们要明确,不只是C++有类,很多语言也会用到类,因为现在很多都是面向对象编程... 在c++中,关于类的理解,个人理解是这样的,具有共同属性的一个集合被称为类, 比如说人这个集合,具有性别,年龄,出 ...