windows下的Mysql安装与基本使用(zip)
一、安装过程
《1》5.7及以上
Mysql社区版下载地址:http://dev.mysql.com/downloads/mysql/
--注意,已管理员身份运行cmd.exe,很重要!!目录在,cmd.exe文件在 c:\windows\system32下。。
或者如下图,搜索出来,右击以管理员身份运行,win10也有搜索功能的。
这里我实际下载的是文件:mysql-8.0.16-winx64.zip
因为我的系统版本是64,因此这里下载x64版本。下载完之后解压至 E:\sql_data\mysql-8.0.16-winx64(即为mysql的自定义解压目录,你也可以换一个自己想要的目录)
我的习惯是下载完之后首先注册系统服务。
CMD打开命令提示符,进入到 E:\sql_data\mysql-8.0.16-winx64,把MySql安装为服务:
步骤前置:进入到mysql解压目录
为了解决默认服务路径的问题,建议进入到解压目录下再执行步骤一,否则必定报错误【4】,操作如下:
【1】进入dos窗口下 【2】e: 【3】cd e:\sql_data\mysql-8.0.16-winx64\bin
步骤一:把mysql安装为服务
执行:mysqld.exe -install mysql ( 安装完成后先不要启动服务,因为会报错 )
参考 : mysqld.exe -install "Mysql" --defaults-file = 'e:\mysql\data\my.ini' --initialize --basedir='e:\mysql\mysql57' --datadir='e:mysql\data\data'
步骤二:添加环境变量
操作如下:
①右键单击我的电脑->属性->高级系统设置(高级)->环境变量
②选择系统变量中的Path ,点击编辑按钮
在变量值最末尾追加变量值:;E:\sql_data\mysql-8.0.16-winx64\bin (需要注意的是要在原有变量值后面用 ; 隔开,不能删除原来的变量值,前面给出的代码分号以及要记得一起复制上去哦)
步骤三:配置mysql.ini文件
把 E:\sql_data\mysql-8.0.16-winx64\my-default.ini 文件复制一份重命名为my.ini
我没有这个文件my-default.ini,那我自己新建了一个文件my.ini(怎么新建?直接新建一个txt文件,然后修改名字为my.ini就好了,要是发现自己新建的文件没有.txt后缀,那么设置文件夹查看不隐藏已知文件扩展名即可)
然后编辑这个文件,内容用以下配置替换,内容代码如下
[mysqld] #shared-memory #skip-grant-tables sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION # 设置3306端口 port=3306 # 设置mysql的安装目录 basedir=E:\\sql_data\mysql-8.0.16-winx64 # 设置mysql数据库的数据的存放目录 datadir=E:\\sql_data\mysql-8.0.16-winx64\\data # 允许最大连接数 max_connections=200 # 允许连接失败的次数。这是为了防止有人从该主机试图攻击数据库系统 max_connect_errors=10 # 服务端使用的字符集默认为UTF8 #character-set-server=utf8 # 创建新表时将使用的默认存储引擎 default-storage-engine=INNODB secure_file_priv=
# 8.0以上版本可以加上这条,如果加上这条,那么mysql8初始化密码就为空了
# 修改默认密码的加密方式
default_authentication_plugin=mysql_native_password
[mysql]
# 设置mysql客户端默认字符集
default-character-set=utf8
[client]
# 设置mysql客户端连接服务端时默认使用的端口
port=3306
注意对应修改你的 datadir 和 basedir 为你自己的自定义目录。
比如我的就是 E:\sql_data\mysql-8.0.16-winx64 ,但我们需要用 \\来代替\(如上面配置文件代码中写的那样),或者使用 / 来代替 \ 。
注意,文件应该是ansi编码,如果你是直接新建的则无需理会该条注意信息,后续如果有初始化相关报错再回来看这一条。
步骤四:初始化Mysql
这也是跟之前版本最大的区别:从5.7.7开始,windows下的安装包不包含data目录,在启动服务之前需要先初始化数据:
以管理员身份打开cmd,
执行:mysqld --initialize --console
( --initialize-insecure 可以让默认root用户设置为空密码)
参考:mysqld --defaults-file = 'e:\mysql\data\my.ini' --initialize --basedir='e:\mysql\mysql57' --datadir='e:mysql\data\data'
(1)执行完这条命令后,MySQL会在根目录自建一个data文件夹(注意啊,如果报错找不到data目录,那么需要新建配置文件中指定的目录 datadir=D:\\dev\\mysql\\data )
(2)因为我们加了 --console参数,所以初始化信息会打印出来,如下图,我们的临时密码就是这个。
如果按照上面代码操作的话,该行请忽略:注意,如果屏幕上没有打印出密码(如果没有加上--console参数),那么就在【3】中的 datadir=D:\dev\mysql\data 目录下,会有个 计算机名.err 的文件,去那里头找密码
(3)再输入 net start mysql 启动服务,OK启动成功
可能会出现的问题:如果没做步骤前置
多半会出现-》启动mysql服务提示找不到指定文件,修改注册表路径(参考报错处理4-》在本文末尾)
(4)然后利用临时密码登录。
我们之前初始化的密码是:
登录:
这样就成功,可以直接使用了;
步骤五:mysql修改密码、创建远程登录账户
(1)可能会出现的问题
如果没做步骤前置
多半会出现-》启动mysql服务提示找不到指定文件,修改注册表路径(参考报错处理4-》在本文末尾)
(2)登陆Mysql数据库(如果在步骤4中已登录上,请忽略该小段)
输入mysql -u root -p ,默认是没有密码的(mysql5.6及之前),直接回车即可。
但mysql5.7及以上均有密码,默认按照上面的初始化命令密码会出现在屏幕上(【4】中执行的初始化命令:mysqld --initialize-insecure --console)。
找到密码,输入密码进入,root是用户名。注意,如果屏幕上没有打印出密码(如果没有加上--console参数),那么就在【3】中的 datadir=D:\dev\mysql\data 目录下,会有个 计算机名.err 的文件,去那里头找密码
此时使用show databases; 已经可以看到初始化生成的默认数据库了
(3)修改root账户密码
连接进入mysql数据库后,用以下命令修改密码
5.7 修改密码的方法
alter user 'root'@'localhost' identified by '123456'; flush privileges;
8.0+修改密码的办法
alter user root@'localhost' identified with mysql_native_password by '123456';
(4)退出再次登录,使用新密码就行了:
mysql -u root -p 123456
(5)创建可以远程登录的root账户
用默认root登录进Mysql账户后
<5.7+>
create user root@'%' identified by '123456'; grant all privileges on *.* to root@'%'; flush privileges;
<8.0+>
create user 'root'@'%' IDENTIFIED WITH mysql_native_password by '123456'; grant all privileges on *.* to root@'%'; privileges;
《2》5.6及以下
很简单:
1.解压
比如我解压到这里 E:\sql_data\mysql-5.6.20-winx64
2.设置环境变量
(1)打开环境变量:右键单击我的电脑->属性->高级系统设置(高级)->环境变量
(2)修改path:直接把这个 ;E:\sql_data\mysql-5.6.20-winx64\bin 加入到 环境变量path最末尾就好(记得啊,这个分号不要忽略掉啊)
3.构造配置文件my.ini
复制 mysql5.6文件下的 my-default.ini
一定要写 / 这个斜杆,或者 \\
[mysqld]
basedir =e:/sql_data/mysql-5.6.20-winx64
datadir =e:/sql_data/mysql-5.6.20-winx64/data
port = 3306
server_id = 10
不然可能会报错如下:
很明显从最后一行信息可以看出,连路径信息都缺了
e: ql_data\mysql-5.6.20-winx64\data\ibdata1
Plugin 'FEDERATED' is disabled. Can't open the mysql.plugin table. Please run mysql_upgrade to create it --报错行 InnoDB: Using atomics to ref count buffer pool pages InnoDB: The InnoDB memory heap is disabled InnoDB: Mutexes and rw_locks use Windows interlocked functions InnoDB: Memory barrier is not used InnoDB: Compressed tables use zlib 1.2.3 InnoDB: Not using CPU crc32 instructions InnoDB: Initializing buffer pool, size = 4.0G InnoDB: Completed initialization of buffer pool InnoDB: File e: ql_data\mysql-5.6.20-winx64\data\ibdata1: 'create' returned OS error 103. Cannot continue operation --报错行
4.把mysqld安装成mysql56服务
以管理员身份打开cmd
输入如下命令:
e: E:\sql_data\mysql-5.6.20-winx64\bin\mysqld.exe install mysql56 --defaults-file=E:\sql_data\mysql-5.6.20-winx64\my.ini
5.启动服务,登录
启动服务:直接net start mysql56
登录mysql:mysql -uroot -p
然后enter password: 直接敲回车就好
6.修改密码
可以看《1》中的步骤五种的(5)
我们这里只改当前账户密码(当前账户就是 root@localhost)
set password=password('你的密码')
比如我这里改密码为 123456
后面这句 flush privileges 对于新手而言 执行也可以不执行也行;
7.创建远程登录root账户
上面那个系统自动的root@localhost账户,只能你本地机器使用localhost 或者 127.0.0.1 登录的,使用自己机器的地址以及其他机器都不能登录的。如下图:
这个时候你可以创建一个允许远程登录的root账户;也就是 root@%
create user root@'%' identified by '123456'; -- 这个密码不必和上面的 root@localhost的密码一样
grant all privileges on *.* to root@'%';
如下图:创建后,就可以用IP登录了。
二、报错处理
1.dll缺失
少什么下载什么。
如果您的系统提示“找不到msvcr120.dll ”或“msvcr120.dll 丢失” 或者“msvcr120.dll 错误”的问题,下载本文件复制到*/Windows/SYSTEM32下,即可正常运行程序。
dll文件如何安装
通常是将dll文件复制到“ X:Windowssystem32 ” (X代表您系统所在目录盘符,如:C:Windows\system32 ) 目录下。
2.文件缺失
在重装mysql数据库(解压版)遇到了几个棘手的问题,经过查阅资料,不断实践解决了上述两个问题,现将办法分享一下。
1、无法正常启动(0xc000007b)?
在cmd控制台,mysql的安装路径下使用mysql install命令出现以下无法正常启动(0xc000007b)的错误,如图:
解决:在百度上下载DirectX修复工具(增强版),修复即可。
链接:http://www.pc6.com/softview/SoftView_57945.html
注意,需下载增强版,这样可以修补系统相关的C++组件。 (一定要加强啊,不然要多重启一遍
)
2、初始化失败
在mysql install命令运行成功后,接着运行mysqld –initialize命令完成数据库初始化功能,这是遇到了error: Found option without preceding group in config file: /data/3307/my.cnf at line: 1
原因:my.ini文件格式是utf-8
解决办法,my.ini文件保存为ANSI格式文件
3、安装解压版mysql时,密码忘记了怎样重置?
3.1 用户登录
mysql -uroot -p (直接点击回车,密码为空)
3.2 选择数据库
use mysql;
3.3 重置密码
在5.7版本中不存在password字段,所有我们要用以下修改进行重置密码
update user set authentication_string=password(‘123456’) where user=’root’;
3.4 执行
flush privileges;
4、最后运行net start mysql命令
3.创建失败,permission denied
请已管理员身份运行。
4.启动mysql服务提示找不到指定文件
(转自:https://jingyan.baidu.com/article/91f5db1bd298ed1c7f05e315.html)
在安装mysql后,如果你选择的路径不对或者是绿色版免安装的,安装完成后,可能会出现无法连接服务,主要就是你mysql服务没有开启,但是你在windows的服务中也找不到mysql的服务。这是你需要安装mysql的服务,并开启它。
如果你是5.0的版本,先用cmd进入mysql的文件目录下的bin目录执行:mysqld-nt.exe -install
如果是5.1之后的版本命令:mysqld.exe -install
可以看到我是已经安装他会提示你已经安装了,如果没有就会提示成功安装。
接下来在服务列表就可以找到mysql的服务了!!!有问题你直接启动服务就可以,连接上mysql了,不过有时因为你安装的目录不是默认的或者你之前安装过和之前的目录不一致,当你启动会出现
这是由于你服务的路径和你安装的路径不一致造成的,你需要修改下注册表,首先打开注册表 ,cmd输入regedit就可以了
找到mysql服务的注册表,如上图,修改其中imagePath变量就行了
路径就是你mysqld.exe所在的路径
这样mysql服务就启动了
5.mysql8.0无法远程连接,无法使用navicat链接
参考:mysql8无法用navicat连接(mysql8加密方式的坑)
直接修改密码即可,不要过加上 with mysql_native_password
(1)方法1:案例推荐使用
alter user '用户名'@localhost IDENTIFIED WITH mysql_native_password by '你的密码';
(2)方法2:初始化之前,在配置文件中设置好默认加密方式
# 8.0以上版本可以加上这条
# 修改默认密码的加密方式
#default_authentication_plugin=mysql_native_password
6.初始化错误,找不到 MSVCP140.dll
说明没有安装VC++2015运行库,MySQL运行需要这个运行库,可以去微软官网下载,大概实十几M大小。
进入微软官网搜索并下载
相关文档:
mysql8.0 安装 修改密码 允许远程连接:https://www.cnblogs.com/xyabk/p/8967990.html#4436207