安装步骤如下:
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