MySQL 是许多应用程序关键的一部分,它运行在各种 Linux 系统上。但是,由于 MySQL 服务器需要对数据库进行修改,所以它必须以 root 用户的身份运行。这样的做法很容易被滥用,因此,我们需要采取一些措施来限制 MySQL 服务器的特权。本文介绍一些降低 MySQL 帐户权限的 Linux 实用技巧。
在岷县等地区,都构建了全面的区域性战略布局,加强发展的系统性、市场前瞻性、产品创新能力,以专注、极致的服务理念,为客户提供成都网站设计、网站制作 网站设计制作按需规划网站,公司网站建设,企业网站建设,成都品牌网站建设,营销型网站,成都外贸网站制作,岷县网站建设费用合理。
1. 使用 MySQL 的 –skip-grant-tables 参数来限制权限
当需要进行紧急修复时,可以使用 MySQL 的 –skip-grant-tables 参数来暂时禁用所有 MySQL 帐户的密码并禁止所有外部连接。要使用此设置,请在启动 mysqld 守护程序时指定此参数,如下所示:
“`
root# mysqld –skip-grant-tables &
“`
此选项会将权限降低到更低限度,并允许您以 root 用户身份连接到 MySQL 服务器,而无需知道任何密码。
2. 使用 MySQL 的 GRANT 命令来授权访问
如果我们要向 MySQL 添加新用户并限制其权限,则可以使用 MySQL 的 GRANT 命令来实现。该命令使用以下语法:
“`
GRANT ON TO @ IDENTIFIED BY ”;
“`
使用此命令可以使我们授权用户访问 MySQL 数据库,并指定密码以限制用户访问权限。请确保使用最少的权限来授予用户访问权限。
3. 限制数据库服务器访问权限
我们可以限制 MySQL 数据库服务器的访问权限,以便只允许少数可信的 IP 地址连接到该服务。为此,我们可以使用 iptables 或防火墙规则来实现。以下是一个 iptables 规则示例,用于将访问 MySQL 数据库的流量限制为特定的 IP 地址段:
“`
[root@localhost ~]# iptables -A INPUT -p tcp –dport 3306 -s 192.168.2.0/24 -j ACCEPT
“`
此规则将允许来自 IP 地址为 192.168.2.0/24 的客户端连接到 MySQL 服务器。
4. 禁用远程连接
如果您不需要在远程位置进行 MySQL 连接,则可以禁用远程连接。在大多数情况下,MySQL 服务器只需要在本地主机上运行,并且该限制可以通过 edit /etc/mysql/my.cnf 配置文件中的 bind-address 配置选项来实现。将 bind-address 设置为 127.0.0.1 将使 MySQL 仅接受本地主机的连接,并禁用远程连接。
“`
[mysqld]
bind-address = 127.0.0.1
“`
5. 避免使用 root 用户与 MySQL 连接
在 MySQL 的默认设置中,root 用户是具有完全管理权限的默认帐户。因此,当使用 root 用户与 MySQL 进行连接时,其权限将非常高,并且可能会被滥用。因此,应该尽量避免使用 root 用户与 MySQL 进行连接。如果必须使用 root 用户进行连接,则应该使用以下语法:
“`
mysql -u root -p
“`
此命令将提示您输入 root 用户的密码,从而可以限制 root 用户在连接 MySQL 时的特权。
结论:
相关问题拓展阅读:
运行中的mysql状态查看
(1)QPS(每秒Query量)
QPS
=
Questions(or
Queries)
/
seconds
mysql
>
show
global
status
like
‘Question%’;
(2)TPS(每秒事务量)
TPS
=
(Com_commit
+
Com_rollback)
/
seconds
mysql
>
show
global
status
like
‘Com_commit’;
mysql
>
show
global
status
like
‘Com_rollback’;
(3)key
Buffer
命中率
mysql>show
global
status
like
‘key%’;
key_buffer_read_hits
=
(1-key_reads
/
key_read_requests)
*
100%
key_buffer_write_hits
=
(1-key_writes
/
key_write_requests)
*
100%
(4)InnoDB
Buffer命中率
mysql>
show
status
like
‘innodb_buffer_pool_read%’;
innodb_buffer_read_hits
=
(1
–
innodb_buffer_pool_reads
/
innodb_buffer_pool_read_requests)
*
100%
(5)Query
Cache命中率
mysql>
show
status
like
‘Qcache%’;
Query_cache_hits
=
(Qcahce_hits
/
(Qcache_hits
+
Qcache_inserts
))
*
100%;
(6)Table
Cache状态量
mysql>
show
global
status
like
‘open%’;
比较
open_tables
与
opend_tables
值
(7)Thread
Cache
命中率
mysql>
show
global
status
like
‘Thread%’;
mysql>
show
global
status
like
‘Connections’;
Thread_cache_hits
=
(1
–
Threads_created
/
connections
)
*
100%
(8)锁定状态
mysql>
show
global
status
like
‘%lock%’;
Table_locks_waited/Table_locks_immediate=0.3%
如果这个比值比较大的话,说明表锁造成的阻塞比较严重
Innodb_row_lock_waits
innodb行锁,太大可能是间隙锁造成的
(9)复制延时量
mysql
>
show
slave
status
查看延时时间
(10)
Tmp
Table
状况(临时表状况)
mysql
>
show
status
like
‘Create_tmp%’;
Created_tmp_disk_tables/Created_tmp_tables比值更好不要超过10%,如果Created_tmp_tables值比较大,
可能是排序句子过多或者是连接句子不够优化。
linux中mysql降权查看的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于linux中mysql降权查看,降低 MySQL 权限:Linux 下的实用技巧,linux 怎样看mysql的状态的信息别忘了在本站进行查找喔。
成都创新互联科技有限公司,是一家专注于互联网、IDC服务、应用软件开发、网站建设推广的公司,为客户提供互联网基础服务!
创新互联(www.cdcxhl.com)提供简单好用,价格厚道的香港/美国云服务器和独立服务器。创新互联成都老牌IDC服务商,专注四川成都IDC机房服务器托管/机柜租用。为您精选优质idc数据中心机房租用、服务器托管、机柜租赁、大带宽租用,可选线路电信、移动、联通等。
网站名称:降低MySQL权限:Linux下的实用技巧(linux中mysql降权查看)
新闻来源:http://www.gawzjz.com/qtweb/news17/193217.html
网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联