区块链技术博客
www.b2bchain.cn

(一)mysql连接与权限求职学习资料

本文介绍了(一)mysql连接与权限求职学习资料,有助于帮助完成毕业设计以及求职,是一篇很好的资料。

对技术面试,学习经验等有一些体会,在此分享。

本系列文章基于mysql5.7版本,暂不考虑其他版本延申扩展

初识mysql

配置mysql环境变量

  1. win+r–>services.msc–>右击mysql服务–>属性–>找到可执行路径并复制出来-> 定位到你的 MYSQL安装目录下bin目录, 如: C:Program FilesMySQLMySQL Server 5.7bin

  2. 右击“我的电脑”–>属性–>高级系统设置–>环境变量–>系统变量–>PATH–>新增–>上面的“bin路径”

连接建立小知识

mysql支持的两种连接方式(windows通道方式一般不用,暂不考虑)

  1. 适用任何平台的TCP/IP连接:mysql在任何平台下都支持的连接方式,也是大家经常使用的方式。这种一般都是客户端和服务器端不在同一台服务器上(在一台上也可以),两台机器之间通过TCP/IP网络进行连接。

  2. 只服务本机的socket连接:只适用于客户端和服务器端在同一台机器上,相当于用localhost访问。在Linux和Unix环境下,还可以使用Unix域套接字。当服务端启动后,我们可以通过以下命令来进行Unix域套接字文件的查找,也可以在配置文件中指定套接字文件的路径,如-socket=/tmp/mysql.sock。

 show variables like 'socket';

mysql远程连接

mysql -h ***.***.***.*** -P 3306 -u dp -p Enter password: *********
  • -h(host):连接服务器域名(ip)
  • -P(port):端口号
  • -u(user):用户名
  • -p(password):密码(注意:可以在-p后面紧跟着写密码,不过这样是明文密码,正常输入后会出现警告提示,一般不推荐)

登录后可通过下面语句查看当前登录用户

select user(); select current_user();

(一)mysql连接与权限

查看当前登录用户

  1. 创建连接时,mysql除了正常的建立TCP/IP连接外,还会查询系统自带的mysql库中,相关的权限表user、db、tables_priv、columns_priv、procs_priv等,用于权限认证。表相关主要信息如下:

    表名 功能 备注
    user 用来记录允许连接到服务器的账号信息 启用的所有权限都是全局级的,适用于所有数据库
    db 存储了用户对某个数据库的操作权限 host:主机名、user:用户名、db:数据库名
    tables_priv 单个表进行权限设置 Table_name:表名、Table_priv:表的操作权限、Column_priv:表中的列的操作权限
    columns_priv 表用来对单个数据列进行权限设置 Column_name:指定对哪些数据列具有操作权限、
    procs_priv 对存储过程和存储函数进行权限设置 Routine_name:存储过程或函数的名称、Routine_type:存储过程或函数的类型、Proc_priv:拥有的权限
  2. 用户认证通过后,如果建立的是长连接,该权限在这个连接过程中无论再怎么修改,这次连接权限将不变。

  3. 连接完成后,如果你没有后续的动作,这个连接就处于空闲状态。
    “`

显示用户正在运行的线程

root 用户能看到所有正在运行的线程,其他用户只能看到自己正在运行的线程

show processlist;
show full processlist;

按客户端 IP 分组,看哪个客户端的链接数最多

SELECT
client_ip,
count( client_ip ) AS client_num
FROM
( SELECT substring_index( HOST, ‘:’, 1 ) AS client_ip FROM information_schema.PROCESSLIST ) AS connect_info
GROUP BY
client_ip
ORDER BY
client_num DESC;

本系列文章基于mysql5.7版本,暂不考虑其他版本延申扩展

初识mysql

配置mysql环境变量

  1. win+r–>services.msc–>右击mysql服务–>属性–>找到可执行路径并复制出来-> 定位到你的 MYSQL安装目录下bin目录, 如: C:Program FilesMySQLMySQL Server 5.7bin

  2. 右击“我的电脑”–>属性–>高级系统设置–>环境变量–>系统变量–>PATH–>新增–>上面的“bin路径”

连接建立小知识

mysql支持的两种连接方式(windows通道方式一般不用,暂不考虑)

  1. 适用任何平台的TCP/IP连接:mysql在任何平台下都支持的连接方式,也是大家经常使用的方式。这种一般都是客户端和服务器端不在同一台服务器上(在一台上也可以),两台机器之间通过TCP/IP网络进行连接。

  2. 只服务本机的socket连接:只适用于客户端和服务器端在同一台机器上,相当于用localhost访问。在Linux和Unix环境下,还可以使用Unix域套接字。当服务端启动后,我们可以通过以下命令来进行Unix域套接字文件的查找,也可以在配置文件中指定套接字文件的路径,如-socket=/tmp/mysql.sock。

 show variables like 'socket';

mysql远程连接

mysql -h ***.***.***.*** -P 3306 -u dp -p Enter password: *********
  • -h(host):连接服务器域名(ip)
  • -P(port):端口号
  • -u(user):用户名
  • -p(password):密码(注意:可以在-p后面紧跟着写密码,不过这样是明文密码,正常输入后会出现警告提示,一般不推荐)

登录后可通过下面语句查看当前登录用户

select user(); select current_user();

(一)mysql连接与权限

查看当前登录用户

  1. 创建连接时,mysql除了正常的建立TCP/IP连接外,还会查询系统自带的mysql库中,相关的权限表user、db、tables_priv、columns_priv、procs_priv等,用于权限认证。表相关主要信息如下:

    表名 功能 备注
    user 用来记录允许连接到服务器的账号信息 启用的所有权限都是全局级的,适用于所有数据库
    db 存储了用户对某个数据库的操作权限 host:主机名、user:用户名、db:数据库名
    tables_priv 单个表进行权限设置 Table_name:表名、Table_priv:表的操作权限、Column_priv:表中的列的操作权限
    columns_priv 表用来对单个数据列进行权限设置 Column_name:指定对哪些数据列具有操作权限、
    procs_priv 对存储过程和存储函数进行权限设置 Routine_name:存储过程或函数的名称、Routine_type:存储过程或函数的类型、Proc_priv:拥有的权限
  2. 用户认证通过后,如果建立的是长连接,该权限在这个连接过程中无论再怎么修改,这次连接权限将不变。

  3. 连接完成后,如果你没有后续的动作,这个连接就处于空闲状态。
    “`

