美文网首页
MySQL基础管理

MySQL基础管理

作者: 肥四_F4 | 来源:发表于2020-06-28 18:30 被阅读0次

1.用户管理
1.1 作用
Linux :登录系统、管理操纵系统对象(文件)
MySQl:登录数据库、管理数据库对象(表)
1.2 用户的定义方式
Linux :
用户名:字母、数字、特殊符号等组合
MySQL:
用户名@‘白名单’
白名单?
一个或多个IP的列表,作用是,在列表中存在的IP才能连接数据库

1.3用户的管理
1.3.1查询:

mysql> select user,host from mysql.user;
+---------------+-----------+
| user          | host      |
+---------------+-----------+
| mysql.session | localhost |
| mysql.sys     | localhost |
| root          | localhost |
+---------------+-----------+

**查看表结构(如果记不住单次,可以执行下面命令)

mysql> desc mysql.user;

1.3.2创建用户
需求:通过oldben 用户,密码123 ,从10网段任意地址登录MySQL

mysql> create user oldben@'10.0.0.%' identified by '123';
mysql> select user,host from mysql.user;
+---------------+-----------+
| user          | host      |
+---------------+-----------+
| oldben        | 10.0.0.%  |
| mysql.session | localhost |
| mysql.sys     | localhost |
| root          | localhost |
+---------------+-----------+

1.3.3修改用户
需求:给没有密码的root用户添加密码为123

mysql> alter user root@'localhost' identified by '123';

需求:将oldben用户的初始密码123改为123456

mysql> alter user oldben@'10.0.0.%' identified by '123456';

1.3.4删除用户
需求:将oldben用户删除

mysql> drop user oldben@'10.0.0.%';
mysql> select user,host from mysql.user;
+---------------+-----------+
| user          | host      |
+---------------+-----------+
| oldboy        | 10.0.0.%  |
| test          | 10.0.0.%  |
| mysql.session | localhost |
| mysql.sys     | localhost |
| root          | localhost |
+---------------+-----------+
5 rows in set (0.00 sec)

2.权限管理
2.1 作用
控制用户,能够对数据库对象,做哪些操作。
2.2 定义方式
linux 权限: r w x
MySQL 权限:命令即权限

#查看MySQL中的权限列表
mysql> show privileges;
2.png

说明:

    特殊的权限ALL:代表了以上所有权限结合,除了Grant option(给别人授权的功能)。
  一般管理员用户会具备ALL,其他普通用户按需提供相应权限,一般DROP种类的权限不会给普通用户。

2.3权限的管理
2.3.1权限查询
Linux中权限是属于文件的属性
MySQL中权限是属于用户的属性

mysql> show grants for root@'localhost';
 GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' WITH GRANT OPTION

2.3.2 授权
GRANT 权限 ON 作用范围 To 用户 IDENTIFIED BY '密码';
作用范围 ?
. : 全局范围 chmod -R /
wordpress.* : 单库范围 chmod -R /wordpress
wordpress.t1:单表范围 chmod -R /wordpress/a.txt

管理员用户授权:

#创建oldboy用户并授所有权限 
mysql> grant all on *.* to oldboy@'10.0.0.%' identified by '123';

普通用户授权:

#创建test用户对test库有增删改查的权限
mysql>  grant select,update,delete,insert   on test.* to test@'10.0.0.%' identified by '123';

2.3.3 回收
注意: 不能通过重复授权修改权限,因为授权都是相加的关系。

#回收test用户对test库的删除权限
mysql> revoke delete on test.*  from 'test'@'10.0.0.%';

2.3.4 彩蛋8.0版本之后在 用户、权限管理方面的变化
<1 必须先建好用户,在授权,grant 命令不再支持自动创建用户,不支持设置密码
<2 建用户,密码加密插件发生变化,改为sha2
有很多场景要修改为mysql_native_password
比如 :第三方工具、主从、高可用、备份软件等。。
<3 8.0加入了role的概念。就是添加了权限的组合 ,(几个权限)= name 授权的时候直接授权name就OK了

  1. MySQL 连接管理
    3.1 自带客户端命令
    mysql 命令的使用
-u    用户名
-p    密码
-s    Socket文件
-h    IP地址
-P    端口号
-e    免交互执行命令
<    导入SQL脚本 

¥IP地址连接串(tcpip连接方法)
mysql -u用户 -p密码 -h地址 -P端口
前提:
1>IP和端口正确的
2>提前创建好可以远程登录的用户

