第四章 基础管理与初始化配置

本文详细介绍了MySQL的基础管理,包括用户管理(创建、修改、查询和删除),权限管理(权限介绍、授权语法、查看和回收),以及链接管理和初始配置的过程,重点强调了my.cnf文件的作用和配置方法。
摘要由CSDN通过智能技术生成

第四章 基础管理与初始化配置

1,基础管理

1.1,用户管理

1,作用:登录,管理数据库逻辑对象。

2,定义:用户名@白名单

  • 白名单作用:允许那ip登录数据库。

  • 白名单支持的方式:

    用户名@10.0.0.%
    用户名@%
    用户名@10.0.0.200
    用户名@localhost
    用户名@node2
    用户名@10.0.0.5%
    用户名@10.0.0.0/255.255.254.0
    

3,操作

1#创建
create user user@10.0.0.% identifide by '123456';

2#修改
alter user user@10.0.0.% identifide by '000000';

3#查询
select user,host from user;

4#删除
drop user user@10.0.0.% 

1.2,权限管理

1,权限介绍

  • 所有权限 ALL 一般是普通管理具有的权限

  • 单个或多个权限

    SELECT,INSERT, UPDATE, DELETE, CREATE, DROP, RELOAD, SHUTDOWN, PROCESS, FILE, REFERENCES, INDEX, ALTER, SHOW DATABASES, SUPER, CREATE TEMPORARY TABLES, LOCK TABLES, EXECUTE, REPLICATION SLAVE, REPLICATION CLIENT, CREATE VIEW, SHOW VIEW, CREATE ROUTINE, ALTER ROUTINE, CREATE USER, EVENT, TRIGGER, CREATE TABLESPACE
    

2,授权

2.1#语法:
grant 权限 on 作用对象 to  用户 identified by 密码;

#作用对象A,B
A--库名
B--库对象名

#常用写法:
*.*		所有对象,通常对管理员
库名.*	指定库下的所有对象,通常对普通用户
2.2#普通管理员
通常授权ALL:		grant  ALL  on	*.*  to   用户  identified  by密码;

增加with grant option用户具有超级管理员的权限:
grant all  on  *.*  to 用户 identified by 密码  with grant option;

普通应用,授权增删改查:
grant alter,delect,update,select on 库名.*  to  用户  identified  by 密码;

刷新MySQL用户权限表:
flush privilegs;

3,查看授权

#格式:show grants for 用户;

show grants for 'root'@'localhost';

4,回收权限

#格式:revoke  权限  on  库名.对象 from  用户;
revoke delete,update on app.* from app@'%';

收回用户app@'%'的delete和update权限。

注:mysql8.0 授权的新特性:建用户和授权分离grant不再支持自动创建用户,不支持改密码授权之前,必须先创建用户。

1.3,忘记本地用户root的密码,解决办法***

#方法一(适合二进制安装):
1#停掉服务
[root@localhost ~]# systemctl stop mysqld

2#安全启动mysqld
mysqld_safe  --skip-grant-tables  --skip-networking

--skip-grant-tables: 跳过验证
--skip-networking:不允许远程访问

3#装载验证表
flush  privileges;

4#使用sql命令修改
alter user 'root'@'localhost' identified by '000000';

5#使用pkill命令结束mysqld
pkill -9 mysql*

6#启动服务
systemctl start mysqld
#方法二(通用)
1,停掉服务
2#修改配置文件/etc/my.cnf,在[mysqld]节添加如下两行:
skip-grant-tables
skip-networking

3,启动服务
4,装载验证表
5,使用sql命令修改密码
6,停掉服务
7,修改配置文件:去掉添加的两行
8,启动服务
说明:
	1. mysqld_safe命令参数--skip-grant-tables,与配合文件/etc/my.cnf中的行”skip-grant-tables",表示跳过安全规则验证,这样可以无密码登录,严格意义说是任何密码都可以登录。
	2. mysqld命令参数--skip-networking,与配置文件/etc/my.cnf中的行“skip-networking",表示不允许远程登录,使用远程的任何工具和方法均不能远程登录。

1.4,链接管理

mysql命令常用参数
-u:用户
-p:密码
-h:服务器ip
-P:服务器端口号
-S:socket文件
-e:免交互执行命令
[]# mysql -uroot -p000000 -e "sql 语句"
SQL语句执行结果直接显示在linux控制台

<:导入SQL脚本
[]# mysql -uroot -p <sql文件
执行sql文件中的sql语句,导入到数据库

说明:-P必须与-h一同使用

2,初始配置

1,作用:

  • 控制MySQL数据库启动
  • 影响客户端的链接

2,方法:

  • 预编译

  • 配置/etc/my.cnf文件

  • 命令行(仅限于mysqld_safe,mysqld)

3,初始配置文件

  • 上哪儿去找配置文件?
    初始化配置文件的默认读取路径
    [root@node1 ~]# mysqld --help --verbose | grep my.cnf /etc/my.cnf /etc/mysql/my.cnf /usr/etc/my.cnf ~/.my.cnf
    	
    默认情况下,MySQL启动时,会依次读取上述配置文件,如有重复项,会用后面的项覆盖前边的项,即以后一个为准。
    
    如果加入启动项:--defaults-file=xxx,则其他文件不会读取。
    
  • #配置文件书写方式(/etc/my.cnf)
    [mysqld]
    basedir=/app/mysql
    datadir=/data/mysql
    user=mysql
    server_id=6
    port=3306
    socket=/tmp/mysql.sock
    [mysql]
    socket=/tmp/mysql.sock
    prompt=sql_node1[\\d]>
    
  • 11
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值