本文主要记录MySQL的学习笔记,MySQL的定义等其他基本信息不做具体说明了,主要记录MySQL的使用。
MySQL的安装,卸载,启动,创建用户,授权,找回root密码
**一、下载安装:**
**1. Windows下**:
下载地址:[https://dev.mysql.com/downloads/mysql/]()
安装版:点击下一步,进行安装
免安装版(压缩包):
解压缩
配置环境变量
win+r键 -> 输入cmd -> 进入解压后的bin目录
执行 mysqld --install进行安装MySQL服务
**2. Linux下:**
1)安装钱准备:
a. 检查是否安装过MySQL:
`rpm -qa | grep mysql`、
b. 若出现类似:
`mysql-libs-5.1.52-1.el6_0.1.x86_64`
先进行卸载
`rpm -e mysql-libs-5.1.52-1.el6_0.1.x86_64 // 普通卸载`
`rpm -e --nodeps mysql-libs-5.1.52-1.el6_0.1.x86_64 // 强制卸载`
c. 检查是否安装过mariadb:
`rpm -qa | grep mariadb`
d. 若出现类似:
`mariadb-libs-5.5.56-2.el7.x86_64`
则可执行下面命令进行卸载:
`rpm -e --nodeps mariadb-libs-5.5.56-2.el7.x86_64`
2)安装
下载MySQL官网的仓库文件:
`cd /tmp`
`wget http://repo.mysql.com/mysql80-community-release-el7-1.noarch.rpm`
`yum localinstall mysql80-community-release-el7-1.noarch.rpm`
`yum install mysql-community-server -y`
`rpm -qi mysql-community-server.x86_64 0:8.0.16-2.el7`
启动服务:
`systemctl start mysqld // 启动MySQL服务`
`systemctl restart mysqld // 重启MySQL服务`
`systemctl stop mysqld // 关闭MySQL服务`
`systemctl enbable mysqld // 设置MySQL服务自启动`
`systemctl status mysqld // 查看MySQL服务的启动状态`
`systemctl disable mysqld // 停止MySQL服务自启动`
查看MySQL的初始密码:
`cat /var/log/mysqld.log | grep password`
![](https://img2020.cnblogs.com/blog/2200491/202011/2200491-20201102230251472-870768467.png)
进入mysql:
`mysql -uroot -p`
修改初始密码:
`mysql> alter user 'root'@'localhost' identified by '新密码' `
设置允许远程连接:
`mysql> update user set host='%' where user='root' `
`mysql> flush privileges`
3)创建mysql用户
`mysql> create user '用户名'@'ip' identified by '用户密码' // 若允许用户在任何地方都可以登录,ip换成 % `
给新用户授权:
`mysql> grant 操作权限项 privileges on 数据库名.表名 to '用户名'@'ip'`
操作权限项:
1. alter: 允许用户alter数据表
2. alter routine:允许用户alter或drop存储例程
3. create:允许用户创建表
4. create routine:用户用户创建存储例程
5. create temporary table:允许用户创建临时表
6. create user:允许用户使用CREATE USER, DROP USER, RENAME USER, and REVOKE ALL PRIVILEGES
7. create view:允许用户创建视图
8. delete: 允许用户使用delete
9. drop: 允许用户使用drop
10.execute:允许用户运行存储例程
11.index:允许用户create index和 drop index
12.insert:允许用户insert数据
13.lock table:允许用户在有select权限的表上加锁
14.process:运行用户使用SHOW FULL PROCESSLIST
15.reload:允许用户使用flush
16.Client:连接服务
17.replication slave:复制从属服务器所需
18.select:允许用户使用select
19.show databases:允许用户使用 show databases
20.show view:允许用户使用show create view
21.super:允许使用CHANGE MASTER、KILL、PURGE MASTER LOGS和SET GLOBAL SQL语句。允许mysqladmin调试命令。如果达到最大连接数,则允许进行一个额外的连接
22.update:允许用户使用update
23.usage:允许在没有任何特定权限的情况下进行连接,
24.references:允许用户创建外键
25.trigger:触发器权限
26.all:所有权限
查看用户权限:
`show grants for '用户名'@'ip'`
![](https://img2020.cnblogs.com/blog/2200491/202011/2200491-20201103105332848-812110340.png)