分析mysqld的skip-grant-tables选项
这篇文章主要讲解了“分析mysqld的skip-grant-tables选项”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“分析mysqld的skip-grant-tables选项”吧!
这个选项会导致不使用权限系统来启动服务器,它将让任何用户可以访问服务器并且不受限制的访问所有数据库。在不使用授权表启动服务器后可以通过shell来执行mysqladmin flush-privileges或mysqladmin reload命令或者在连接到服务器后执行flush privileges语句来让正在运行的服务器再次使用授权表。
使用--skip-grant-tables选项启动服务器
[root@localhostmysql]#servicemysqldstopShuttingdownMySQL.SUCCESS![root@localhostmysql]#servicemysqldstart--skip-grant-tablesStartingMySQL..SUCCESS!
现在就可以不使用用户和密码就可以登录服务器
[mysql@localhost~]$mysqlWelcometotheMySQLmonitor.Commandsendwith;or\g.YourMySQLconnectionidis2Serverversion:5.7.26-logSourcedistributionCopyright(c)2000,2019,Oracleand/oritsaffiliates.Allrightsreserved.OracleisaregisteredtrademarkofOracleCorporationand/oritsaffiliates.Othernamesmaybetrademarksoftheirrespectiveowners.Type'help;'or'\h'forhelp.Type'\c'toclearthecurrentinputstatement.mysql>
现在可以执行mysqladin flush-privileges命令让正在运行的服务器再次使用授权表
[mysql@localhost~]$mysqladminflush-privileges
现在不使用用户和密码就不能登录服务器了,必须使用用户和密码才能登录了
[mysql@localhost~]$mysqlERROR1045(28000):Accessdeniedforuser'root'@'localhost'(usingpassword:NO)[mysql@localhost~]$mysql-uroot-pabcdmysqlmysql:[Warning]Usingapasswordonthecommandlineinterfacecanbeinsecure.ReadingtableinformationforcompletionoftableandcolumnnamesYoucanturnoffthisfeaturetogetaquickerstartupwith-AWelcometotheMySQLmonitor.Commandsendwith;or\g.YourMySQLconnectionidis5Serverversion:5.7.26-logSourcedistributionCopyright(c)2000,2019,Oracleand/oritsaffiliates.Allrightsreserved.OracleisaregisteredtrademarkofOracleCorporationand/oritsaffiliates.Othernamesmaybetrademarksoftheirrespectiveowners.Type'help;'or'\h'forhelp.Type'\c'toclearthecurrentinputstatement.
再次使用--skip-grant-tables选项启动服务器
[root@localhostmysql]#servicemysqldstopShuttingdownMySQL..SUCCESS![root@localhostmysql]#servicemysqldstart--skip-grant-tablesStartingMySQL..SUCCESS!
现在就可以不使用用户和密码就可以登录服务器
[mysql@localhost~]$mysqlWelcometotheMySQLmonitor.Commandsendwith;or\g.YourMySQLconnectionidis2Serverversion:5.7.26-logSourcedistributionCopyright(c)2000,2019,Oracleand/oritsaffiliates.Allrightsreserved.OracleisaregisteredtrademarkofOracleCorporationand/oritsaffiliates.Othernamesmaybetrademarksoftheirrespectiveowners.Type'help;'or'\h'forhelp.Type'\c'toclearthecurrentinputstatement.mysql>
现在可以执行mysqladin reload命令让正在运行的服务器再次使用授权表
mysql@localhost~]$mysqladminreload
现在不使用用户和密码就不能登录服务器了,必须使用用户和密码才能登录了
[mysql@localhost~]$mysqlERROR1045(28000):Accessdeniedforuser'root'@'localhost'(usingpassword:NO)[mysql@localhost~]$mysql-uroot-pabcdmysqlmysql:[Warning]Usingapasswordonthecommandlineinterfacecanbeinsecure.ReadingtableinformationforcompletionoftableandcolumnnamesYoucanturnoffthisfeaturetogetaquickerstartupwith-AWelcometotheMySQLmonitor.Commandsendwith;or\g.YourMySQLconnectionidis5Serverversion:5.7.26-logSourcedistributionCopyright(c)2000,2019,Oracleand/oritsaffiliates.Allrightsreserved.OracleisaregisteredtrademarkofOracleCorporationand/oritsaffiliates.Othernamesmaybetrademarksoftheirrespectiveowners.Type'help;'or'\h'forhelp.Type'\c'toclearthecurrentinputstatement.
再次使用--skip-grant-tables选项启动服务器
[root@localhostmysql]#servicemysqldstopShuttingdownMySQL.SUCCESS![root@localhostmysql]#servicemysqldstart--skip-grant-tablesStartingMySQL..SUCCESS!
现在就可以不使用用户和密码就可以登录服务器
[mysql@localhost~]$mysqlWelcometotheMySQLmonitor.Commandsendwith;or\g.YourMySQLconnectionidis2Serverversion:5.7.26-logSourcedistributionCopyright(c)2000,2019,Oracleand/oritsaffiliates.Allrightsreserved.OracleisaregisteredtrademarkofOracleCorporationand/oritsaffiliates.Othernamesmaybetrademarksoftheirrespectiveowners.Type'help;'or'\h'forhelp.Type'\c'toclearthecurrentinputstatement.mysql>
现在可以执行flush privileges语句让正在运行的服务器再次使用授权表
mysql>flushprivileges;QueryOK,0rowsaffected(0.12sec)
现在不使用用户和密码就不能登录服务器了,必须使用用户和密码才能登录了
[mysql@localhost~]$mysqlERROR1045(28000):Accessdeniedforuser'root'@'localhost'(usingpassword:NO)[mysql@localhost~]$mysql-uroot-pabcdmysqlmysql:[Warning]Usingapasswordonthecommandlineinterfacecanbeinsecure.ReadingtableinformationforcompletionoftableandcolumnnamesYoucanturnoffthisfeaturetogetaquickerstartupwith-AWelcometotheMySQLmonitor.Commandsendwith;or\g.YourMySQLconnectionidis5Serverversion:5.7.26-logSourcedistributionCopyright(c)2000,2019,Oracleand/oritsaffiliates.Allrightsreserved.OracleisaregisteredtrademarkofOracleCorporationand/oritsaffiliates.Othernamesmaybetrademarksoftheirrespectiveowners.Type'help;'or'\h'forhelp.Type'\c'toclearthecurrentinputstatement.
--skip-grant-tables选项也可以在选项文件my.cnf中进行设置。这个选项还会导致服务器在启动过程中禁止加载用户定义函数(udf),调度事件和安装插件语句中安装的插件。为了以任何方式来加载插件,使用--plugin-load选项。--skip-grant-tables选项也会导致disabled_storage_engines系统变量失效。
flush privileges语句可以在服务器启动后通过执行其它操作来隐式执行。例如在升级过程中mysql_upgrade程序就会刷新权限。
感谢各位的阅读,以上就是“分析mysqld的skip-grant-tables选项”的内容了,经过本文的学习后,相信大家对分析mysqld的skip-grant-tables选项这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是亿速云,小编将为大家推送更多相关知识点的文章,欢迎关注!
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。