用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