1

2. 卸载Mysql5.6 ,一共有三个包 要卸载:

(1)先卸载mysql-server包 : 执行命令  yum remove mysql mysql-server

(2)再卸载mysql-client包   :   执行命令  yum remove msyql-client

(3)最后卸载mysql-devel   :   执行命令  yum remove msyql-devel

三个包都顺利卸载完成以后,继续执行安装Mysql-5.7的命令

3. 安装Mysql-5.7版本

(1)添加MySQL5.7的YUM源,建议安装epel源

# yum install epel-release

(2)激活MySQL5.7源

# yum-config-manager --disable mysql56-community

# yum-config-manager --enable mysql57-community-dmr

(3)如果系统里面没有yum-config-manage命令,执行如下命令进行安装。

# yum install yum-utils

(4)执行安装MySQL5.7

# yum install mysql mysql-devel mysql-server mysql-utilities
      (5)初始化密码,由于我没有在/root目录下找到第一次启动的随机密码,我就使用了如下操作
            # vim /etc/my.cnf
            # 在mysqld字段中添加
            [mysqld]
            skip-grant-tables
            #然后执行
             systemctl restart mysqld

#此时直接敲mysql进入mysql的终端执行如下命令

use msyql;

update user set authentication_string=password(123456) where user='root' and Host = 'localhost';
               #此时重启mysql后,注释掉刚刚添加的那个字段,systemctl restart mysqld  会告诉你的密码不符合复杂程度要求,需要再次更改;
                #然后用123456这个密码进入mysql终端,在此执行如下命令
                SET PASSWORD FOR 'root'@'localhost' = PASSWORD('1234@Mfg');
                FLUSH PRIVILEGES;
                #之后用新的密码登录即可~~~

(6)修改默认字符集为UTF-8
                #由于现在大家都使用UTF-8作为默认字符集,因此需要在mysqld中添加如下字段
                [mysqld]
                character-set-server=utf8
       (7)由于默认的密码策略要求必须符合复杂程度,这是因为MySQL5.7以后引入了密码策略插件

mysql>  SHOW VARIABLES LIKE 'validate_password%';
                +--------------------------------------+--------+
                | Variable_name                        | Value  |
                +--------------------------------------+--------+
                | validate_password_check_user_name    | OFF    |
                | validate_password_dictionary_file    |        |
                | validate_password_length             | 8      |
                | validate_password_mixed_case_count   | 1      |
                | validate_password_number_count       | 1      |
                | validate_password_policy             | MEDIUM |
                | validate_password_special_char_count | 1      |
                +--------------------------------------+--------+

mysql> show plugins;
                | ngram                      | ACTIVE   | FTPARSER           | NULL                 | GPL     |
                | validate_password          | ACTIVE   | VALIDATE PASSWORD  | validate_password.so | GPL     |
                由于本人使用觉得很不方便,可以在配置文件中添加如下字段将其关闭!当然这也做是很不理智的,毕竟安全大于一切!
                #关闭密码复杂策略
                validate_password=off

(8):完整的MySQL配置优化后的配置文件如下(本人参照网上的示例之后自己整理的):

[mysqld]
            #修改最大连接数
            max_connections = 500
            #设置默认字符集为utf8
            character-set-server=utf8
            #查询排序时缓冲区大小,只对order by和group by起作用,可增大此值为16M
            sort_buffer_size = 16M
            #查询缓存限制,只有1M以下查询结果才会被缓存,以免结果数据较大把缓存池覆盖
            query_cache_limit = 1M
            #查看缓冲区大小,用于缓存SELECT查询结果,下一次有同样SELECT查询将直接从缓存池返回结果,可适当成倍增加此值
            query_cache_size = 16M
            #给所有的查询做cache,代表使用缓冲
            query_cache_type = 1
            #设置以顺序扫描的方式扫描表数据的时候使用缓冲区的大小
            read_buffer_size = 8M
            #打开文件数限制
            open_files_limit = 10240
            #修改InnoDB为独立表空间模式,每个数据库的每个表都会生成一个数据空间
            innodb_file_per_table = 1
            #索引和数据缓冲区大小,一般设置物理内存的60%-70%
            innodb_buffer_pool_size = 1G
            #缓冲池实例个数,推荐设置4个或8个
            innodb_buffer_pool_instances = 8
            #2代表只把日志写入到系统缓存区,再每秒同步到磁盘,效率很高
            innodb_flush_log_at_trx_commit = 2
            #日志缓冲区大小,由于日志最长每秒钟刷新一次,所以一般不用超过16M
            innodb_log_buffer_size = 8M
            #back_log参数的值指出在MySQL暂时停止响应新请求之前的短时间内多少个请求可以被存在堆栈中
            back_log = 1024
            #thread cache 池中存放的最大连接数
            thread_cache_size = 64
            #开启慢查询日志
            slow_query_log = ON
            #关闭密码复杂策略

validate_password=off

至此,更新就完成了 ,不过 登录mysql时可能会出现如下报错

‘Table performance_schema.session_variables doesn't exist’

解决方法如下 :

mysql_upgrade -u root -p --force

然后 重启mysql即可

