Windows安装解压版Mysql
下载
配置my.ini
解压后根目录新建一个my.ini
内容如下
[client]: 所有mysql客户端程序读取的配置块,包括bin下面的很多工具,例如mysql、mysqladmin、mysqlcheck、mysqldump、mysqlimport、mysqlshow、mysqlslap。
[mysqldump]: 只有mysqldump这个客户端程序才会读取的配置文件。
[mysql]: 只有mysql这个客户端程序才会读取的配置块,即mysql命令行。
[server]: 所有服务端如mysqld会读取的配置块。
[mysqld]: mysql服务端程序mysqld 和 mysqld_safe ,mysqld_multi 的配置文件。
基础配置
[mysql] #设置mysql客户端默认字符集 default-character-set=utf8 [mysqld] #设置mysql的安装目录 basedir=D:\ProgramFiles_QY\mysql-5.7.24-winx64 #设置mysql数据库的数据存储目录,必须是data,或者是\\xxx\\data datadir=D:\ProgramFiles_QY\mysql-5.7.24-winx64\data #服务端使用的字符集默认为8比特编码的latin1字符集 character-set-server=utf8 #设置端口 port = 3306 #允许最大连接数 max_connections=200 #创建新表时将使用的默认存储引擎 default-storage-engine=INNODB [client] port=3306 default-character-set=utf8
全配置
[mysql] #设置mysql客户端默认字符集 default-character-set=utf8 [mysqld] #设置mysql的安装目录 basedir=D:\ProgramFiles_QY\mysql-5.7.24-winx64 #设置mysql数据库的数据存储目录,必须是data,或者是\\xxx\\data datadir=D:\ProgramFiles_QY\mysql-5.7.24-winx64\data #错误日志 log-error=D:\ProgramFiles_QY\mysql-5.7.24-winx64\log\error.log #查询日志 general_log=on general_log_file=D:\ProgramFiles_QY\mysql-5.7.24-winx64\log\mysql.log #日志输出到文件/数据库表,都输出用,分割 #log_output='FILE' #,TABLE #开启慢查询日志 slow_query_log=on #慢查询中记录没有使用索引的query log-queries-not-using-indexes=on #慢查询日志路径 slow-query-log-file=D:\ProgramFiles_QY\mysql-5.7.24-winx64\log\\slowquery.log #慢查询时间,这里为2秒,超过2秒会被记录 long_query_time=2 #二进制日志文件 server_id=1918 log_bin = mysql-bin binlog_format = ROW #服务端使用的字符集默认为8比特编码的latin1字符集 character-set-server=utf8 #设置端口 port=3306 #允许最大连接数 max_connections=200 #创建新表时将使用的默认存储引擎 default-storage-engine=INNODB #忘记初始密码用 #skip-grant-tables #导出限制设置 secure_file_priv = null #MySql5.6.6弃用了explicit_defaults_for_timestamp这个系统变量,高于5.6.6时要设置此变量不然timestamp默认值会报错Invalid default value explicit_defaults_for_timestamp=true #mysql5.7对group by语法更严格了,只能select 分组的字段和聚合函数,其他字段不允许出现在select列中,如果不想线上报错需要写此语句 sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION [client] port=3306 default-character-set=utf8 #character-set-server=utf8 loose_default-character-set=utf8
配置环境变量
win+R输入sysdm.cpl,找到环境变量,添加MYSQL_HOME系统变量,值为mysql解压路径。
在Path后面加上%MYSQL_HOME%\bin;
将Mysql安装为服务
安装默认的Mysql服务,读取指定my.ini选项配置文件中的设置,这里最好把MySQL Service换成Mysql
mysqld --install "MySQL Service" --defaults-file="D:\ProgramFiles_QY\mysql-5.7.24-winx64\my.ini"
删除服务
# 删除服务名为MySQL5.7的服务 sc delete MySQL5.7
注意:
MySQL Service为服务名,带空格需用引号(最好就写mysql,不然启动/停止/移除服务等都要用双引号)
D:\ProgramFiles_QY\mysql-5.7.24-winx64\my.ini为my.ini路径,带空格需用引号
可能遇到的问题
MSVCR120.dll文件丢失错误的解决方案
下载 VC redist packages for x64,下载完成,点击运行即可
初始化Mysql
首先在mysql-5.7.24-winx64下新建data和log文件夹
mysqld --defaults-file="D:\ProgramFiles_QY\mysql-5.7.24-winx64\my.ini" --initialize
初始化完毕后,mysql目录下面会出现data文件夹
启动Mysql
net start "mysql service"
停止MySQL服务,输入命令:net stop "mysql service"
移除MySQL服务,输入指令:mysqld -remove "mysql service"
之所以这里都用"mysql service",就是因为上面install时写的带空格,写mysql就不存在这个问题。这里也可以移除后再重装。
如果启动失败去看计算机管理下面的Windows日志。
更改密码
再开启另外一个cmd窗口,输入mysql命令。版本不同,有的默认为空密码,有的默认为临时密码(5.7版本以上)
mysql -u root -p -h 127.0.0.1
输入临时密码(在指定的datadir目录下的XXX.err日志文件里,A temporary password is generated for root@localhost)
更改系统库
use mysql
更改root密码
update user set authentication_string=password('root') where user='root'
或者
set password=password(‘root');
或者出现如下提示时,用alert user更改密码。
alter user 'root'@'localhost' identified by '123456';
重新登录
mysql -u root -p 123456 -h 127.0.0.1
mysql5.7临时密码过期问题
解决方案
删掉data目录,重新初始化mysql。(不知道为什么,我初始化了三次才登进去,用临时密码时连接最好用Navicat测试连接,连接成功用Navicat连进去也会让你初始化密码)。
也可以用下面这种方法
执行
mysql_secure_installation
输入上面生成的临时密码
然后登陆让你设置新密码,这里会让你安装一个验证密码安全度的插件,装了就要遵守那个规则(low安全度的都要8位),为了在开发中不添加麻烦,我们选择不安装。
允许其他电脑连接
登录mysql -u root -p
允许所有IP(*.*)以root和root登录此服务器(%)
grant all privileges on *.* to root@'%' identified by 'root'
开放防火墙端口3306
打开控制面板,找到防火墙高级选项,选择入站规则,添加指定端口TCP为3306
可能遇到问题
如果初始化时报错或者启动报错
右击我的电脑 -》管理 -》诊断 -》 事件查看器 -》Windows日志 -》 应用程序。可以看到错误的具体内容,比如没有新建log文件夹,或者多次初始化没有清空data文件夹之类的问题。
启动时报错,启动不了。然后查看日志
发现初始化时不认识defaults-file,网上查询一下,发现是参数写倒了应该把
mysqld --initialize --defaults-file="D:\ProgramFiles_QY\mysql-5.7.24-winx64\my.ini"
改为(前文已更正)
mysqld --defaults-file="D:\ProgramFiles_QY\mysql-5.7.24-winx64\my.ini" --initialize
![微信公众号二维码](https://images.cnblogs.com/cnblogs_com/aeolian/1679458/o_wechat_gzh_qrcode.jpg)