#连接模板
[root@db01 ~ 17:54:53]# mysql -uoldboy -p123 -h10.0.0.51 -P3306
#默认端口是3306
[root@db01 ~ 17:54:53]# mysql -uoldboy -p123 -h10.0.0.51 

¥本地Socket文件(脱敏)
前提:
1>设置真确的Socket文件位置
2>提前创建好localhost相关用户

[root@db01 ~ 18:02:23]# mysql -uroot -p -S /tmp/mysql.sock

4.初始化配置文件
4.1作用
1>影响到数据库的启动、工作
2>影响到客户端连接(本地服务器上发起的)
4.2文件格式

[root@db01 ~ 08:33:13]# cat /etc/my.cnf
[mysqld]                   
user=mysql                
basedir=/data/app/mysql
datadir=/data/3306/data
socket=/tmp/mysql.sock
[mysql]
socket=/tmp/mysql.sock
 #[标签项]:用来表示不同的程序
①服务端:[mysqld] [mysqld_safe]  [server]
②客户端:[mysql]  [mysqldump]  [client]
配置项=xxx:设置的参数键值对
user=mysql                           #数据库管理用户       
basedir=/data/app/mysql      #程序路径
datadir=/data/3306/data        #数据路径
socket=/tmp/mysql.sock        #socket文件位置

4.3配置文件的读取顺序
默认配置文件读取顺序

[root@db01 ~ 09:07:06]# mysql --help --verbose |grep my.cnf
/etc/my.cnf --> /etc/mysql/my.cnf  --> /usr/local/mysql/etc/my.cnf --> ~/.my.cnf

建议:每个数据库保留一个配置文件
彩蛋:
如果有多个配置文件,例如
/etc/my.cnf -->port=3306
~/.my.cnf -->port=3308
数据库启动时,port是3308

手工定义配置文件读取路径
mysqld --defaults-file=/opt/myl.cnf &
mysqld-safe --defaults-file=/opt/my2.cnf &

4.4root本地管理员的密码忘记?
1>停数据库

[root@db01 ~ 09:20:17]# /etc/init.d/mysqld stop
Shutting down MySQL.. SUCCESS!

2>启动数据库到'安全模式'
mysqld_safe --skip-grant-tables --skip-networking &
参数作用
--skip-grant-tables #跳过授权表、不开启验证功能
--skip-networking #阻止所有TCP/IP网络连接

3>改密码

mysql> flush privileges;
mysql> alter user root@'localhost' identified by '123456';

4>重启至正常模式
[root@db01 ~ 09:47:27]# /etc/init.d/mysqld restart

4.5MySQL的启动关闭


1.png

相关文章

  • MySQL基础理论

    MySQL基础理论 mySQL (关系型数据库管理系统) 编辑 MySQL是一个关系型数据库管理系统,由瑞典MyS...

  • MySQL基础管理

    1.用户管理1.1 作用Linux :登录系统、管理操纵系统对象(文件)MySQl:登录数据库、管理数据库对象(表...

  • MySQL 基础

    本周继续学习 MySQL 基础 MySQL是一种开放源代码的关系型数据库管理系统(RDBMS),MySQL数据库系...

  • mysql基础管理 用户管理

    作用:登录数据库 管理数据库对象:逻辑结构 库 表 mysql用户的定义 用户名@'白名单' 白名...

  • mysql基础管理-用户管理

    用户管理: 1.用户的作用:登陆管理用户对象2.用户的定义:用户:用户名@'白名单'例子:root@'localh...

  • Day88-MySQL-中级DBA课程

    MySQL基础管理 1. 用户管理 1.1 作用 登录 管理对象1.2 长成什么样?用户名@'白名单' 1.2...

  • 「MySQL」MySQL基础知识及数据库安装

    一、MySQL数据库基础知识 概念 MySQL是一款开源、跨平台的关系型数据库管理系统(DBMS,Database...

  • mysql基础管理-连接管理

    连接管理 mysql自带客户端 1)mysql 参数列表: -u 用户名 -p 密码 -S 本地socket文件位...

  • mysql----郭导---day2 (6月14号)

    第四章 MySQL基础管理1、用户管理 1、作用: 登录、管理数据库对象(逻辑结构) 2、用户的定义 用户名@'白...

  • mysql 用户管理和权限设置

    mysql 用户管理和权限设置 用户管理 mysql>use mysql; 查看 mysql> select ho...

网友评论

      本文标题:MySQL基础管理

      本文链接:https://www.haomeiwen.com/subject/vqaofktx.html