当前位置:   article > 正文

MySQL:Windows下的安装与配置_windows mysql

windows mysql

简介

下载地址:可以查看参考文献1

因为官网实在是下的太慢了,所以找了个国内镜像源下载地址。

推荐msi安装,之前我用的是tar解压安装,结果解压出来的MySQL没有生成my.ini文件,没法修改自定义配置。要改的话很麻烦。

亲测msi也不行。

windows下的安装

下载个tar版本,解压到你想要放的目录。

管理员打开CMD,切换到MySql的解压目录下的bin目录;

再输入命令mysqld --initialize --console来初始化数据库,并记录红色标注的字符,这是随机生成的密码:
在这里插入图片描述
上图是忘记从哪个参考文献里偷的了

输入mysqld -install将mysql安装为Windows的服务;

输入命令net start mysqlsc start mysql启动mysql服务;

输入mysql -u root -p来登陆数据库,并输入前面记录的临时密码;

登陆成功后输入命令alter user 'root'@'localhost' identified by '想要设置的密码';将原来复杂的密码修改为自己的密码,并输入commit;提交;

输入quit退出数据库,再次登陆数据库,这时我们用的是我们修改后的密码登陆的;

最后我们将Mysql的bin目录配置到环境变量中,方便我们下次启动,而不用切换路径;

其他常用的指令:

  • 停止MySQL服务:net stop MySQLsc stop MySQL
  • 删除MySQL服务:sc delete mysqldmysqld -remove(需先停止服务)

授权远程访问

如果想要用户myuser使用mypassword从任何主机连接到mysql服务器的话:

GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'%' IDENTIFIED BY 'mypassword' WITH GRANT OPTION;

FLUSH   PRIVILEGES;
  • 1
  • 2
  • 3

如果你想允许用户myuser从ip为192.168.1.6的主机连接到mysql服务器,并使用mypassword作为密码:

GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'192.168.1.3' IDENTIFIED BY 'mypassword' WITH GRANT OPTION;

FLUSH   PRIVILEGES;
  • 1
  • 2
  • 3

如果你想允许用户myuser从ip为192.168.1.6的主机连接到mysql服务器的dk数据库,并使用mypassword作为密码:

GRANT ALL PRIVILEGES ON dk.* TO 'myuser'@'192.168.1.3' IDENTIFIED BY 'mypassword' WITH GRANT OPTION;

FLUSH   PRIVILEGES;
  • 1
  • 2
  • 3

重新绑定my.ini文件

详情见参考文献4

以下操作均需要在管理员权限的cmd下执行。

印象里这里是有个坑的,似乎是tar安装包解压出来后,没有my.ini,所以需要新建my.ini,并做重新绑定。

第一步,首先需要删除当下已经存在的MySQL服务,

D:\MySql\bin>sc delete MySQL
  • 1

这里的MySQL是服务名,每个人的服务名可能不一样,可以右键计算机去看服务,来查看你的服务名。

如果删除后还能看到MySql服务,可以手动右击选择”停止“,服务停止之后就会自动消失了

第二步,新建my.ini文件。

在mysql程序的根目录下,新建一个my.ini空白文件,用记事本打开,将以下内容复制进去,保存:

# For advice on how to change settings please see
# http://dev.mysql.com/doc/refman/5.6/en/server-configuration-defaults.html
# *** DO NOT EDIT THIS FILE. It's a template which will be copied to the
# *** default location during install, and will be replaced if you
# *** upgrade to a newer version of MySQL.
[client]
default-character-set = utf8mb4
[mysql]
default-character-set = utf8mb4
[mysqld]
character-set-client-handshake = FALSE
character-set-server = utf8mb4
collation-server = utf8mb4_bin
init_connect='SET NAMES utf8mb4'
# Remove leading # and set to the amount of RAM for the most important data
# cache in MySQL. Start at 70% of total RAM for dedicated server, else 10%.
innodb_buffer_pool_size = 128M
# Remove leading # to turn on a very important data integrity option: logging
# changes to the binary log between backups.
# log_bin
# These are commonly set, remove the # and set as required.
basedir = D:\MySQL
datadir = D:\MySQL\data
port = 3306
# server_id = .....
# Remove leading # to set options mainly useful for reporting servers.
# The server defaults are faster for transactions and fast SELECTs.
# Adjust sizes as needed, experiment to find the optimal values.
join_buffer_size = 128M
sort_buffer_size = 16M
read_rnd_buffer_size = 16M 
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32

其中basedir 和 datadir 根据实际MySql安装的位置进行修改.

第三步,重新生成data文件夹。

删除之前生成的data文件,如果有重要的数据表,请先备份好。

回到cmd,重新生成data文件。运行:

D:\MySql\bin>mysqld --initialize-insecure --user=mysql
  • 1

该命令需要执行大概一分钟左右,完成后会在MySql程序文件夹下重新生成名称为data的文件夹.

第四步,重新安装mysql服务,同时绑定my.ini配置文件。

安装MySql服务,同时设置绑定my.ini配置文件。命令:

D:\MySql\bin>mysqld --install "MySQL" --defaults-file="d:/mysql/my.ini"
  • 1

MySQL是新的服务名,当然,你也可以起别的名字。

如果提示安装成功,这时打开电脑的”服务“窗口,可以找到新添加的MySql80服务。

在这里插入图片描述

第五步,启动服务。

可以通过服务窗口启动,也可以cmd启动:

D:\MySql\bin>net start MySQL
  • 1

启动成功后会予以反馈。

第六步,重新设置密码。

删除了data文件和服务之后,之前的密码就失效了,所以需要重新设置密码。

首先需要登录,这时候root密码就是空了,直接回车即可,不需要输什么。

D:\MySql\bin>mysql -u root -p
  • 1

然后修改root用户密码:

alter user 'root'@'localhost' identified by '想要设置的密码';
  • 1

完美。

修改时区

在依赖的my.ini文件中,[mysqld]区域中加上:

default-time_zone = '+8:00'
  • 1

然后重启MySQL。

常见问题

ERROR 1130 (HY000): Host XXX is not allowed to connect to this MySQL server

这个问题是在客户机远程登录MYSQL的时候发生的:

mysql -h 127.0.0.1 -P 3306 -u root -p
  • 1

这是因为MySQL服务器不允许root用户远程连接,只需要授权一下当前账户的远程访问权限就可以,参考"授权远程访问"这一节就行。

参考文献

  1. mysql国内镜像下载网址
  2. windows下MySQL的安装
  3. ERROR 1130 (HY000): Host XXX is not allowed to connect to this MySQL server 如何授权远程访问
  4. [【详记MySql问题大全集】三、安装之后没有my.ini配置文件怎么办 神攻略,非常棒!但是过程很麻烦
  5. mysql 设置时区_MySQL修改时区的方法小结
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/笔触狂放9/article/detail/722901
推荐阅读
相关标签
  

闽ICP备14008679号