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

安装步骤如下:

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

cf1166a01b96038616ac846f52f2fc7e.png

4df8b47e5c4ae2150a88b21756aa8e11.png解压到自己的目录

2、配置环境变量

变量名:MYSQL_HOME

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

path里添加:%MYSQL_HOME%\bin

b64b1551247ddf19f07f3995ead3dac3.png

//下面这一步可以不要

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目录

ddfa38cb42275000f40f979e281281ba.png

4、启动服务

net start mysql

f14aab9c2aea132a38c9b92daecd3081.png

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

mysqld -install

052c65c3cbead34724997b8b7d44599f.png

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

839885af238b567eb813052c4d68500c.png

5、进入mysql

mysql -u root -p

a6f18d1f57eb72d32a5482536af23b26.png

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

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

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

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

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

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

1 USEmysql;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'

查看表结构:

6a17dd888ee8818553b59b7f82610c5c.png

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值