zoukankan      html  css  js  c++  java
  • windows系统上安装mysql操作过程及常见错误处理

    安装步骤如下:

    1、下载mysql免安装版本,下载地址:http://dev.mysql.com/downloads/mysql/

    解压到自己的目录

    2、配置环境变量

    变量名:MYSQL_HOME

    变量值:解压的zip文件夹所在位置  D:zhangyangmysql-8.0.17-winx64mysql-8.0.17-winx64

    path里添加:%MYSQL_HOME%in

    //下面这一步可以不要

    2、编辑配置文件:

      新建一个文本文件,修改名称及后缀为my.ini,复制以下内容进去

     1 [mysql]
     2 # 设置mysql客户端默认字符集
     3 default-character-set=utf8
     4  
     5 [mysqld]
     6 # 设置3306端口
     7 port = 3306
     8 # 设置mysql的安装目录
     9 basedir=C:zhangyanagmysql-8.0.15-winx64mysql-8.0.15-winx64
    10 # 设置mysql数据库的数据的存放目录
    11 datadir=C:zhangyanagmysql-8.0.15-winx64mysql-8.0.15-winx64data
    12 # 允许最大连接数
    13 max_connections=20
    14 # 服务端使用的字符集默认为8比特编码的latin1字符集
    15 character-set-server=utf8
    16 # 创建新表时将使用的默认存储引擎
    17 default-storage-engine=INNODB

    3、生成data目录

    用管理员身份打开cmd命令,cd到解压文件的bin目录(D:zhangyangmysql-8.0.17-winx64mysql-8.0.17-winx64in),执行以下命令:

    mysqld --initialize-insecure --user=mysql    //执行完成后,会在D:zhangyangmysql-8.0.17-winx64mysql-8.0.17-winx64目录下生成data目录

    4、启动服务

    net start mysql   

    若提示服务名无效,则执行以下命令:

    mysqld -install

    再次执行net start mysql  ,启动服务成功

     

    5、进入mysql   

    mysql -u root -p

    出现以上界面,说明mysql安装成功

    6、其他电脑连接该mysql服务

    修改mysql库user表中, root的host为%

      

    以下是navicat连接mysql时的各种报错

      1)、本地电脑使用navicat连接mysql,报错:client does not support authentication

        原因是root账号没有密码,设置密码:

    1 USE mysql;
    2 ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '831015'; //mysql_native_password是旧的密码验证机制,831015是密码
    3 FLUSH PRIVILEGES;

      2)、navicat在执行sql语句时报错:[Err] 1055 - Expression #1 of ORDER BY clause is not in GROUP BY clause and contains nonaggregated column ‘information_schema.PROFILING.SEQ’ which is not functionally dependent on columns in GROUP BY clause; this is incompatible with sql_mode=only_full_group_by    

        将@@global.sql_mode的值去掉“only_full_group_by”,重新设置一下

    1 select @@global.sql_mode;
    2 set @@global.sql_mode = 'STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION';

      3)、新建表时报错:Invalid default value for 'registe_time'
    查看表结构:

    MySQL 5.6以后timestamp设定默认值规则改变,时间字段不允许再设置”0000 00-00 00:00:00”这样的默认值。
    修改sql_mode,去掉NO_ZERO_IN_DATE,NO_ZERO_DATE:

    ps:由于安装的mysql是8.0版本,版本较高,mysql-connecter-java的版本过低,数据库驱动程序与数据库版本不对应,导致java程序连接mysql时仍报错o(╥﹏╥)o

    ps:

    两个有用的命令:

    net stop mysql   //停止服务
    sc delete MySQL    //删除mysql

  • 相关阅读:
    Objective-C中的封装、继承、多态、分类
    C语言知识总结(5)
    C语言知识总结(4)
    C语言知识总结(3)
    C语言知识总结(2)
    C语言知识总结(1)
    H5-定位
    H5——浮动及清浮动
    H5基础标签
    H5盒模型基础
  • 原文地址:https://www.cnblogs.com/xiaochongc/p/10370094.html
Copyright © 2011-2022 走看看