win10安装mysql5.7离线版
1 官网下载
选择5.7.38版本,64位压缩包,点击DownLoad
2 安装mysql
解压至D:\software\mysql-5.7.38
并在该目录下新建my.ini
文件,文件内容如下,注意basedir
和datadir
为安装目录
[Client]
#设置3306端口
port = 3306
[mysqld]
#设置3306端口
port = 3306
# 设置mysql的安装目录
basedir=D:/software/mysql-5.7.38
# 设置mysql数据库的数据的存放目录
datadir=D:/software/mysql-5.7.38/data
# 允许最大连接数
max_connections=200
# 服务端使用的字符集默认为8比特编码的latin1字符集
character-set-server=utf8
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
[mysql]
# 设置mysql客户端默认字符集
default-character-set=utf8
2.1 系统环境变量设置
- 设置->系统->关于->高级系统设置->环境变量
- 新建系统变量
- 变量名称: MYSQL_HOME
- 变量值:
D:\software\mysql-5.7.38
, 根据自己路径修改 - 编辑系统变量
path
,新建%MYSQL_HOME%bin
,确定即可
3 mysql初始化
- 管理员身份命令行启动cmd,切换到mysql安装目录的bin目录
- 执行mysqld -install ,会出现Service successfully installed ,可能会报
msvcp120.dll
错误,需要安装相关配置,自行百度 - 执行 mysqld --initialize-insecure --user=mysql ,成功后会在安装目录生成data目录。
- 输入启动命令: net start mysql
- 输入 mysql -u root -p ,提示输入密码时候,直接回车即可
3.1 设置密码
# 切换到mysql数据库
use mysql;
#设置密码:password:新密码;user: 用户
update user set authentication_string=password('123456') where user='root';
# 刷新MySQL的系统权限相关表
flush privileges;
3.2 设置远程连接
#进入Mysql -u:指用户; -p指密码
mysql -u root -p
Enter password: 密码
# 切换到mysql数据库
use mysql;
#设置user用户远程访问
GRANT ALL ON *.* TO user@'%' IDENTIFIED BY '123456' WITH GRANT OPTION;
# 刷新MySQL的系统权限相关表
flush privileges;
4 创建用户及授权
4.1 创建用户
-- create user 'username'@'host' identified by 'password';
-- 本地用户
create user 'user'@'localhost' identified by '123456';
-- 远程主机登陆
create user 'user'@'%' identified by '123456';
username
:你将创建的用户名host
:指定该用户在哪个主机上可以登陆,如果是本地用户可用localhost
,如果想让该用户可以从任意远程主机登陆,可以使用通配符%password
:该用户的登陆密码,密码可以为空,如果为空则该用户可以不需要密码登陆服务器
4.2 授权
-- GRANT privileges ON databasename.tablename TO 'username'@'host';
-- 指定表
GRANT SELECT, INSERT ON test.user TO 'pig'@'%';
-- 指定schema
GRANT ALL ON maindataplus.* TO 'pig'@'%';
privileges
:用户的操作权限,如SELECT,INSERT,UPDATE,DROP
等,如果要授予所的权限则使用ALL
databasename
:数据库名tablename
:表名,如果要授予该用户对所有数据库和表的相应操作权限则可用*表示,如*.*
4.3 设置与更改用户密码
SET PASSWORD FOR 'username'@'host' = PASSWORD('newpassword');
-- 如果是当前用户
SET PASSWORD = PASSWORD("newpassword");
4.4 撤销用户权限
REVOKE privilege ON databasename.tablename FROM 'username'@'host';
4.5 删除用户
DROP USER 'username'@'host';
-- 刷新权限
FLUSH PRIVILEGES;