参考文章:MySql5.7.25安装步骤_JIEJLI123456的博客-CSDN博客
参考文章:MySQL5.7.25解压版安装教程_zhaoyy0513的博客-CSDN博客
参考文章:MySQL5.7 添加用户、删除用户与授权 - 徐继收 - 博客园
1、mysql官网下载地址
MySQL :: Download MySQL Community Server
下载解压版,后缀.zip
2、my.ini配置文件
在mysql安装目录根目录下创建配置文件my.ini,内容如下:
[mysql]
# 设置mysql客户端默认字符集
default-character-set=utf8
[mysqld]
#设置3306端口
port = 3306
# 设置mysql的安装目录
basedir=C:\Program Files\MySQL\MySQL-5.7.25
# 设置mysql数据库的数据的存放目录
datadir=C:\Program Files\MySQL\MySQL-5.7.25\data
# 允许最大连接数
max_connections=200
# 服务端使用的字符集默认为8比特编码的latin1字符集
character-set-server=utf8
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
# sql-mode="NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"
# max_connections=512
# query_cache_size=0
# tmp_table_size=18M
# thread_cache_size=8
# myisam_max_sort_file_size=64G
# myisam_sort_buffer_size=35M
# key_buffer_size=25M
# read_buffer_size=64K
# read_rnd_buffer_size=256K
# sort_buffer_size=256K
# skip-grant-tables
3、安装配置
以管理员身份打开cmd,进入/bin目录下,输入MySql的初始化命令
mysqld --initialize-insecure --console
-insecure 生成一个没有密码的root用户
--console将安装过程显示到控制台上
命令执行完毕后,会在MySql的解压目录下看到新生成的/data目录,是数据库文件的保存目录,然后输入命令mysqld install 将MySql注册的Windows服务中。
mysqld install
打开Windows服务面板可以看到MySQL服务,可以点击启动或者输入net start mysql 来启动MySQL服务
net start mysql
关闭MySQL服务则输入
net stop mysql
或者移除所注册的MySQL服务则输入mysql remove
mysqld remove
输入 netstat -ano 则可以看到已经启动的MySQL服务
指定默认配置文件my.ini文件,执行以下命令:
mysqld --defaults-file="C:\Program Files\MySQL\MySQL-5.7.25\my.ini" --skip-grant-tables
4、登录mysql,更改用户密码,创建用户
打开新的cmd在/bin这个文件夹下执行命令:mysql -uroot -p,root初始没有密码,所以password:位置直接回车登录。
使用数据库:use mysql;
更改密码:update user set authentication_string=password('新密码') where user='root' and Host='localhost';
刷新权限:flush privileges;
退出:quit
重新登录:mysql -uroot -proot
创建用户:首先使用root用户登录,使用mysql数据库
参考以下博客内容:
mysql -uroot -proot
MySQL5.7 mysql.user表没有password字段改 authentication_string;
一. 创建用户:
命令:CREATE USER 'username'@'host' IDENTIFIED BY 'password';
例子: CREATE USER 'dog'@'localhost' IDENTIFIED BY '123456';
CREATE USER 'dog2'@'localhost' IDENTIFIED BY '';
PS:username - 你将创建的用户名,
host - 指定该用户在哪个主机上可以登陆,此处的"localhost",是指该用户只能在本地登录,不能在另外一台机器上远程登录,如果想远程登录的话,将"localhost"改为"%",表示在任何一台电脑上都可以登录;也可以指定某台机器可以远程登录;
password - 该用户的登陆密码,密码可以为空,如果为空则该用户可以不需要密码登陆服务器。
二.授权:
命令:GRANT privileges ON databasename.tablename TO 'username'@'host'
PS: privileges - 用户的操作权限,如SELECT , INSERT , UPDATE 等(详细列表见该文最后面).如果要授予所的权限则使用ALL.;databasename - 数据库名,tablename-表名,如果要授予该用户对所有数据库和表的相应操作权限则可用*表示, 如*.*.
例子: GRANT SELECT, INSERT ON mq.* TO 'dog'@'localhost';
例子: GRANT ALL PRIVILEGES ON *.* TO 'dog'@'localhost'; IDENTIFIED BY '1234';
三.创建用户同时授权
mysql> grant all privileges on mq.* to test@localhost identified by '1234';
Query OK, 0 rows affected, 1 warning (0.00 sec)
mysql> flush privileges;
Query OK, 0 rows affected (0.01 sec)
PS:必须执行flush privileges;
否则登录时提示:ERROR 1045 (28000): Access denied for user 'user'@'localhost' (using password: YES )
四.设置与更改用户密码
命令:SET PASSWORD FOR 'username'@'host' = PASSWORD('newpassword');
例子: SET PASSWORD FOR 'dog2'@'localhost' = PASSWORD("dog");
五.撤销用户权限
命令: REVOKE privilege ON databasename.tablename FROM 'username'@'host';
说明: privilege, databasename, tablename - 同授权部分.
例子: REVOKE SELECT ON mq.* FROM 'dog2'@'localhost';
PS: 假如你在给用户'dog'@'localhost''授权的时候是这样的(或类似的):GRANT SELECT ON test.user TO 'dog'@'localhost', 则在使用REVOKE SELECT ON *.* FROM 'dog'@'localhost';命令并不能撤销该用户对test数据库中user表的SELECT 操作.相反,如果授权使用的是GRANT SELECT ON *.* TO 'dog'@'localhost';则REVOKE SELECT ON test.user FROM 'dog'@'localhost';命令也不能撤销该用户对test数据库中user表的Select 权限.
具体信息可以用命令SHOW GRANTS FOR 'dog'@'localhost'; 查看.
六.删除用户
命令: DROP USER 'username'@'host';
七.查看用户的授权
mysql> show grants for dog@localhost;
+---------------------------------------------+
| Grants for dog@localhost |
+---------------------------------------------+
| GRANT USAGE ON *.* TO 'dog'@'localhost' |
| GRANT INSERT ON `mq`.* TO 'dog'@'localhost' |
+---------------------------------------------+
2 rows in set (0.00 sec)
PS:GRANT USAGE:mysql usage权限就是空权限,默认create user的权限,只能连库,啥也不能干