centos7 Mysql5.6 升级Mysql5.7
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的更多相关文章
- mysql5.6升级及mysql无密码登录
mysql5.6升级 mysql5.6的升级可以分为以下几个步骤: 安全关闭正在运行的MySQL实例 把/usr/local/mysql 的连接由MySQL5.6更改为MySQL5.7 启动MySQL ...
- 阿里云Centos7使用yum安装MySQL5.6的正确姿势
阿里云Centos7使用yum安装MySQL5.6 阿里云Centos7使用yum安装MySQL5.6 前言:由于某些不可抗力,我要在自己的阿里云服务器上搭建hadoop+hive+mysql+tom ...
- CentOS7使用yum安装mysql5.7
提前说一下,网速不好不要用yum安装,等得时间太长. 第一步.获取yum源 [root@youxi1 ~]# rpm -ivh https://repo.mysql.com/yum/mysql-5.7 ...
- Centos7安装并配置mysql5.6完美教程
Centos7安装并配置mysql5.6完美教程 Centos7将默认数据库mysql替换成了Mariadb,对于我们这些还想使用mysql的开发人员来说并不是一个好消息.然而,网上关于Linux安装 ...
- 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 ...
- 升级 mysql5.6 配置文件my.cnf sql_mode 解析与设置问题
sql_mode是个很容易被忽视的变量,默认值是空值,在这种设置下是可以允许一些非法操作的,比如允许一些非法数据的插入.在生产环境必须将这个值设置为严格模式,所以开发.测试环境的数据库也必须要设置,这 ...
- CentOS 7下升级MySQL5.7.23的一个坑
发现CentOS 7下升级MySQL5.7.23的一个坑,以前面升级到MySQL 5.7.23的一个集群为例 在我们环境下打开文件描述符个数的参数open_files_limit在MySQL 5.6. ...
- MySQL基础环境_安装配置教程(Windows7 64或Centos7.2 64、MySQL5.7)
MySQL基础环境_安装配置教程(Windows7 64或Centos7.2 64.MySQL5.7) 安装包版本 1) VMawre-workstation版本包 地址: https://m ...
- phpstudy2018升级MySQL5.5为5.7.24教程(图文)
原文: phpstudy2018升级MySQL5.5为5.7教程(图文) 一.MySQL官网下载MySQL5.7版本,我这里下载的是MySQL5.7.24. 二.直接到D:phpStudyPHPTut ...
随机推荐
- destoon二次开发基础指南
代码首先包含common.inc.php文件 在common.inc.php文件中,首先定义常量. define('IN_DESTOON', true); define('IN_ADMIN', def ...
- atitit.MIZIAN 陕北方言 特有词汇 大词典 attilax 整理 a--g v1 q31.xlsx
atitit.MIZIAN 陕北方言 特有词汇 大词典 attilax 整理 a--g v1 q31.xlsx 1 Mizian陕北方言 english英语 spain西班牙语 cantonese粤 ...
- 【Java】取当前.class文件的编译位置
本文与<[C++]求当前exe的执行路径>(点击打开链接)为姊妹篇.C++在win下生成的执行文件是.exe.Java生成的执行文件是.class然后自己主动扔到Java虚拟机中执行.主要 ...
- 如何在Linux下统计高速网络中的流量
参考: http://www.geekfan.net/5558/ http://blog.jobbole.com/23638/ http://www.csdn.net/article/2014-03- ...
- java - day05 - Array
/* 生成随机数组,寻找最大值 */ package day05; public class ArrayGuess { public static void main(String args[]) { ...
- 解决双系统开机no such device:
问题描述: 我的电脑本来是Ubuntu+win7双系统,自己前天想换成win64位,于是就安装系统,结果装好了之后开机进入grub选择win7之后,屏幕显示 no such device: press ...
- python SimpleHTTPServer源码学习
SimpleHTTPServer.SimpleHTTPRequestHandler继承了BaseHTTPServer.BaseHTTPRequestHandler. 源码中主要实现了BaseHTTPS ...
- hmtl表单
表单: <form id="" name="" method="post/get" action="负责处理的服务端&quo ...
- Mongodb 与 MySQL对比
在数据库存放的数据中,有一种特殊的键值叫做主键,它用于惟一地标识表中的某一条记录.也就是说,一个表不能有多个主键,并且主键不能为空值. 无论是MongoDB还是MySQL,都存在着主键的定义. 对于M ...
- nc 查看端口是否 联通
nc 47.9.16.1 3306 如果卡住,说明 该IP的这个端口 访问不通, 防火墙拦截了