参考了三篇博文,终于解决,记录一下:
1.在官网下载mysql5.7.zip,地址如下:https://dev.mysql.com/downloads/mysql/
2.将zip文件解压到:D:\local software manager\install\mysql.5.7\mysql-5.7.23-winx64
3.在mysql-5.7.23-winx64目录下创建mysql.ini文件,粘贴如下内容:
[mysql]
# 设置mysql客户端默认字符集
default-character-set=utf8
[mysqld]
#设置3306端口
port = 3306
# 设置mysql的安装目录
basedir="D:/softManager/install/mysql-5.7.23-winx64/"
# 设置mysql数据库的数据的存放目录
datadir=D:/softManager/install/mysql-5.7.23-winx64/data
#跳过授权,设置密码
#skip-grant-tables
# 允许最大连接数
max_connections=200
# 服务端使用的字符集默认为UTF8
character-set-server=utf8
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
explicit_defaults_for_timestamp=on
sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
4.配置环境变量:路径为:
D:\local software manager\install\mysql.5.7\mysql-5.7.23-winx64\bin
5.输入cmd,以管理员身份进入命令行,输入如下命令:
mysqld -remove
mysqld --initialize
mysqld install
net start mysql
代码解释:
执行mysqld -remove命令将以前的错误安装删除,否则会提示已经安装;
执行mysqld --initialize命令后再执行mysqld install,再执行net start mysql启动MySQL,一切ok
5.更改数据库密码:
对于第一次安装,可通过该方式登录
设置密码:
set password for root@localhost=password('root');
至此安装成功:
//上述报错可往下看
步骤如下
1、 首先检查mysql服务是否启动,若已启动则先将其停止服务,可在开始菜单的运行,使用命令:
net stop mysql
打开第一个cmd1窗口,切换到mysql的bin目录,运行命令:
mysqld --defaults-file="C:\Program Files\MySQL\MySQL Server 5.1\my.ini" --console --skip-grant-tables
注释:
该命令通过跳过权限安全检查,开启mysql服务,这样连接mysql时,可以不用输入用户密码。 此时已经开启了mysql服务了!
这个窗口保留 不关闭。
2、打开第二个cmd2窗口,连接mysql:
输入命令:
mysql -u root -p
出现:
Enter password:
在这里直接回车,不用输入密码。
然后就就会出现登录成功的信息,
使用命令:
show databases;
使用命令切换到mysql数据库:
use mysql;
使用命令更改root密码:
UPDATE user SET authentication_string=PASSWORD('your password') where USER='root';
刷新权限:
FLUSH PRIVILEGES;
然后退出,重新登录:
quit
重新登录: 可以关掉之前的cmd1 窗口了。然后用net start mysql 启动服务
mysql -u root -p
出现输入密码提示,输入新的密码即可登录:
Enter password: ***********
显示登录信息: 成功 就一切ok了
6.有些时候,重新登陆,使用show databases; user mysql;时或出现错误:(You must reset your password using ALTER USER statement before executing this statement.)
解决方案如下:
step 1: SET PASSWORD = PASSWORD('your new password');
step 2: ALTER USER 'root'@'localhost' PASSWORD EXPIRE NEVER;
step 3: flush privileges;
完成以上三步退出再登,使用新设置的密码就行了,以上除了红色的自己修改成新密码外,其他原样输入即可
最后:
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
查看mysql的配置文件的加载顺序
解决方案如下:
sql-mode=""
sql-mode="STRICT_ALL_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_ZERO_DATE,NO_ZERO_IN_DATE,NO_AUTO_CREATE_USER"