mysql数据库卸载和安装
背景:
由于之前一个项目中用的数据库版本是免安装的mysql5.5.36,但是后来经过第三方测试公司测试出该数据库存在很多漏洞需要升级数据库才能解决。所以觉得将数据库更换为mysql-5.7.21-winx64版本的,由于该项目数据量不是很大并且数据库版本跨度比较大,所以采取了“先卸载,再安装”的方式来进行对数据的升级、改造。
环境:
操作系统:server 2012 64bit
数据库:主从设置
步骤:
一、卸载原有的Mysql数据库
1. 删除注册表
(1)HKEY_LOCAL_MACHINE/SYSTEM/ControlSet001/Services/Eventlog/Application/MySQL
(2)HKEY_LOCAL_MACHINE/SYSTEM/ControlSet002/Services/Eventlog/Application/MySQL【不一定有】
(3)HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Services/Eventlog/Application/MySQL【不一定有】
2. 删除服务
(1) 用管理员身份启动cmd,执行sc delete mysql服务名称


3. 最后将目录下原来的数据库文件删除即可
二、安装数据库:
1.将新的数据库放到原来数据库的目录下。与mysql 5.6不同的是5.7版本中没有data文件夹和my.ini文件。所以需要在mysql-5.7.22-winx64目录下创建data文件夹以及my.ini文件。其中my.ini文件中内容为:
[mysql]
# 设置mysql客户端默认字符集
default-character-set=utf8
[mysqld]
#设置3306端口
port = 3306
# 设置mysql的安装目录
basedir=E:/seegot/mysql-5.7.22-winx64
# 设置mysql数据库的数据的存放目录
datadir=E:/seegot/mysql-5.7.22-winx64/data
# 允许最大连接数
max_connections=200
# 服务端使用的字符集默认为8比特编码的latin1字符集
character-set-server=utf8
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
2.以管理员身份运行cmd,将目录切换到mysql安装文件夹下的bin目录下执行 mysqld install

3.bin目录下,输入 mysqld --initialize --user=root --console 下图红色下划线为root用户的密码(注意:这里的密码通过复制来进行登录,自己输入可能会疯掉。。。别问我怎么知道的)

4.重启mysql服务。在bin目录下,mysql -uroot -p,输入初始化root密码登录。然后通过 set password=password('root') 修改密码

