zoukankan      html  css  js  c++  java
  • MySQL版本升级

    在网上学习到Mysql的升级方式分为两种:原地升级逻辑升级。这两种升级方式,本质没有什么区别的。

    只是在对数据文件的处理上有些区别而已。原地升级是直接将数据文件进行拷贝,而逻辑升级对数据文件的处理方式是通过逻辑导出导入,需要用到mysqldump。 
    逻辑升级这种方式在数据量比较大的情况下花费时间比较长。所以今天尝试一下原地升级

    原地升级

    一.将现有的mysql关闭。使用cmd窗口,进入到mysql目录下面,将mysql服务移除。

    C:UsersAdministratormysql5.6in>mysqld --remove mysql56
    Service successfully removed.

    二.下载最新的mysql5.7压缩包。

    下载地址:https://dev.mysql.com/downloads/mysql/ 
    最新的mysql5.7的压缩包解压开你会发现,没有data目录和my.ini文件。

    data目录中是存的数据库文件,不建议将之前版本的data目录复制进来,经测试 这样做后期数据库服务无法启动

    后面会提到当 mysql服务无法启动 服务没有报告任何错误 解决方法

     三.手动创建配置文件,文件名为:my.ini,添加内容如下:

     可复制文本如下:

    [mysql]
    # 设置mysql客户端默认字符集
    default-character-set=utf8
    
    [mysqld]
    # 设置3306端口
    port = 3306
    # 设置mysql的安装目录
    basedir=D:\toolsmysql-5.7.25-winx64
    # 设置 mysql数据库的数据的存放目录,MySQL 8+ 不需要以下配置,系统自己生成即可,否则有可能报错
    datadir=D:\toolsmysql-5.7.25-winx64data
    # 允许最大连接数
    max_connections=200
    # 服务端使用的字符集默认为8比特编码的latin1字符集
    character-set-server=utf8
    # 创建新表时将使用的默认存储引擎
    default-storage-engine=INNODB
    
    sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION

    四.将要升级的数据库的服务添加到win的服务队列中 并启动服务

    1.将mysql5.7的服务添加到win的服务队列中

    D:	oolsmysql-5.7.25-winx64in>mysqld --install mysqld 
    Service successfully removed.
    install 后面写的服务名看 bin目录下的mysql的应用程序是什么 我的是mysqld

    2.启动mysql服务

    D:	oolsmysql-5.7.25-winx64in>net start mysqld
    mysqld 服务正在启动 ..
    mysqld 服务已经启动成功。

    五.升级mysql:mysql_upgrade -uroot -p

    D:	oolsmysql-5.7.25-winx64in>mysql_upgrade -uroot -p
    .......自己升级..........

    六.升级成功后,再次重启mysql5.7服务

    D:	oolsmysql-5.7.25-winx64>net stop mysqld
    mysqld 服务正在停止. 
    mysqld 服务已成功停止。
    D:	oolsmysql-5.7.25-winx64in>net start mysqld 
    mysqld 服务正在启动 .. 
    mysqld 服务已经启动成功。

    至此安装升级完成。

    另外:mysql启动失败,mysql服务无法启动 服务没有报告任何错误 该怎么办

    尝试以下步骤,最终解决问题:

    1 查看host文件(C:WindowsSystem32driversetchosts)

    看是否修改过本地域名,如果将localhost对应的地址修改过,有可能会导致连接mysql server失败。

    解决方法:将localhost映射的地址注释掉

    2 如果在mysql的安装路径中没有配置文件,则自己手动创建一个,

    文件名为:my.ini,添加内容

    注意:datadir属性后的data文件夹,一定不要自己手动创建,本人尝试手动创建会有问题,如果自己创建了可以删除掉,再执行后面的操作。

    3 在mysql5.7以上版本中默认没有一个data目录,即没有初始化服务。

    需要先初始化mysql才可以启动服务,否则会报 “服务没有报告任何错误”,启动失败。

    解决方法:

    a 进入mysql的bin目录;

    b 执行mysqld  --initialize-insecure ,第一次执行的话,时间会久一些,执行结束后没有输出信息,查看bin的同级目录下会多出一个data文件夹,里面一堆文件。

    4 再次执行net start mysql命令启动服务,发现启动成功!

  • 相关阅读:
    ckeditor添加自定义按钮整合swfupload实现批量上传图片
    H5移动端适配之px转vw(附工具)
    原生js实现复制文本到粘贴板
    快速删除项目中的输出日志console.log
    toString和valueOf使得对象访问时显示一个特定格式的字符串,但是可以进行数字运算
    __defineGetter__和__defineSetter__在日期中的应用
    观察者模式(订阅-发布者模式)
    原生js扫雷代码
    身份证验证思路及代码
    IMEI校验思路及代码
  • 原文地址:https://www.cnblogs.com/SallyShan/p/12564762.html
Copyright © 2011-2022 走看看