zoukankan      html  css  js  c++  java
  • 一台计算机安装两个版本的MySQL

    1. 先去官网下载要安装的版本(这里以Mysql5.7.24为例 ;原本计算机上是MySQL5.5)

    官网网址:https://downloads.mysql.com/archives/community/【要下载zip的那个】

    2. 下载完成后解压到某一个目录【随便任何地方】

     解压完的文件是没有data文件夹和my.ini文件的

    可以将原本mysql5.5中的my.ini文件复制来直接用 ;

    但注意要将文件中所有的port 都修改为3307 【注意是所有!!!】

    再将basedir 和 datadir 修改为前路径 如下:【data文件夹不用管,它可以自动生成】

    其他博主my.ini配置信息

     3. 将原来的mysql5.5的服务停掉

    4. 以管理员身份打开cmd 【注意是管理员身份,要不会报错】 -- 这里要记住密码 【箭头指的就是密码】

    mysqld --defaults-file=F:\mysql5.7.24\mysql-5.7.24-winx64\my.ini --initialize --console

     5. 再执行如下命令

    mysqld install MySQL5.7.24 --defaults-file="F:\mysql5.7.24\mysql-5.7.24-winx64\my.ini"

     6.先不急启动服务,打开注册表【win+R ->regedit】,查找mysql5.7.24,将值修改为

    F:\mysql5.7.24\mysql-5.7.24-winx64\bin\mysqld --defaults-file=F:\mysql5.7.24\mysql-5.7.24-winx64\my.ini MySQL5.7.24

    7. 启动mysql服务

    net start mysql5.7.24 【注意这里启动的时候一定要带着版本(名字),要不会启动别的版本】  【net stop mysql5.7.24 : 停掉服务

     

    8.用临时密码进行登录【这个临时密码就是前面你存的】【P:端口  p :密码】

     

     9. 修改密码: set password for root@localhost=password('root');

     10. 退出 :quit

    如果顺利一切就ok了,但是怎么可能,安装过程我遇到的问题

    1.开始没有将my.ini文件中的所有port都改为3307  -- 后面需要重新执行之前的步骤,重新初始化就OK了

    2.在我输入密码的时候报错:

     解决办法:

    编辑mysql5.7.24中的my.ini文件,在[mysqld] 这个条目下加入skip-grant-tables 保存后退出重启mysql

    1. win+R -> cmd

    2.停止服务:net stop mysql5.7.24

    3.启动服务:net start mysql5.7.24

    这时候在cmd里面输入 mysql -u root -p 就可以不用密码登录了,出现了password:的时候直接回车可以进入,不会出现ERROR,但很多操作都会受限制,因为我们不能grant(没有权限)

     继续按下面的流程走:【句末记得加分号】

    1. 进入mysql数据库

    mysql>use mysql;

    Database changed

    2.给root用户设置新密码

    mysql>update user set password=password(“新密码") where user="root";

    Query OK,1 rows affected(0.01sec)

    Row matched:1 Changed: 1 Warings:0

    !!!!! 这里我又报错了:Unknown column 'password' in 'field list'   

    错误原因是: 5.7版本下的myqsl数据库下已经没有password这个字段了,password字段改成了authentication_string ,所以修改密码需要修改以下

    update user set authentication_string=password("新密码") where user="root"; 

    update mysql.user set authentication_string=password('*******') where user='*******';  (参考)

     3. 刷新数据库

    mysql>flush privileges;

    Query OK,0 rows affected(0.00 sec)

    4.退出mysql

    mysql>quit;

    Bye

     改好之后,再修改以下my.ini这个文件,把我们刚加入的"skip-grant-tables”这行删除,保存退出再重启mysql5.7.24就可以了

     

    这样装两个版本的Mysql就结束了

    再我导入公司给的脚本文件的时候又出错了!!!

    【navicat导入sql脚本文件报错MySQL server has gone away】

     后来在网上找,原来是因为脚本文件太大了,我之前的my.ini中允许最大的数据包是1M,修改以下就可以成功导入了

    找到mysql安装目录下的my.ini配置文件,加入以下代码:

    max_allowed_packet=500M

    wait_timeout=288000 【可以先不加】

    interactive_timeout = 288000 【可以先不加】

    三个参数注释如下:

    max_allowed_packet是mysql允许最大的数据包,也就是你发送的请求;

    wait_timeout是等待的最长时间,这个值大家可以自定义,但如果时间太短的话,超时后就会现了MySQL server has gone away #2006错误。

    max_allowed_packet参数的作用是,用来控制其通信缓冲区的最大长度

     终于完事!!!

     【文中有简洁其他博主的内容】

  • 相关阅读:
    火狐常用的插件
    sourceinsight技巧
    为sourceinsight添加makefile、kconfig、*.S文件支持
    如何在shell中打印出带颜色的字符?
    Linux shell tee指令学习
    【转载】dirs、pushd、popd指令
    【转载】SHELL字符串处理技巧(${}、##、%%)
    【转载】利用shell脚本获取一个文件的绝对路径readlink
    如何查看智能手机的IP地址
    SDK Manager中勾选项
  • 原文地址:https://www.cnblogs.com/sharonzhang/p/12520985.html
Copyright © 2011-2022 走看看