windows下Mysql安装及启动
Posted 安然亦智
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了windows下Mysql安装及启动相关的知识,希望对你有一定的参考价值。
1、下载mysql
https://dev.mysql.com/downloads/
2、配置环境变量
变量名:MYSQL_HOME
变量值:E:\\MySql\\mysql-8.0.15-winx64\\mysql-8.0.15-winx64
path里添加:%MYSQL_HOME%\\bin;
注:如果需要修改一些配置的话,在当前目录下自行新建配置文件:my.ini
例如,这里我将端口修改为:3309,默认端口为3306
[mysql] # 设置mysql客户端默认字符集 default-character-set=utf8 [mysqld] #设置3306端口 port = 3309 # 设置mysql的安装目录 basedir=E:\\MySql\\mysql-8.0.15-winx64\\mysql-8.0.15-winx64 # 设置mysql数据库的数据的存放目录 datadir=E:\\MySql\\mysql-8.0.15-winx64\\mysql-8.0.15-winx64\\data # 允许最大连接数 max_connections=200 # 服务端使用的字符集默认为8比特编码的latin1字符集 character-set-server=utf8 # 创建新表时将使用的默认存储引擎 default-storage-engine=INNODB
端口号更改之后,需要重启服务才会生效.
(注意:如果要使用自行创建的配置文件生效,后面步骤安装时必须指向该配置文件(后面有注明),mysqld --install MySQL --defaults-file="D:\\mysql-8.0.21-winx64\\bin\\my.ini“)
3、生成data文件
以管理员身份运行cmd
进入E:\\MySql\\mysql-8.0.15-winx64\\mysql-8.0.15-winx64\\bin 下
执行命令:mysqld --initialize-insecure --user=mysql 在E:\\MySql\\mysql-8.0.15-winx64\\mysql-8.0.15-winx64目录下生成data目录
4、启动服务
执行命令:net start mysql 启动mysql服务,若提示:服务名无效,执行命令:mysqld -install 即可
(注意:如果要使用自行创建的配置文件生效,安装时必须指向该配置文件,mysqld --install MySQL --defaults-file="D:\\mysql-8.0.21-winx64\\bin\\my.ini“)
在服务列表中可看到该服务:
停止服务:net stop mysql
卸载服务:mysqld --remove mysql
下面开始使用MySql:
1、链接mysql:(以root账号登录)
mysql -u root -p
初始没有密码,直接enter
注意:当配置文件中将Mysql端口号更改了,则登录时需指定端口,P为大写:(这里我设置的端口为3309,,主机ip为192.168.168.152)
mysql -P 3309 -h 192.168.168.152 -u root -p
2、登录之后,修改密码,并配置远程访问
登陆成功之后修改密码(密码修改为admin):
ALTER USER \'root\'@\'localhost\' IDENTIFIED WITH mysql_native_password BY \'admin\';
或者
update mysql.user set authentication_string=password(\'admin\') where user=\'root\' and Host = \'localhost\';
默认不允许远程访问MySQL,如果需要远程访问,下面是开启远程访问的命令:
use mysql; update user set host = \'%\' where user = \'root\'; FLUSH PRIVILEGES;
3、基础操作
①创建数据库:
create database Temp DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
删除数据库:drop database Temp;
②创建用户:
CREATE USER \'test\'@\'%\' IDENTIFIED BY \'123456\';
CREATE USER \'user_name\'@\'host\' IDENTIFIED BY \'password\';
user_name:要创建用户的名字。
host:表示要这个新创建的用户允许从哪台机登陆,如果只允许从本机登陆,则 填 ‘localhost’ ,如果允许从远程登陆,则填 ‘%’
password:新创建用户的登陆数据库密码,如果没密码可以不写。
ALTER USER \'root\'@\'localhost\' IDENTIFIED BY \'password\' PASSWORD EXPIRE NEVER; #修改密码永不过期
可执行,select * from user;查看用户列表(查看用户拥有的权限,可以看到用户很多权限都是N,因为未授权)
4、授权用户:
GRANT ALL PRIVILEGES ON Temp.* TO \'test\'@\'%\';
GRANT privileges ON databasename.tablename TO ‘username’@‘host’
privileges:表示要授予什么权力,例如可以有 select , insert ,delete,update等,如果要授予全部权力,则填 ALL
databasename.tablename:表示用户的权限能用在哪个库的哪个表中,如果想要用户的权限很作用于所有的数据库所有的表,则填 *.*,*是一个通配符,表示全部。
’username‘@‘host’:表示授权给哪个用户。
5、刷新权限表
flush privileges;
执行这个命令的原因是,需要将新加入的用户写入到权限表中,即更新grant table
6、用Navicat for MySQL链接数据库:
如果链接失败的话,报错:Client does not support authentication protocol requested by server;
(原因:mysql8 之前的版本中加密规则是mysql_native_password,而在mysql8之后,加密规则是caching_sha2_password;那么把mysql用户登录密码加密规则还原成mysql_native_password即可)
执行命令:
ALTER USER \'test\'@\'%\' IDENTIFIED WITH mysql_native_password BY \'123456\';#更新密码加密规则
FLUSH PRIVILEGES; #刷新权限
7、mysql 退出,有三种方式可退出:
mysql > exit;
mysql > quit;
mysql > \\q;
8、如果忘记了mysql root账号密码,可以进行重置密码(转载原文章地址:https://www.cnblogs.com/baimj/p/11738708.html)
①停止mysql服务:
net stop mysql
②开启跳过密码验证登录的MySQL服务
mysqld --console --skip-grant-tables --shared-memory
③再打开一个新的cmd,无密码登录MySQL
mysql -u root -p
④ 密码置为空
use mysql
update user set authentication_string=\'\' where user=\'root\';
⑤退出mysql
quit
⑥关闭以-console --skip-grant-tables --shared-memory 启动的MySQL服务,
⑦ 启动MySQL服务。
net start mysql
⑧步骤4密码已经置空,所以无密码状态登录MySQL,输入登录命令:mysql -u root -p
⑨修改密码:
ALTER USER
\'root\'
@
\'localhost\'
IDENTIFIED BY
\'123456\'
;
⑩刷新重新进入
quit;
net stop mysql
net start mysql
mysql -u root -p
输入密码,登录成功。
以上是关于windows下Mysql安装及启动的主要内容,如果未能解决你的问题,请参考以下文章