centos7 Mysql5.6 升级Mysql5.7的更多相关文章

  1. mysql5.6升级及mysql无密码登录

    mysql5.6升级 mysql5.6的升级可以分为以下几个步骤: 安全关闭正在运行的MySQL实例 把/usr/local/mysql 的连接由MySQL5.6更改为MySQL5.7 启动MySQL ...

  2. 阿里云Centos7使用yum安装MySQL5.6的正确姿势

    阿里云Centos7使用yum安装MySQL5.6 阿里云Centos7使用yum安装MySQL5.6 前言:由于某些不可抗力,我要在自己的阿里云服务器上搭建hadoop+hive+mysql+tom ...

  3. CentOS7使用yum安装mysql5.7

    提前说一下,网速不好不要用yum安装,等得时间太长. 第一步.获取yum源 [root@youxi1 ~]# rpm -ivh https://repo.mysql.com/yum/mysql-5.7 ...

  4. Centos7安装并配置mysql5.6完美教程

    Centos7安装并配置mysql5.6完美教程 Centos7将默认数据库mysql替换成了Mariadb,对于我们这些还想使用mysql的开发人员来说并不是一个好消息.然而,网上关于Linux安装 ...

  5. MySQL5.1升级5.6后,执行grant出错:ERROR 2013 (HY000): Lost connection to MySQL server during query【转载】

    转载: MySQL5.5升级5.6后,执行grant出错:ERROR 2013 (HY000): Lost connection to -mysql教程-数据库-壹聚教程网http://www.111 ...

  6. 升级 mysql5.6 配置文件my.cnf sql_mode 解析与设置问题

    sql_mode是个很容易被忽视的变量,默认值是空值,在这种设置下是可以允许一些非法操作的,比如允许一些非法数据的插入.在生产环境必须将这个值设置为严格模式,所以开发.测试环境的数据库也必须要设置,这 ...

  7. CentOS 7下升级MySQL5.7.23的一个坑

    发现CentOS 7下升级MySQL5.7.23的一个坑,以前面升级到MySQL 5.7.23的一个集群为例 在我们环境下打开文件描述符个数的参数open_files_limit在MySQL 5.6. ...

  8. MySQL基础环境_安装配置教程(Windows7 64或Centos7.2 64、MySQL5.7)

    MySQL基础环境_安装配置教程(Windows7 64或Centos7.2 64.MySQL5.7) 安装包版本 1)     VMawre-workstation版本包 地址: https://m ...

  9. phpstudy2018升级MySQL5.5为5.7.24教程(图文)

    原文: phpstudy2018升级MySQL5.5为5.7教程(图文) 一.MySQL官网下载MySQL5.7版本,我这里下载的是MySQL5.7.24. 二.直接到D:phpStudyPHPTut ...

随机推荐

  1. filebeat 选项

    Filebeat Options input_type: log|stdin 指定输入类型 paths 支持基本的正则,所有golang glob都支持,支持/var/log/*/*.log enco ...

  2. 使用caffe 的 python接口测试数据,选定GPU编号

    只需要在python脚本中添加两行代码: caffe.set_device(0) #使用第一块显卡 caffe.set_mode_gpu() #设为gpu模式 这样,就可以在默认显卡被占用(第一块显卡 ...

  3. charles抓包工具使用指南

    前言 移动APP抓包 PC端抓包 查看模式 其他功能 问题汇总 1. 前言: Charles是一款抓包修改工具,相比起burp,charles具有界面简单直观,易于上手,数据请求控制容易,修改简单,抓 ...

  4. 李洪强iOS开发之大神必备的Xcode插件

    iOS开发大神必备的Xcode插件 写在前面 工欲善其事,必先利其器,iOS开发中不仅要学会Xcode的基本操作,而且还得学会一些Xcode的使用技巧,如掌握常用的快捷键等,还有就是今天要说到的Xco ...

  5. MVC-Model

    用模型取代字典理由: **使用字典的坏处 一般情况下,存入数据和取出数据都使用“字典类型的key”,编写这些key时,编译时不会有任何的友善提示,需要手敲,容易出错. dict[@“name”] = ...

  6. nginx 中location和root,你确定真的明白他们关系?

    最近公司开发新项目,web server使用nginx,趁周末小小的研究了一下,一不小心踩了个坑吧,一直404 not found!!!!!当时卡在location和root中,但是网上却比较少聊这方 ...

  7. 内核交互--debugfs_转

    转载:Linux内核里的DebugFS DebugFS,顾名思义,是一种用于内核调试的虚拟文件系统,内核开发者通过debugfs和用户空间交换数据.类似的虚拟文件系统还有procfs和sysfs等,这 ...

  8. samba实现文件共享

    很多时候,做嵌入式开发,都是在windows上安装虚拟,在虚拟机中安装Linux操作系统.这个时候,我们经常需要Linux操作系统下有一个目录能在windows下自由访问.要想实现这个功能我们只需要在 ...

  9. CDH-5.12.2安装教程

    CDH是Cloudera公司提供的Hadoop发行版,它在原生开源的Apache Hadoop基础之上,针对特定版本的Hadoop以及Hadoop相关的软件,如Zookeeper.HBase.Flum ...

  10. 什么是 HTTPS

    HTTPS (基于安全套接字层的超文本传输协议 或者是 HTTP over SSL) 是一个 Netscape 开发的 Web 协议. 你也可以说:HTTPS = HTTP + SSL HTTPS 在 ...