显示用户正在运行的线程

root 用户能看到所有正在运行的线程,其他用户只能看到自己正在运行的线程

show processlist;
show full processlist;

按客户端 IP 分组,看哪个客户端的链接数最多

SELECT
client_ip,
count( client_ip ) AS client_num
FROM
( SELECT substring_index( HOST, ‘:’, 1 ) AS client_ip FROM information_schema.PROCESSLIST ) AS connect_info
GROUP BY
client_ip
ORDER BY
client_num DESC;

本系列文章基于mysql5.7版本,暂不考虑其他版本延申扩展

初识mysql

配置mysql环境变量

  1. win+r–>services.msc–>右击mysql服务–>属性–>找到可执行路径并复制出来-> 定位到你的 MYSQL安装目录下bin目录, 如: C:Program FilesMySQLMySQL Server 5.7bin

  2. 右击“我的电脑”–>属性–>高级系统设置–>环境变量–>系统变量–>PATH–>新增–>上面的“bin路径”

连接建立小知识

mysql支持的两种连接方式(windows通道方式一般不用,暂不考虑)

  1. 适用任何平台的TCP/IP连接:mysql在任何平台下都支持的连接方式,也是大家经常使用的方式。这种一般都是客户端和服务器端不在同一台服务器上(在一台上也可以),两台机器之间通过TCP/IP网络进行连接。

  2. 只服务本机的socket连接:只适用于客户端和服务器端在同一台机器上,相当于用localhost访问。在Linux和Unix环境下,还可以使用Unix域套接字。当服务端启动后,我们可以通过以下命令来进行Unix域套接字文件的查找,也可以在配置文件中指定套接字文件的路径,如-socket=/tmp/mysql.sock。

 show variables like 'socket';

mysql远程连接

mysql -h ***.***.***.*** -P 3306 -u dp -p Enter password: *********
  • -h(host):连接服务器域名(ip)
  • -P(port):端口号
  • -u(user):用户名
  • -p(password):密码(注意:可以在-p后面紧跟着写密码,不过这样是明文密码,正常输入后会出现警告提示,一般不推荐)

登录后可通过下面语句查看当前登录用户

select user(); select current_user();

(一)mysql连接与权限

查看当前登录用户

  1. 创建连接时,mysql除了正常的建立TCP/IP连接外,还会查询系统自带的mysql库中,相关的权限表user、db、tables_priv、columns_priv、procs_priv等,用于权限认证。表相关主要信息如下:

    表名 功能 备注
    user 用来记录允许连接到服务器的账号信息 启用的所有权限都是全局级的,适用于所有数据库
    db 存储了用户对某个数据库的操作权限 host:主机名、user:用户名、db:数据库名
    tables_priv 单个表进行权限设置 Table_name:表名、Table_priv:表的操作权限、Column_priv:表中的列的操作权限
    columns_priv 表用来对单个数据列进行权限设置 Column_name:指定对哪些数据列具有操作权限、
    procs_priv 对存储过程和存储函数进行权限设置 Routine_name:存储过程或函数的名称、Routine_type:存储过程或函数的类型、Proc_priv:拥有的权限
  2. 用户认证通过后,如果建立的是长连接,该权限在这个连接过程中无论再怎么修改,这次连接权限将不变。

  3. 连接完成后,如果你没有后续的动作,这个连接就处于空闲状态。
    “`

显示用户正在运行的线程

root 用户能看到所有正在运行的线程,其他用户只能看到自己正在运行的线程

show processlist;
show full processlist;

按客户端 IP 分组,看哪个客户端的链接数最多

SELECT
client_ip,
count( client_ip ) AS client_num
FROM
( SELECT substring_index( HOST, ‘:’, 1 ) AS client_ip FROM information_schema.PROCESSLIST ) AS connect_info
GROUP BY
client_ip
ORDER BY
client_num DESC;

部分转自互联网,侵权删除联系

赞(0) 打赏
部分文章转自网络,侵权联系删除b2bchain区块链学习技术社区 » (一)mysql连接与权限求职学习资料
分享到: 更多 (0)

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

b2b链

联系我们联系我们