1.在官网上面下载mysql

注意:一定要下载对应的版本,第一次下载的是最下面一个,结果发现下载错误,白白等了好久。

2.解压(这里最好不要放在系统盘,原因你懂得)

3.添加环境变量到path,本机的是D:\mysql-5.7.21\bin;注意不要出现中文字符的情况

 

4.配置

修改my.ini文件

my.ini文件自己手动添加

[mysql]  
  
#设置mysql客户端默认字符集  
  
default-character-set=utf8  
  
[mysqld]  
  
#设置3306端口  
  
port = 3306   
  
#设置mysql的安装目录  
  
basedir=D:\mysql-5.7.21
  
#设置mysql数据库的数据的存放目录  
  
datadir=D:\mysql-5.7.21\data  
  
#允许最大连接数  
  
max_connections=200  
  
#服务端使用的字符集默认为8比特编码的latin1字符集  
  
character-set-server=utf8  
  
#创建新表时将使用的默认存储引擎  
  
default-storage-engine=INNODB  

5.安装mysql服务并启动之:(一定要以管理员权限运行cmd)

 

也就是data文件夹的由来啦。
以管理员身份打开cmd窗口后,将目录切换到你解压文件的bin目录
再输入mysqld install回车运行就行了
接着就是输入 net start mysql启动服务
报错!!!
“服务器无法启动,服务器没有报告任何错误。”
然后。。。
再输入mysqld --initialize-insecure --user=mysql
(执行完上面命令后,MySQL会自建一个data文件夹,并且建好默认数据库,登录的用户名为root,密码为空
再次启动:再输入 net start mysql 启动服务,OK成功。

6.退出管理员窗口,用普通cmd窗口打开,运行cmd

7.启动成功以后,输入show variables like 'character_set%';查看一下编码

 

都为utf8格式,正确。

 

mysql 修改密码为123456:

 

 mysql> SET PASSWORD FOR 'root'@'localhost' = PASSWORD('123456');

 

如果出现以下问题,请按如下操作:

 

mysql -u root -p  两次回车;返回ERROR 1045(28000):Access denied for user 'root'@'localhost' (using password: NO) 用户root拒绝访问。

此时会提示密码错误

打开data目录,用记事本打开.err文件,搜索password会找到临时生成的密码,复制。

把密码复制过去,即可进入

但是进入之后用show databases;查看数据库的时候会出现ERROR 1820(HY000): You must reset your password using ALTER USER statement before executing this statement. (要重置密码才可以)

这时输入:ALTER USER 'root'@'localhost' IDENTIFIED BY 'root'; 返回:Query OK, 0 rows affected  密码重置成功,密码为:root

这句话除了要重置的密码其他的都不需要改,直接复制就可以

此时数据库就正常启动了,

备注:

1.Navicat连接MySQL Server8.0版本时出现Client does not support authentication protocol requested  by server;解决如下:

命令如下:

1、use mysql;

2、alter user 'root'@'localhost' identified with mysql_native_password by 'root';

3、flush privileges;

新安装的MySQL5.7.22 或 8.0.11,在 Navicat 上执行删除操作时,遇到报错:

2.[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

1).set sql_mode='STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION';

2).修改D:\mysql-8.0.17-winx64/my.ini(重启后仍然生效)

在mysqld下添加:sql_mode='STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION'

重启mysql服务,OK!

3). 查看sql_model参数:

SELECT @@GLOBAL.sql_mode;
SELECT @@SESSION.sql_mode;

 

转载文章:

http://blog.csdn.net/you_are_my_dream/article/details/53022328

https://www.cnblogs.com/xiaochongc/p/11564191.html

Logo

更多推荐