windows系统上安装mysql操作过程及常见错误处理

安装步骤如下:

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

解压到自己的目录

 

2、配置环境变量

变量名:MYSQL_HOME

变量值:解压的zip文件夹所在位置  D:\zhangyang\mysql-8.0.17-winx64\mysql-8.0.17-winx64

path里添加:%MYSQL_HOME%\bin

 

//下面这一步可以不要

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:\zhangyanag\mysql-8.0.15-winx64\mysql-8.0.15-winx64
10 # 设置mysql数据库的数据的存放目录
11 datadir=C:\zhangyanag\mysql-8.0.15-winx64\mysql-8.0.15-winx64\data
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:\zhangyang\mysql-8.0.17-winx64\mysql-8.0.17-winx64\bin),执行以下命令:

mysqld --initialize-insecure --user=mysql    //执行完成后,会在D:\zhangyang\mysql-8.0.17-winx64\mysql-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

 

posted @ 2019-02-13 15:34  小虫虫大虫虫  阅读(1265)  评论(0编辑  收藏  举报