mysql数据库常见错误及解决方案

论坛 期权论坛     
选择匿名的用户   2021-5-28 02:18   25   0
<div class="content" id="articleContent">
<div class="ad-wrap">
  <p><a href="https://my.oschina.net/u/2663968/blog/3061697" style="color:#A00;font-weight:bold;">2019独角兽企业重金招聘Python工程师标准&gt;&gt;&gt; </a> <img alt="hot3.png" src="https://beijingoptbbs.oss-cn-beijing.aliyuncs.com/cs/5606289-cf0d92129138e2c138e143696168013a.png"></p>
</div>
<p><span style="color:#FF0000;">1、MySQL无法重启问题解决Warning: World-writable config file ‘/etc/my.cnf’ is ignored</span></p>
<p><span style="color:#B22222;">原因:</span></p>
<p>今天帮朋友维护服务器,在关闭数据库的命令发现mysql关不了,提示Warning: World-writable config file &#39;/etc/my.cnf&#39; is ignored ,大概意思是权限全局可写,任何一个用户都可以写。mysql担心这种文件被其他用户恶意修改,所以忽略掉这个配置文件。这样mysql无法关闭。</p>
<table border="1" cellpadding="0" cellspacing="0"><tbody><tr><td>2<br> 3<br> 4</td><td>[root&#64;ttlsa ~]# service mysqld stop<br> Warning: World-writable config file &#39;/etc/my.cnf&#39; is ignored<br> Warning: World-writable config file &#39;/etc/my.cnf&#39; is ignored<br> MySQL manager or server PID file could not be found![FAILED]</td></tr></tbody></table>
<p>查看my.cnf的权限</p>
<table border="1" cellpadding="0" cellspacing="0"><tbody><tr><td>1<br> 2</td><td>[root&#64;ttlsa ~]# ls -l /etc/my.cnf<br> -rwxrwxrwx 1 root root 4878 Jul 30 11:31 /etc/my.cnf</td></tr></tbody></table>
<p>权限777,任何一个用户都可以改my.cnf,存在很大的安全隐患.</p>
<p><span style="color:#008000;">解决方案:</span></p>
<p>修复MySQL问题</p>
<table border="1" cellpadding="0" cellspacing="0"><tbody><tr><td>1</td><td>[root&#64;ttlsa ~]# chmod 644 /etc/my.cnf</td></tr></tbody></table>
<p>my.cnf设置为用户可读写,其他用户不可写.</p>
<p><span style="color:#FF0000;">2、Can&#39;t connect to MySQL server on &#39;localhost&#39; (10061)</span></p>
<p><span style="color:#B22222;">原因:</span>不能连接到 localhost 上的mysql</p>
<p>解决方案:这说明“localhost”计算机是存在的,但在这台机器上却没提供MySQL服务。</p>
<p>需要启动这台机器上的MySQL服务,如果机子负载太高没空相应请求也会产生这个错误。</p>
<p>解决:既然没有启动那就去启动这台机子的mysql。如果启动不成功,多数是因为你的my.ini配置的有问题。重新配置其即可。</p>
<p>如果觉得mysql负载异常,可以到mysql/bin 的目录下执行mysqladmin -uroot -p123 processlist来查看mysql当前的进程。</p>
<p><span style="color:#FF0000;">3、Unknown MySQL Server Host &#39;localhosadst&#39; (11001)</span></p>
<p>原因:未知的MySQL服务器 localhosadst,服务器 localhosasdst 不存在。或者根本无法连接</p>
<p>解决方案:仔细检查自己论坛下面的 ./config.inc.<a href="http://www.ttlsa.com/php/">php</a> 找到$dbhost重新设置为正确的mysql 服务器地址。</p>
<p><span style="color:#FF0000;">4、Access denied for user: &#39;roota</span><a href="https://my.oschina.net/u/570656">&#64;localhost</a><span style="color:#FF0000;">&#39; (Using password: YES)</span></p>
<p>原因:用户 roota 访问 localhost 被拒绝(没有允许通过),造成这个错误一般数据库用户名和密码相对mysql服务器不正确</p>
<p>解决方案:仔细检查自己论坛下面的 ./config.inc.php 找到$dbuser、$dbpw核实后重新设置保存即可。</p>
<p><span style="color:#FF0000;">5、Access denied for user: &#39;red</span><a href="https://my.oschina.net/u/570656">&#64;localhost</a><span style="color:#FF0000;">&#39; to database &#39;newbbs&#39;</span></p>
<p><span style="color:#B22222;">原因:</span>用户 red 在localhost 服务器上没有权限操作数据库newbbs</p>
<p>这个提示和问题三是不同的。那个是在连接数据库的时候就被阻止了,而这个错误是在对数据库进行操作时引起的。比如在select update等等。这个是因为该用户没有操作数据库相应的权力。比如select 这个操作在mysql.user.Select_priv里记录 Y 可以操作N 不可以操作。</p>
<p><span style="color:#008000;">解决方案:</span>如果是自己的独立主机那么更新mysql.user 的相应用户记录,比如这里要更新的用户为red 。或者直接修改 ./config.inc.php 为其配置一个具有对数据库操作权限的用户</p>
<p>或者通过如下的命令来更新授权grant all privileges on dbname.* to &#39;user&#39;&#64;&#39;localhost&#39; identified by &#39;password’</p>
<p>提示:更新了mysql库中的记录一定要重启mysql服务器才能使更新生效</p>
<p>FLUSH PRIVILEGES;</p>
<p><span style="color:#FF0000;">6、No Database Selected</span></p>
<p><span style="color:#B22222;">原因:</span>产生的原因有两种</p>
<p>config.inc.php 里面$dbname设置的不对。致使数据库根本不存在,所以在 $db-&gt;select_db($dbname); 时返回了false</p>
<p>和上面问题四是一样的,数据库用户没有select权限,同样会导致这样的错误。当你
分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:3875789
帖子:775174
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP