<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0">
<channel>
<title><![CDATA[向东博客 专注WEB应用 构架之美 --- 构架之美，在于尽态极妍 | 应用之美，在于药到病除]]></title> 
<link>https://jackxiang.com/index.php</link> 
<description><![CDATA[赢在IT，Playin' with IT,Focus on Killer Application,Marketing Meets Technology.]]></description> 
<language>zh-cn</language> 
<copyright><![CDATA[向东博客 专注WEB应用 构架之美 --- 构架之美，在于尽态极妍 | 应用之美，在于药到病除]]></copyright>
<item>
<link>https://jackxiang.com/post//</link>
<title><![CDATA[[实践OK]mysql root 忘记密码强力修改 修改密码，Linux下MySQL 的root的密码忘记的解决办法，修改mysql密码的方法，给mysql的root空密码加上密码，localhost能连接127.0.0.1不能连接的授权命令。]]></title> 
<author>jack &lt;xdy108@126.com&gt;</author>
<category><![CDATA[WEB2.0]]></category>
<pubDate>Mon, 23 Nov 2009 01:38:13 +0000</pubDate> 
<guid>https://jackxiang.com/post//</guid> 
<description>
<![CDATA[ 
	/etc/my.cnf<br/>#skip-grant-tables=on<br/>update mysql.user set authentication_string=password(&#039;MyNewPass&#039;) where user=&#039;root&#039;; #成功<br/>select host,user,authentication_string from mysql.user;<br/>+-----------+-----------+-------------------------------------------+<br/>&#124; host&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#124; user&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#124; authentication_string&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &#124;<br/>+-----------+-----------+-------------------------------------------+<br/>&#124; localhost &#124; root&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#124; *xxx &#124;<br/>&#124; localhost &#124; mysql.sys &#124; *THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE &#124;<br/>&#124; 127.0.0.1 &#124; root&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#124; *xxx &#124;<br/>+-----------+-----------+-------------------------------------------+<br/> mysql db_eladmin &lt; /tmp/db_eladmin.sql<br/><br/>在打开skip-grant-tables后，这些语句在mysql-5.7基本上用不上了：<br/>mysql&gt; show grants;<br/>ERROR 1290 (HY000): The MySQL server is running with the --skip-grant-tables option so it cannot execute this statement<br/>mysql&gt; SET PASSWORD FOR &#039;root&#039;@&#039;localhost&#039; = PASSWORD(&#039;Asdfjkl;711&#039;);<br/>ERROR 1290 (HY000): The MySQL server is running with the --skip-grant-tables option so it cannot execute this statement<br/><br/>mysql修改root密码：<br/><textarea name="code" class="php" rows="15" cols="100">
mysql&gt;&nbsp;&nbsp;SET PASSWORD FOR &#039;root&#039;@&#039;localhost&#039; = PASSWORD(&#039;111111&#039;);
Query OK, 0 rows affected, 1 warning (0.01 sec)
mysql&gt; flush privileges;
Query OK, 0 rows affected (0.01 sec)
</textarea><br/>cat /root/.my.cnf <br/>[client]<br/>user=root<br/>password=111111<br/><br/><br/>问题一：Linux下MySQL 的root的密码忘记的解决办法加上&nbsp;&nbsp;--skip-grant-tables， 重新设置密码： <br/><textarea name="code" class="php" rows="15" cols="100">
/usr/sbin/mysqld --defaults-file=/etc/my.cnf&nbsp;&nbsp;&nbsp;&nbsp;--basedir=/usr/ --datadir=/data/mysql --plugin-dir=/usr/lib64/mysql/plugin --user=mysql --explicit-defaults-for-timestamp&nbsp;&nbsp;--user=mysql --log-error=/data/logs/mysql/mysql-error.log --open-files-limit=65535 --pid-file=/data/runpid/mysql/mysql.pid --socket=/data/runsock/mysql.sock --port=3306&nbsp;&nbsp;--skip-grant-tables
</textarea><br/>重新正常启动提示并解决办法如下，改密码为一样还是不行的登录不了 了，这块最新的版本可能是作了安全防范吧：<br/>ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.<br/>mysql&gt; alter user &#039;root&#039;@&#039;localhost&#039; identified by &#039;mysql&#039;;<br/>Query OK, 0 rows affected (0.00 sec)<br/>mysql&gt; flush privileges;<br/>Query OK, 0 rows affected (0.01 sec)<br/>mysql&gt; exitBye<br/><br/>再次提示修改密码和原密码一致进不了了怎么办？出现：<br/>ERROR 1290 (HY000): The MySQL server is running with the --skip-grant-tables option so it cannot execute this statement<br/>mysql&gt; GRANT ALL PRIVILEGES ON *.* TO IDENTIFIED BY &#039;123&#039; WITH GRANT OPTION;<br/>ERROR 1290 (HY000): The MySQL server is running with the --skip-grant-tables option so it cannot execute this statement<br/><br/>这个时候我们只需要flush privileges 一下，在添加用户就OK了，<br/><br/>mysql&gt; flush privileges;<br/>Query OK, 0 rows affected (0.01 sec)<br/> alter user &#039;root&#039;@&#039;localhost&#039; identified by &#039;mysql&#039;;<br/>ERROR 1396 (HY000): Operation ALTER USER failed for &#039;root&#039;@&#039;localhost&#039;，出现：MYSQL ERROR 1396 (HY000) 错误的解决办法 http://blog.sina.com.cn/s/blog_439f80c40100yoln.html<br/><br/>ERROR 1396 (HY000): Operation CREATE USER failed for &#039;jack&#039;@&#039;localhost&#039;,惹毛我了，我直接从其它机器上拷贝一个db目录带mysql表的过来，O了：scp -r mysql root@10.44.150.187:/data/.<br/>[root@iZ25z0ugwgtZ data]# mysql -uroot -p<br/>Enter password: <br/>Welcome to the MySQL monitor.&nbsp;&nbsp;Commands end with ; or &#92;g.<br/>Your MySQL connection id is 2<br/>Server version: 5.7.11-log MySQL Community Server (GPL)<br/><br/><br/>localhost能连接127.0.0.1不能连接的授权命令。<br/>Warning: mysqli_connect(): (HY000/1130): Host &#039;127.0.0.1&#039; is not allowed to connect to this MySQL server <br/>mysql&gt; grant all privileges on jackX_mysql.* to jackX@&quot;127.0.0.1&quot; identified by &quot;jackX2016&quot;;<br/>Query OK, 0 rows affected, 1 warning (0.00 sec)<br/><br/>mysql&gt; flush privileges;<br/>Query OK, 0 rows affected (0.00 sec)<br/><br/>[root@iZ25z0ugwgtZ config]# mysql -h127.0.0.1 -ujackX -p<br/>Enter password: <br/>Welcome to the MySQL monitor.&nbsp;&nbsp;Commands end with ; or &#92;g.<br/>Your MySQL connection id is 11<br/>Server version: 5.7.11-log MySQL Community Server (GPL)<br/><br/>mysql&gt; &#92;q<br/>Bye<br/>——————————————————————————————————————————————————————————<br/>这样的：<br/>一、RPM包的安装方式：<br/>&nbsp;&nbsp;&nbsp;&nbsp;1.关闭MySQL服务<br/>&nbsp;&nbsp;&nbsp;&nbsp; /etc/init.d/mysqld stop<br/>&nbsp;&nbsp;&nbsp;&nbsp;2.修改MySQL的启动文件<br/>&nbsp;&nbsp;&nbsp;&nbsp; vi /etc/init.d/mysqld<br/>&nbsp;&nbsp;&nbsp;&nbsp; 找到Start（）&#123;&nbsp;&nbsp; &#92;&#92;大概在43行左右<br/>&nbsp;&nbsp;&nbsp;&nbsp; 让后在下行加入<br/>&nbsp;&nbsp;&nbsp;&nbsp; /usr/bin/mysqld_safe --skip-grant-tables --datadir=&quot;$datadir&quot; --socket=&quot;$socketfile&quot; --log-error=&quot;$errlogfile&quot; --pid-file=&quot;$mypidfile<br/>&nbsp;&nbsp;&nbsp;&nbsp; 其中加入--skip-grant-tables的意思是启动MySQL服务的时候跳 过权限表认证。启动后，连接到MySQL的root不需要口令<br/>&nbsp;&nbsp;&nbsp;&nbsp; 3.重新启动MySQL服务<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/etc/init.d/mysqld start<br/>&nbsp;&nbsp;&nbsp;&nbsp; 4.修改root用户密码<br/>&nbsp;&nbsp;&nbsp;&nbsp; #mysql<br/>&nbsp;&nbsp;&nbsp;&nbsp; mysql&gt;update mysql.user set password=password（&#039;新密码&#039;）<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; -&gt;where user=root；<br/>&nbsp;&nbsp;&nbsp;&nbsp; mysql&gt; flush privileges；<br/>&nbsp;&nbsp;&nbsp;&nbsp; mysql&gt; quit<br/>&nbsp;&nbsp;&nbsp;&nbsp; 5.把/etc/init.d/mysqld 改回原状重新启动mysql 就可以使用新密码登陆了。<br/>&nbsp;&nbsp;&nbsp;&nbsp; 6.重新启动mysql 就可以使用新密码登陆了。<br/> 二、如果是源代码编译安装的话<br/>&nbsp;&nbsp;&nbsp;&nbsp; 1.stop数据库<br/>&nbsp;&nbsp;&nbsp;&nbsp; service mysqld stop<br/>&nbsp;&nbsp;&nbsp;&nbsp; 2.找到源代码编译安装的路径我的是/usr/local/mysql<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;#cd /usr/local/mysql<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;#bin/mysqld_safe --skip-grant-tables &amp;<br/>&nbsp;&nbsp;&nbsp;&nbsp; 3.启动之后就可以不需要密码进入mysql了<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;#mysql<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;mysql&gt;use mysql;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;mysql&gt;update user set password=password(&#039;new_password&#039;)<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;-&gt;where user=&#039;root&#039;;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;mysql&gt;flush privileges;<br/>&nbsp;&nbsp;&nbsp;&nbsp; 4.重启mysql，就可以用新密码登陆了。<br/> <br/>其实最主要的就是在启动的时候要加上--skip-grant-tables 这样就可以实现无密码登陆了。<br/>&nbsp;&nbsp;&nbsp;&nbsp;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 祝大家好运！！！<br/>摘自：http://blog.chinaunix.net/uid-23397996-id-115499.html<br/><br/><br/><br/>问题二：相关直接修改Mysql的密码问题答疑<br/>问：password=password(&quot;new_pass&quot;)&nbsp;&nbsp; 等号后为什么要加password?<br/>答：后面那个password应该是个加密函数，用来加密你输入的密码<br/>-------------MYSQL安装问题无密码，如何添加密码？---------------<br/>没有密码为MYSQL加密码：<br/>mysql -uroot -p<br/>回车<br/>提示输入密码，为空回车<br/>update mysql.user set password=PASSWORD(&#039;122198&#039;) where user=&#039;root&#039;;<br/>刷新权限表，输入如下命令<br/>flush privileges;<br/>退出<br/>quit<br/>------------------------实践如下：---------------------------------------------------------<br/>mysql&gt; update mysql.user set password=PASSWORD(&#039;WXXXXX5v&#039;) where user=&#039;root&#039;;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br/>Query OK, 4 rows affected (0.00 sec)<br/>mysql&gt; flush privileges;<br/>Query OK, 0 rows affected (0.06 sec)<br/>MYSQL 修改root密码命令<br/>------------------------------------------------------------------------------------------------<br/>cmd下切换到 mysql 安装目录<br/>例<br/>d:/mysql/bin<br/>前提：mysql用户root密码为空.<br/>输入 mysql -u root mysql <br/>mysql&gt; 状态下输入 update user set password=password(&#039;新密码&#039;) where user=&#039;root&#039;; <br/>回显 <br/>Query OK, 0 rows affected (0.00 sec) <br/>Rows matched: 2 Changed: 0 Warnings: 0 <br/>mysql&gt; 状态下输入 FLUSH PRIVILEGES; <br/>回显<br/>Query OK, 0 rows affected (0.00 sec)<br/>mysql&gt; 状态下输入 quit <br/>退出 sql <br/>注意每个命令后都要加上一个分号 &quot;;&quot; <br/>mysql 才开始执行该行命令<br/>而第二个指令会让已载入记忆体的 mysql 系统资料库更新 <br/>重起 mysql .<br/>在更新 root 密码後，日後要与 MySQL 连线的方法为： <br/>mysql -uroot -p新密码<br/>==================================================<br/>忘记mysql 的root 密码： <br/>先确认已经杀掉mysqld 进程了，然后执行这个 <br/>/usr/bin/safe_mysqld --skip-grant-tables &amp; <br/>再这样登录 <br/>mysql -h 192.168.1.2 -u root <br/>上边的192.168.1.2 是cloud 的mysqld 运行机器，你换成自己的，这样登录上 <br/>去，就可以修改密码了。 <br/>修改密码 <br/>1.mysql -h hostname –u root 命令登录到mysqld server 用grant 命令改变口令: <br/>grant all privileges on DBNAME.* to USERNAME@localhost identified by &#039;PASSWORD&#039;<br/>2. mysqladmin -u 用户名-p 旧密码password 新密码 <br/>例1：给root 加个密码ab12。首先在DOS 下进入目录mysqlbin，然后键入 <br/>以下命令 <br/>mysqladmin -uroot password ab12 <br/>注：因为开始时root 没有密码，所以-p 旧密码一项就可以省略了。 <br/>2、例2：再将root 的密码改为djg345。 <br/>mysqladmin –u root -pab12 password djg345 (注意-p 不要和后面的密码分 <br/>开写，要写在一起) <br/>3. <br/>use mysql; update user set password =password(&#039;yourpass&#039;) where user=&#039;r <br/>oot&#039; <br/>4. 载入权限表： `mysqladmin -h hostname flush-privileges&#039; ，或者使 <br/>用SQL 命令`FLUSH PRIVILEGES&#039;。（当然，在这里，你也可以重启mysqld。） <br/>mysql 的建库，添加数据方法： <br/>mysqi –u root <br/>mysql&gt;create database ttt; <br/>mysql&gt;source 1.txt <br/>mysql&gt;load data local infile &quot;2.txt&quot; into table board; <br/>1.txt 内容: <br/>CREATE TABLE board ( <br/>boardid int(11) NOT NULL auto_increment, <br/>boardname char(255), <br/>PRIMARY KEY (boardid) <br/>); ...... <br/><br/><br/><br/><br/>-------------------------------------------------------------------------------------------------------------<br/>1. 使用phpmyadmin，这是最简单的了，修改mysql库的user表,不过别忘了使用PASSWORD函数。<br/>2. 使用mysqladmin， mysqladmin -u root -p password mypasswd<br/>3. mysql&gt; REPLACE INTO mysql.user (Host,User,Password) VALUES(&#039;%&#039;,&#039;username&#039;,PASSWORD(&#039;password&#039;));<br/>mysql&gt; FLUSH PRIVILEGES<br/>4. mysql&gt; SET PASSWORD FORusername@&quot;%&quot; = PASSWORD(&#039;password&#039;);<br/>这里的username是要修改的用户名称。<br/>5. mysql&gt; GRANT USAGE _disibledevent=&#039;mailto:username@&quot;%&#039;&gt;username@&quot;%&quot; IDENTIFIED BY &#039;password&#039;;<br/>这里的username是要修改的用户名称。&nbsp;&nbsp;<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;最后找到了修改遗失的MySQL的ROOT用户密码，嘿嘿好使了<br/><br/>如果忘记了 MySQL 的 root 密码，可以用以下方法重新设置：<br/><br/><br/>1. KILL掉系统里的MySQL进程；<br/><br/>2. 用以下命令启动MySQL，以不检查权限的方式启动；<br/><br/>mysqld_safe -skip-grant-tables &amp;<br/><br/>3. 然后用空密码方式使用root用户登录 MySQL；<br/><br/>mysql -u root<br/><br/>4. 修改root用户的密码；<br/>mysql&gt; update mysql.user set password=PASSWORD(&#039;新密码&#039;) where User=&#039;root&#039;; <br/>mysql&gt; flush privileges; <br/>mysql&gt; quit <br/><br/>5. 重新启动MySQL，就可以使用新密码登录了。<br/><br/>添加<br/>可以设置同一个用户在不同的ip限定下，不同密码来访问，如：root，可以在192.168.38.70上访问：<br/><br/><div class="code">GRANT ALL PRIVILEGES ON *.* TO &#039;root&#039;@&#039;192.168.38.70&#039; IDENTIFIED BY &#039;ads_root&#039;;<br/> FLUSH PRIVILEGES;</div><br/>也可以在其他机器上访问：root，可以在192.168.38.30上访问：<br/><br/><div class="code">GRANT ALL PRIVILEGES ON *.* TO &#039;root&#039;@&#039;192.168.38.30&#039; IDENTIFIED BY &#039;ads_root&#039;;<br/> FLUSH PRIVILEGES;</div><br/>就是统一用户，但授权访问密码可以不同，也可以相同，但IP段不同。
]]>
</description>
</item><item>
<link>https://jackxiang.com/post//#blogcomment</link>
<title><![CDATA[[评论] [实践OK]mysql root 忘记密码强力修改 修改密码，Linux下MySQL 的root的密码忘记的解决办法，修改mysql密码的方法，给mysql的root空密码加上密码，localhost能连接127.0.0.1不能连接的授权命令。]]></title> 
<author> &lt;user@domain.com&gt;</author>
<category><![CDATA[评论]]></category>
<pubDate>Thu, 01 Jan 1970 00:00:00 +0000</pubDate> 
<guid>https://jackxiang.com/post//#blogcomment</guid> 
<description>
<![CDATA[ 
	
]]>
</description>
</item>
</channel>
</rss>