一.
本文介绍MySQL的两种安装方法,
1、
安装MySQL安装包
这种方法是目前主流的MySQL安装方法,网上已有很多教程,不再赘述
2、
ZIP Archive 版
2.1、在MySQL官网下载文件包【需要oracle账号】
2.2、将下载的压缩包解压到文件夹【我的是D:mysql】
2.3、在解压后的文件夹中编辑配置文件【我的是D:mysqlmysql-5.7.20-winx64】,新建文本文件,命名为my.ini,将下列代码复制进去
[mysql] # 设置mysql客户端默认字符集为中文 default-character-set=utf8 [mysqld] #设置3306端口 port = 3306 # 设置mysql的安装目录 basedir=D:mysqlmysql-5.6.17-winx64 # 设置mysql数据库的数据的存放目录 datadir=D:mysqlmysql-5.6.17-winx64data # 允许最大连接数 max_connections=200 # 服务端使用的字符集默认为8比特编码的latin1字符集 character-set-server=utf8 # 创建新表时将使用的默认存储引擎 default-storage-engine=INNODB
注意:把里面D:mysqlmysql-5.7.20-winx64改成你自己的软件路径)
2.4、 以管理员身份进入cmd,在控制台输入你的MySQL所在的磁盘【我的是D盘】,直接输入D:
回车,可以看到此处已经进入了D盘,键入cd,空格,复制MySQL安装路径到命令行【控制台下鼠标右键粘贴】,我的是【D:mysqlmysql-5.7.20-winx64in】,回车,进入D:mysqlmysql-5.7.20-winx64in,键入mysqld install【注意是mysqld不是mysql】,此时mysql已经安装好了
2.5、启动MySQL服务
在命令行
我的是【D:mysqlmysql-5.7.20-winx64in】
键入net start mysql启动MySQL服务【关闭是net stop mysql】
2.6、接着上面,命令行键入
mysql -uroot -p
默认没有密码,直接进入,设置密码:
mysqladmin -u root -p password
键入
show databases
此时可以看到数据库的相关内容,接下来就是数据库操作的事情了;
2.7设置环境变量,使得可以在任意文件夹命令行下打开MySQL
右键我的电脑->属性->高级系统设置->环境变量->path->编辑,mysql软件下的bin目录路径放里面。最后在那个目录的路径后面加个英文的分号(;)保存。如D:mysqlmysql-x.x.xx-winx64in;
二.
注意:出现以下错误的解决办法:
Mysql 服务无法启动 服务没有报告任何错误
以管理员身份运行cmd(一定要用管理员身份运行,不然权限不够),
输入:cd C:Program FilesMySQLMySQL Server 5.6in (根据bin的位置来灵活变动)进入mysql的bin文件夹(不管有没有配置过环境变量,也要进入bin文件夹,否则之后启动服务仍然会报错误2)
输入mysqld -install(如果不用管理员身份运行,将会因为权限不够而出现错误:Install/Remove of the Service Denied!)
安装成功
1.运行mysqld --initialize(标题问题所在,若没有init则不存在data目录,自然无法启动成功)
2.安装成功后就要启动服务了,继续在cmd中输入:net start mysql,服务启动成功!
服务启动成功之后,就可以登录了,输入mysql -u root -p(第一次登录没有密码,直接按回车过),登录成功!
追加内容:
在安装mysql5.7版本时,经常会遇到mysql -u root -p直接回车登陆不上的情况,原因在于5.7版本在安装时自动给了一个随机密码,坑爹的是在init步骤的时候不像linux系统会给出命令行提示,需要手动在mysql目录下搜索*.err,以文本形式打开才能看到如下内容:
016-02-25T15:09:43.033062Z 1 [Note] A temporary password is generated for root@localhost: >mso<k70mrWe
红色字母即为第一次的登陆密码,记得加双引号。
三.
设置(或修改)root用户密码:
默认root密码为空的话 ,下面使用navicat就无法连接,所以我们需要修改root的密码。
这是很关键的一步。此处踩过N多坑,后来查阅很多才知道在mysql 5.7.9以后废弃了password字段和password()函数;authentication_string:字段表示用户密码。
下面直接演示正确修改root密码的步骤:
一、如果当前root用户authentication_string字段下有内容,先将其设置为空,否则直接进行二步骤。
- use mysql;
- update user set authentication_string='' where user='root'
- 下面直接演示正确修改root密码的步骤:
二、使用ALTER修改root用户密码,方法为 ALTER user 'root'@'localhost' IDENTIFIED BY '新密码'。如下:
- ALTER user 'root'@'localhost' IDENTIFIED BY 'Cliu123#';
此处有两点需要注意:1、不需要flush privileges来刷新权限。2、密码最好包含大写字母,小写字母,数字,特殊符号。(不是必须)
修改成功; 重新使用用户名密码登录即可;
注意: 一定不要采取如下形式该密码:
- use mysql;
- update user set authentication_string="newpassword" where user="root";
这样会给user表中root用户的authentication_string字段下设置了newpassword值;
当再使用ALTER USER 'root'@'localhost' IDENTIFITED BY 'newpassword'时会报错的;
因为authentication_string字段下只能是mysql加密后的41位字符串密码;其他的会报格式错误;
*THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE
至此,安装mysql和修改root密码告一段落。开始navicat for mysql篇。
时间有限,navicat的下载和破解注册就不多讲了 有需要的下面留邮箱,发给你们,下面说说出问题的地方。
账号密码都正确,连接报错1251。OK 我们先来看看这个改动:
在MySQL 8.04前,执行:SET PASSWORD=PASSWORD('[新密码]');但是MySQL8.0.4开始,这样默认是不行的。因为之前,MySQL的密码认证插件是“mysql_native_password”,而现在使用的是“caching_sha2_password”。
so,我们这里需要再次修改一次root密码。
先登录进入mysql环境:执行下面三个命令。(记得带上分号)
1、use mysql;
2、ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '新密码';
3、FLUSH PRIVILEGES;
OK.现在再去重连。perfect!