mysql管理工具 hs_MySQL基础管理

MySQL基础管理

一、用户管理

1.1、用户的作用

Linux用户:

登陆Linux系统

管理Linux对象:Linux一切皆文件

MySQL用户:

登陆管理MySQL数据库

管理MySQL对象:表

1.2、用户的定义

Linux用户:

用户名

MysQL用户:

用户名@'白名单'

白名单?

地址列表,允许白名单的IP登录MySQL,管理MysQL。

oldguo@ 'localhost': oldguo用户能够通过本地登录MySQL(socket)

oldguo@'10.0.0.10': oldguo用户能够通过10.0.0.10远程登录MySQL服务器

oldguo@'10.0.0.%': oldguo用户能够通过10.0.0.xx/24远程登录MySQL服务器

oldguo@'10.0.0.5%': oldguo用户能够通过10.0.0.50-59/24远程登录MySQL服务器

oldguo@'10.o.o.0/255.255.254.o'

oldguo@'%'网络通就可以登陆

oldguo@'db01'主机名登陆

oldguo@ ' dbo1.oldguo.com' 域名登陆

1.3、用户管理

查:

show databases;

use mysql;

select user ,host ,authentication_string(密码) from mysql.user;

+---------------+-----------+-------------------------------------------+

| user | host | authentication_string |

+---------------+-----------+-------------------------------------------+

| root | localhost | *23AE809DDACAF96AF0FD78ED04B6A265E05AA257 |

| mysql.session | localhost | *THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE |

| mysql.sys | localhost | *THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE |

+---------------+-----------+-------------------------------------------+

3 rows in set (0.00 sec)

增:

# 创建用户不设置密码

create user tzh@'localhost';

# 创建用户且设置密码

create user identified by '123';

改:

alter user tzh@'localhost' identified by '123'; #修改密码也行

删:

drop user zh@'192.168.1.%';

注意:8.0以后必须得先建用户再授权!8.0以前可以用grant命令,新建用户且授权!

1.4、权限管理

权限表现方式:

Linux中:

wrx

MySQL中:

具体的命令

查看可权限命令:

show privileges;

+-------------------------+------------------+-----------------------+

| Privilege | Context | Comment |

授权操作:

8.0前:

grant 权限1,权限2,...,权限n on 对象(表明或者库名) to 用户 indentified by '密码' with Grant option ;

# 多次grant多次使用,权限是叠加的

8.0后:

create user 用户名字 identified by '密码';

grant权限on对象to 用户;

权限:

权限:

ALL:管理员(不包括with Grant option)

权限1,权限2,权限3,...:普通用户(业务用户,开发用户)

给别的用户授权 :with Grant option 放最后面

对象:库,表

*.*(全部授权) --——->chmod -R 755/ root管理员

oldguo(库).* ----->chmod -R 755 /oldguo普通用户 oldguo库下的所以表的权限

oldguo.tl(表) ————->chmod -R 755 /oldguo/t1

例子:

grant all on *.* to tzh1@'192.168.1.%' identified by '123' with grant option;

# 查看用户授权

show grants for tzh1@'192.168.1.%';

扩展:

MySQL授权表:

user库中

db : app.*

tables_priv: app.t1

columns_priv:列

回收权限:

revoke delete on tzh.* from tzh1@'192.168.1.%';

revoke delete on *.* from tzh1@'192.168.1.%';

二、本地管理员用户密码忘记

跳过授权表、跳过网络连接

pkill mysqld

# 停止数据库后,用mysqld_safe方式启动

mysqld_safe --skip-grant-tables --skip-networking &

或者

service mysqld start --skip-grant-tables --skip-networking 意外发现

# 手工加载授权表,刷新权限,给管理器账号设置密码

mysql> flush privileges;

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

#干掉mysql,再次启动

pkill mysqld

systemctl start mysqld

三、连接管理

图解:

c49fc841ace267f5245e6c06a277d240.png

3.1、自带客户端命令

mysql 常用参数:

-u 用户

-p 密码

-h IP

-P 端口

-S socket文件

-e 免交互执行命令

< 导入SQL脚本

socket :

前提:数据库中必须实现授权oldguo@ 'localhost'用户

mysql -utzh -p123 -s /tmp/mysql.sock

mysql -utzh -p -s /tmp/mysql.sock大实**太推荐方式

mysql -p123 -s /tmp /mysql.sock

mysql

mysql -uroot -p123

-----------------------------------------------------

tcpip:

前提:必须提前创建好,可以远程连接的用户(例如: tzh@'10.0.0.%')。

mysql -utzh -p123 -h 1o.o.0.51 -P 3306

mysql -utzh -p123 -h 1o.o.0.51

mysql -utzho -p -h 10.0.0.51 -P 3306

查看连接是远程还是本地连接:

show processlist;

mysqldump备份工具

mysqladmin管理工具

3.2、程序连接

java、go、python、php

四、初始化配置

4.1、作用

控制MySQL的启动

影响到客户端的连接

4.2、初始化配置的方法

1、预编译

2、配置文件(所有启动方式)

3、命令行参数 (仅限于 mysqld_safe mysqld)

4.3、配置文件作用

配置文件读取顺序:

​以最后读取到的配置文件为准!!!

​但是,如果启动时加入了--defaults-file=xxxx时,以上的所有文件都不会读取.

[root@master ~]# mysqld --help --verbose |grep my.cnf

/etc/my.cnf --> /etc/mysql/my.cnf --> /usr/local/mysql/etc/my.cnf --> ~/.my.cnf

配置文件的书写方式:

[标签]

配置项=xxxx

标签类型:服务端、客户端

服务器端标签:

[mysqld]

[mysqld_safe]

[server]

客户端标签:

[mysql]

[mysqldump]

[client]

配置文件的示例展示:

[root@db01 ~]# cat /etc/my.cnf

[mysqld]#服务器端标签

user=mysql#负责数据库管理用户

basedir=/app/database/mysq1 #软件的安装位置

datadir=/data/ 3306#数据的存放位置

server_ id=6#标识节点的唯一编号(主从有用)

port=3306#端口号

socket=/ tmp/mysql . sock#套接字文件

[mysq1]#客户端标签

socket=/ tmp/mysql.sock#读取socket文件的位置点

五、mysql启动、关闭

启动方式,原理图

8b59ecc63349b2abcb05b7f7ca9b851a.png

启动

systemctl start mysqld ----> mysql.server ----> mysqld_ safe ---> mysqld

mysqld_ safe和mysqld ,可以在启动数据库时,加入自己执行的参数,例如

-- skip-grant-tables

-- skip-networking

-- defaults-file=/opt/my. cnf

关闭

systemctl stop mysqld

service mysqld stop

/etc/init.d/mysq1d stop

mysqladmin -uroot -p123 shutdown

mysql -uroot -p123 -e "shutdown"

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值