zoukankan      html  css  js  c++  java
  • win mysql8.0.20安装

    转载: https://www.cnblogs.com/ccav1/p/12149889.html

    记得备份之间的数据库,不然很难受!

    1.如果之前有安装先停止服务

    然后用管理员访问cmd命令窗口执行移除服务

    mysqld -remove

    2.把下载好的mysql.zip压缩包减压至指定位置: D:/Program Files/mysql

    在mysql目录下创建my.ini文件输入一下配置:

    [mysqld]
    # 设置3306端口
    port=3306
    # 设置mysql的安装目录
    basedir=D:/Program Files/mysql
    # 设置mysql数据库的数据的存放目录
    datadir=D:/Program Files/mysql/data
    # 允许最大连接数
    max_connections=200
    # 允许连接失败的次数。这是为了防止有人从该主机试图攻击数据库系统
    max_connect_errors=10
    # 服务端使用的字符集默认为UTF8
    character-set-server=utf8mb4
    # 创建新表时将使用的默认存储引擎
    default-storage-engine=INNODB
    
    [mysql]
    # 设置mysql客户端默认字符集
    default-character-set=utf8mb4
    [client]
    # 设置mysql客户端连接服务端时默认使用的端口
    port=3306
    default-character-set=utf8mb4

    保存好配置文件;后面的步骤基本和5.7一致

    在环境变量里设置D:Program Filesmysqlin

    3.将mysql注册为Windows系统服务
    3.1 使用管路员权限打开CMD(注意管理员权限)
     3.2 运行服务安装命令
       mysqld install MySQL --defaults-file="D:/Program Files/mysql/my.ini"

       安装成功后会提示安装成功
       备注: 如果想要移除该服务,使用命令:mysqld -remove
    如果丢失 msvcr120.dll 则安装 vcredist_x64.exe

    4.启动mysql服务
    注意:此时是无法正常启动mysql服务的,因为5.7.18版本是不附带data文件夹的,需要通过命令来创建data文件夹和默认的数据库
    4.1 创建命令
    mysqld --initialize-insecure --user=mysql --console

    这里注意查看出现的日志:

     ps: 网上其他大佬的会出现随机密码: 执行成功后会输出: A temporary password is generated for root@localhost: a13213s1

    a13213s1就是默认密码

    我执行出现的是empty password,不需要输入密码,猜测是执行顺序有关
    4.2 启动服务命令为
    net start mysql

    5.cmd 登录修改默认密码

    执行: mysql -uroot -p

    有密码就输入默认密码,没有密码就直接回车

    密码修改命令:

    ALTER USER root@localhost IDENTIFIED  BY 'root';

    6.IDEA相关工具访问mysql8.x记得设置时区

    set global time_zone = '+8:00';

    或者在连接配置设置Hongkong

     JAVA程序使用报错:

    [42000][1055] Expression #9 of SELECT list is not in GROUP BY clause and contains nonaggregated column 'cc.contract_no' which is not functionally dependent on columns in GROUP BY clause; this is incompatible with sql_mode=only_full_group_by

    解决办法:

    sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION 放到了[mysql]标签上面一行,重启了服务,成了!!

  • 相关阅读:
    dp第三题
    近期(2012/5/15)
    HTML5 地理位置定位(HTML5 Geolocation)原理及应用【转】
    xml 中如何正确使用 & 符号
    Python进阶07 函数对象【转】
    Android 快捷小工具
    解决数据库乱码问题【转】
    Android APK反编译详解(附图)
    字符串转日期【20080808080808】
    HTML+5+从入门到精通
  • 原文地址:https://www.cnblogs.com/yxgmagic/p/13870190.html
Copyright © 2011-2022 走看看