用mysql的时候不想用安装版的mysql,就下载了压缩版的。
1.下载mysql
https://dev.mysql.com/downloads/mysql/
2.解压到你喜欢的地方在解压目录添加my.ini文件
[mysql]
default-character-set=utf8
[mysqld]
basedir=C:\mysql-5.7.18-winx64
datadir=C:\mysql-5.7.18-winx64\data
port=3306
max_connections=200
character-set-server=utf8
default-storage-engine=INNODB
3.进入cmd(管理员身份运行),进入加压目录的 bin目录 执行
mysqld install
会显示成功,没有成功看看是不是没有管理员身份运行
4.初始化数据库
执行 mysqld --initialize
生成了data文件夹里面的数据
在后缀为.err的文件里找到随机密码
5. 执行 mysql -u root -p #注:这个命令只能在mysql的bin文件路径下执行。
输入随机生成的密码了。
然后就进入了数据库
我就以为像网上的修改密码的方式一样,但是总是让 check the manual that corresponds to your MySQL server version
疯狂报错,我一直以为自己写错了,换了几个写法,都是报错,看写法也没有问题啊,版本新下的,还能不支持这语法不成?
当我绝望时,试了试这两句语句
修改密码? 我是一直在修改啊,方法不对吗?
网上查了下,发现原来要用 ALTER USER 'root'@'localhost' IDENTIFIED BY 'newpassword';这样改.
然后退出再进来就可以用新的密码了,其他语句也没问题了。
6.启动mysql 服务
net start mysql
7.连接navicat时又报错 client does not support authentication 原因mysql8.0以后密码的字段变了,需要重新改一下
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '密码';
改完就连上了。
后续。。。
在mysql 工具 搜索或者插入数据时报下面错误:
ERROR 1055 (42000): Expression #1 of SELECT list is not in GROUP BY clause and contains nonaggregated column 'database_tl.emp.id' which is not functionally dependent on columns in GROUP BY clause; this is incompatible with sql_mode=only_full_group_by
网上说 是
有两个解决方法
1.在命令界面查看 mode
select @@GLOBAL.sql_mode;
取消前面的第一个字段,
可以生效,但是重启后恢复,不好用。
2,修改my.ini,在后面添加一行
sql_mode =STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION
参考自:https://blog.csdn.net/qq_42175986/article/details/82384160