windows下mysql分类
MySQL分为 ==安装版和解压版 ==
- 安装版:
安装方便,下一步------下一步就OK了,但重装系统更换环境又要重新来一遍,会特别麻烦 - 解压版==(推荐)==:
这种方式(项目打包特别方便)能更深了解mysql的配置,以后遇到问题,也就可以自行解决了,我个人推荐解压版MySQL,最主要的是学会这一种方法,你会发现其他软件甚至是linux系统软件安装也一通百通了。
一、下载mysql
下载地址如下:
https://downloads.mysql.com/archives/community/
下载解压后是文件目录结构是这样的
二、配置环境变量
2.1方法一:手动配置环境变量
2.2方法二:使用cmd命令配置环境变量
setx -m PATH "%PATH%;C:\WF\usr\local\mysql-5.7.44-winx64\bin""
不加 -m 修改的是当前用户的环境变量,加 -m 修改的是系统环境变量。
也可以写成bat文件
三、安装mysql
- 安装前运行微软常用运行库全集(也可能称为依赖)
- 新建my.ini文件,文件内容如下:
# For advice on how to change settings please see
# http://dev.mysql.com/doc/refman/5.7/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]port = 3306default-character-set = utf8
[mysqld]# 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
port = 3306
# These are commonly set, remove the # and set as required.basedir =C:\WF\usr\local\mysql-5.7.44-winx64
#datadir =C:\WF\usr\local\mysql-5.7.44-winx64\data #默认就是这个地址,可以省略
# server_id = .....character_set_server = utf8# 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 = 2M
# read_rnd_buffer_size = 2M sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
3. 初始化mysql
或者用powershell
mysqld --initialize-insecure
mysqld --initialize-insecure 命令用于初始化MySQL服务器,但它不会要求用户设置root密码,而是会创建一个没有密码的root用户。这个命令通常在首次安装MySQL或重新安装MySQL时使用。
4. 安装mysql,启动服务
mysqld -install
net start mysql
四、登陆配置mysql
- 创建用户
CREATE USER 'uuuu'@'localhost' IDENTIFIED BY 'pppp';
其中,uuuu是新用户的用户名,pppp是用户的密码。
创建新数据库:使用 utf8mb4 字符集和 utf8mb4_unicode_ci 校对顺序(collation)来创建新数据库。
- 新建数据库
CREATE DATABASE mydatabase CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
- 为用户授权:假设你有一个名为 mydatabase 的数据库,并希望新用户拥有这个数据库的所有权限:
GRANT ALL PRIVILEGES ON mydatabase.* TO 'uuuu'@'localhost';
- 设置远程访问
GRANT ALL PRIVILEGES ON mydatabase.* TO 'uuuu'@'%';
如果你希望新用户能够访问所有数据库,可以使用:
GRANT ALL PRIVILEGES ON *.* TO 'uuuu'@'localhost';
如果你希望新用户只能从特定的 IP 地址访问,你可以将 localhost 替换为那个 IP 地址。
5. 刷新权限:
为了让新的权限设置立即生效,执行:
sql
FLUSH PRIVILEGES;
- 退出 MySQL:
EXIT;
注意:
始终确保在创建新用户或授予权限时,你清楚该用户将拥有哪些权限,并且这些权限是合适的。不要过度授权,以防止潜在的安全风险。
五、配置远程连接mysql【创建用户和数据时如未设置远程的,已设置可忽略本章】
如果你在远程机器上使用第三方工具(可视化工具)访问 MySQL,确保 MySQL 服务器的配置允许远程连接。这通常涉及到编辑 MySQL 的配置文件 (my.cnf 或 mysqld.cnf) 并确保 bind-address 参数设置为 0.0.0.0 或注释掉这一行。然后,重启 MySQL 服务。
选择 mysql 数据库:在 MySQL 提示符下,选择 mysql 数据库。
sql
use mysql;
更新用户表:更改 user 表,将 host 设置为 ‘%’ 允许所有 IP 地址连接【已设置uuuu权限的,此步骤可省略】。
sql
update user set host='%' where user='uuuu';
权限刷新:执行以下命令,使权限设置立即生效。
sql
flush privileges;
退出 MySQL:执行以下命令,退出 MySQL。
sql
exit;
配置防火墙:允许 3306 端口通过防火墙。
New-NetFirewallRule -DisplayName "MySQL Port 3306" -Direction Inbound -Protocol TCP -LocalPort 3306 -Action Allow
注意:在远程连接 MySQL 时,请确保你的网络环境和防火墙设置允许远程连接,并且使用强密码来保护你的数据库账户,以防止未经授权的访问
六、附:zip版MySQL卸载方法
zip版MySQL卸载步骤如下:
net stop mysql
mysqld -remove
- 关闭MySQL服务 。以管理员身份运行cmd,执行命令net stop mysql或者右键我的电脑,在管理-服务-停止MySQL。
- 删除服务 。执行命令mysqld --remove。
- 删除MySQL文件 。将MySQL安装目录下的所有文件删除。
- 需要注意的是,在执行卸载操作前,最好先备份MySQL数据库中的重要数据,以免丢失。此外,如果MySQL服务正在运行,需要先停止服务才能执行卸载操作。
七、附:导入sql备份文件(如果你有备份)
- 新建用户名和数据库(空数据库)
CREATE USER '替换成用户名'@'localhost' IDENTIFIED BY '替换成密码';
CREATE DATABASE 替换成数据库名 CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
GRANT ALL PRIVILEGES ON 替换成数据库名.* TO '替换成用户名'@'localhost';
GRANT ALL PRIVILEGES ON 替换成数据库名.* TO '替换成用户名'@'%';
FLUSH PRIVILEGES;
- 导入sql备份文件
mysql -u 替换成用户名 -p;
use 替换成数据库名;
source 替换成sql路径;