1、下载mysql免安装版本,下载地址:http://dev.mysql.com/downloads/mysql/
解压到自己的目录
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、安装启动mysql
用管理员身份打开cmd命令,cd到解压文件的bin目录:C:\zhangyanag\mysql-8.0.15-winx64\mysql-8.0.15-winx64\bin
mysqld install //安装
net start mysql //启动
没有启动成功,报如下错误:
执行以下命令:
mysqld --initialize-insecure //自动生成无密码的root用户
然后重新执行net start mysql启动成功~
4、其他电脑连接该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:
以上4步,mysql安装完成,并可以在其他电脑上使用工具连接啦~
但是,
由于安装的mysql是8.0版本,版本较高,mysql-connecter-java的版本过低,数据库驱动程序与数据库版本不对应,导致java程序连接mysql时仍报错o(╥﹏╥)o
ps:
两个有用的命令:
net stop mysql //停止服务
sc delete MySQL //删除mysql