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. 安装SDK后打开安卓project后有例如以下错误:发现了以元素 'd:skin' 开头的无效内容。此处不应含有子元素。

    Error: Error parsing D:\Program Files\SDK\android-sdk-windows\system-images\android-22\android-wear\ ...

  2. Centos7 卸载rpm包、卸载yum安装的包

    1. 通过rpm -q <关键字>查到rpm包的名字.2. 调用rpm -e <包名>删除特定的rpm包

  3. Python标准库:内置函数chr(i)

    返回一个參数i表示的字符串. 比方,chr(97)返回字符"a".參数i的有效范围为0到1.114,111(0x10FFFF),其他范围的值会抛出异常ValueError. 与之相 ...

  4. Backup and Recovery Basics1

    一.Backup and Recovery Overview 1.Backup and Recovery Overview 1.1 What is Backup and Recovery? 一般,备份 ...

  5. Android JNI和NDK学习(06)--JNI的数据类型(转)

    本文转自:http://www.cnblogs.com/skywang12345/archive/2013/05/23/3094037.html 本文介绍JNI的数据类型.NDK中关于JNI数据类型的 ...

  6. git设置及常用命令

    下载 下载地址:https://git-scm.com/downloads windows系统安装 默认安装即可. 其它系统安装方式请自行百度,网上教程很多. 设置 windows桌面右键,选择Git ...

  7. mock中测试private方法,不是mock

    Method method = PowerMockito.method(CategoryController.class, "getCategory",List.class);// ...

  8. PHP基础之Autoload

    PHP的自动加载autoload机制很重要,这里做2个小练习 原创文章,转载请注明:http://www.cnblogs.com/phpgcs 文件结构如下,2种方式实现自动加载 1,自定义函数 2, ...

  9. LeetCode300. Longest Increasing Subsequence

    Description Given an unsorted array of integers, find the length of longest increasing subsequence. ...

  10. CGI(Common Gateway Interface),通用网关接口

    通用网关接口,简称CGI,是一种根据请求信息动态产生回应内容的技术.通过CGI,Web 服务器可以将根据请求不同启动不同的外部程序,并将请求内容转发给该程序,在程序执行结束后,将执行结果作为回应返回给 ...