5.导入之前的数据库。
6.修改数据库为远程可以登录,这个就不需要介绍了吧。(mysql ---user --localhost-->% 重启数据库服务)
7.最蛋疼的问题在导入数据库的时候报错了。。。 新版数据库有一个坑,这个坑就是*****group by***full***什么鬼的,
两种解决办法:(1)select @@sql_mode ;查询出的结果为
ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
重点就出现在这个ONLY_FULL_GROUP_BY 我们要做的就是删除它。
set @@sql_mode =‘STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION‘;
上面这个改变的是全局的,也就是以后新创建的数据库不存在这个问题,那么我们还需要修改已经存在的数据库的这个问题,所以就用到了
set sql_mode =‘STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION‘;
最后,如果这几种方式实在不行,那么试一试在mysql数据库文件目录下的my.ini
sql_mode='STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION'
由于我的数据库是需要开启定时任务的,所以我们要检查下数据库是否开启了定时任务。
-- 检查是否开启定时任务
SELECT @@event_scheduler;
SHOW VARIABLES LIKE 'event%'; -- 如果未开启,那么进行开启
set GLOBAL event_scheduler = 1;
SET GLOBAL event_scheduler = ON;
或者直接在my.ini的mysqld后面加上event_scheduler=ON 即可。
完成以上操作后,我们再将数据库配置为主从库即可。配置主从数据库请参考之前的博客。
mysql数据库卸载和安装的更多相关文章
- Mysql数据库卸载
Mysql数据库卸载的操作流程(Windows10): 1.停止mysql的所有服务 方法一:此电脑——管理——服务中查找到所有Mysql的服务,并停止. 方法二:cmd——net stop mysq ...
- MySQL数据库服务器(YUM)安装
1. 概述2. 部署过程2.1 虚拟机console的NFS服务端配置2.2 虚拟机node15的NFS客户端配置2.3 虚拟机安装MySQL环境2.4 配置MySQL3. 错误及解决3.1 启动失败 ...
- Mysql数据库介绍、安装和配置文件
Mysql数据库介绍.安装和配置文件 MySQL数据库介绍 mysql是开源关系型数据库,遵循GPL协议. mysql的特点是性能卓越且服务稳定,开源,无版本限制,成本低,单进程多线程,多用户,基于C ...
- MySQL数据库离线包安装与注册
本文主要介绍了MySQL数据库的离线安装和将MySQL服务注册为Windows应用服务的主要步骤. 1.下在安装程序包 MySQL Community Server 5.6.15 官方下载地址http ...
- Linux系统环境下MySQL数据库源代码的安装
Linux系统环境下MySQL数据库源代码的安装 基本环境:CentOS Linux release 7.8.2003 (Core).MySQL5.6 一. 安装环境准备 若要在Linux系 ...
- linux下mysql的卸载、安装全过程
卸载mysql 1.查找以前是否装有mysql 命令:rpm -qa|grep -i mysql 可以看到mysql的两个包: mysql-4.1.12-3.RHEL4.1 mysqlclient10 ...
- mac下mysql的卸载和安装
1. mysql的卸载 1 sudo rm /usr/local/mysql 2 sudo rm -rf /usr/local/mysql* 3 sudo rm -rf /Library/Startu ...
- MySQL从卸载到安装!图文详细版(你想知道的全都有!!)
2. MySQL的下载.安装.配置 2.1 MySQL的四大版本 MySQL Community Server社区版本,开源免费,自由下载,但不提供官方技术支持,适用于大多数普通用户. MySQL E ...
- CentOS7minimal MySql的卸载及安装
因为CentOS7精简版默认是有残留的MySql的,所以开始时一定要先卸载掉原来的MySql 首先要使用root用户登录 卸载: 1.卸载原有程序 yum remove mysql mysql-ser ...
随机推荐
- JDBC调用MySQL的调用过程CallableStatement
调用过程可以当作函数理解,具体参考本人博文https://www.cnblogs.com/xixixing/p/9720261.html MySQL的test数据库中已经创建好存储过程p2(n),实现 ...
- (线性DP LIS)POJ2533 Longest Ordered Subsequence
Longest Ordered Subsequence Time Limit: 2000MS Memory Limit: 65536K Total Submissions: 66763 Acc ...
- mysql体系结构和sql查询执行过程简析
一: mysql体系结构 1)Connectors 不同语言与 SQL 的交互 2)Management Serveices & Utilities 系统管理和控制工具 备份和恢复的安全性,复 ...
- Java的一些基本术语
1. 反射 获取类本身,就叫“反射”,有以下3种方式: // 通过“实例”获取类 String str = "hello"; Class cls1 = str.getClass() ...
- Dubbo简易控制中心安装
1. zookeeper安装(单机版):http://www.cnblogs.com/wangfajun/p/5251159.html √ 2. dubbo管控台安装(zookeeper单机版):h ...
- js中得计算问题算式结果拼接成字符串怎么解决
如题:经常遇到类似问题 一种:自定义的弱类型 var savNum=0; var num=$("#numU").val();//jsp页面获得得值 savNum=parseInt( ...
- SpringSecurity3Demo【原】
oschina git地址: https://gitee.com/KingBoBo/SpringSecurity3Demo.git
- HDU - 6393 Traffic Network in Numazu(树链剖分+基环树)
http://acm.hdu.edu.cn/showproblem.php?pid=6393 题意 给n个点和n条边的图,有两种操作,一种修改边权,另一种查询u到v的最短路. 分析 n个点和n条边,实 ...
- HDU 1025(最长上升子序列)
题意是要在两条平行线间连点,要在线不交叉的前提下尽可能多的连线,问最多能连多少条线. 现假定题中所给的是 9 组点,分别是:1—3,2—8,3—5,4—9,5—2,6—4,7—6,8—7,9—1,如图 ...
- vue 用checkbox 做多选,带选中样式
<dl v-for="(item,index) in listData" :key="index"> testName <label> ...