CentOS下MySQL忘记root密码解决方法

CentOS下mysql忘记root密码解决方法

1.首先确认服务器出于安全的状态,也就是没有人能够任意地连接MySQL数据库。
因为在重新设置MySQL的root密码的期间,MySQL数据库完全出于没有密码保护的
状态下,其他的用户也可以任意地登录和修改MySQL的信息。可以采用将MySQL对
外的端口封闭,并且停止Apache以及所有的用户进程的方法实现服务器的准安全
状态。最安全的状态是到服务器的Console上面操作,并且拔掉网线。

2.修改MySQL的登录设置:
# vim /etc/my.cnf
在[mysqld]的段中加上一句:skip-grant-tables
例如:
[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
skip-grant-tables
保存并且退出vi。

3.重新启动mysqld
# service mysqld restart
Stopping MySQL: [ OK ]
Starting MySQL: [ OK ]

4.登录并修改MySQL的root密码
# mysql
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 3 to server version: 3.23.56
Type ‘help;’ or ‘\h’ for help. Type ‘\c’ to clear the buffer.
mysql> USE mysql ;
Database changed
mysql> UPDATE user SET Password = password ( ‘new-password’ ) WHERE User = ‘root’ ;
Query OK, 0 rows affected (0.00 sec)
Rows matched: 2 Changed: 0 Warnings: 0
mysql> flush privileges ;
Query OK, 0 rows affected (0.01 sec)
mysql> quit

5.将MySQL的登录设置修改回来
# vim /etc/my.cnf
将刚才在[mysqld]的段中加上的skip-grant-tables删除
保存并且退出vim

6.重新启动mysqld
# service mysqld restart
Stopping MySQL: [ OK ]
Starting MySQL: [ OK ]

专治无耻的tadb.exe,kadb.exe等各种XXXadb.exe

最近在试着搞android基于webview的开发,因为是小白,遇到了这个 tadb.exe 占用 adb.exe 端口的问题,这是搜刮来的解决办法。

这是一篇我个人在EOE发的blog《专治无耻的tadb.exe,kadb.exe等各种XXXadb.exe》,由于eoe的blog系统实在是无言以对,我就把eoe上面的帖子以及blog是都转到csdn上来,

用自己电脑想学点东西,但是adb进程总是被各种xxxadb.exe进程抢占,好烦,下面给出治他们的办法:

1、手机连上之后让tadb启动一次
2、然后去任务管理器中看tadb进程,右键->查看属性,看他的位置在哪,然后找到这个位置
;3、找到目录之后就可以看到tadb.exe文件,结束tadb.exe进程,然后将你找到的tadb.ext文件删除
4、然后新建一个文本之类的文件,修改文件名为tadb.exe(ps:你的文件夹选项要显示文件后缀)
如果,还不行的话,就操作完上面的步骤之后,将该文件夹里的文件全部删除,然后用管理员权限,将该文件夹设置为只读

PS:我的是win8系统,可能找位置的方法会不一样,大家自己试试,而且这种办法估计也不是永久的,先暂时用着吧,如果升级程序的时候,报文件不让写,直接点忽略就OK了

文章原址:https://blog.csdn.net/lsmfeixiang/article/details/42213441

Android ADB server didn’t ACK * failed to start daemon * 简单有效的解决方案

感谢给出这篇文章的博主,这是标准的授之于渔

转自:https://blog.csdn.net/xiaanming/article/details/9401981

ADB server didn’t ACK 这个问题会困恼很多的新手朋友,我以前刚开始做Android的时候也遇到过这个问题,不过自己百度,google啥的,也不知道怎么就给解决了,看到群里很多新手朋友都会问这个问题,说实话我也没有一个解决这个问题的终极方法(百试百灵的那种,哈哈),自己没遇到也没有认真的去对待他,今天,就是在今天,我打开Eclipse连上手机,准备调试程序,出现如下的信息

The connection to adb is down, and a severe error has occured.
You must restart adb and Eclipse.
Please ensure that adb is correctly located at ‘D:\android-2.2-windows\platform-tools\adb.exe’ and can be executed.

然后我就按照他的要求来做,重启Eclipse和adb,然后确认adb的路径是否正确,然后当我再次运行程序的时候,依旧不行,之后我就开始百度了,有朋友说先在DOS下运行adb kill-server(你必须在环境变量中配好你adb的路径或者进入到adb.exe的目录下),然后在adb start-server,当我运行adb start-server的时候,DOS出现如下信息

* daemon not running. starting it now *
ADB server didn‘t ACK
* failed to start daemon *

然后在运行程序还是不行,重复搞了很多次老不行,还有朋友说在任务管理器找到adb.exe,然后关闭,重启Eclipse,我打开任务管理器,发现根本没有找到adb.exe,这时候我流泪满面了,然后我冷静下来,知道有些朋友遇到这个错误是因为豌豆荚啥的软件占用了adb.exe的端口,我的电脑里面根本没有安装豌豆荚,然后我想看看是谁占用adb的端口,我从网上查到adb.exe使用的端口是5037,接下来我给大家介绍解决方法

  • 查看5037端口被谁占用了,开始–运行–CMD 到命令提示符,输入 netstat -aon|findstr “5037”,如下图                                                                          
  • 我们从上面根本就看不出5037端口被谁占用,我们需要根据后面的PID(2748)来查找占用该端口的应用程序,输入 tasklist|findstr “2748” ,如下图                                                                                                                                                                                                                                                                                                      注: 我这里5037端口是正确的被adb.exe占用,如果是你,就是其他的应用程序啦
  • 结束该进程,输入taskkill /f /t /im 你的进程名,例如adb.exe,如下图,在重新连接手机,这时候你会发现程序运行起来了                                    

这个问题虽然不是什么很大的问题,但是对于新手来说也是属于比较棘手的问题,所以我将自己解决此问题的方法在这里记录下,希望能给遇到此问题的人一点点帮助,如果我写得文章对你一点帮助请帮我顶一下文章,谢谢!

contos 搭建 shadowsocks 服务

搭建一个代理服务器

进入内部网络,访问公司内部服务器,除了采用 VPN 的方式,也可以采用代理服务器的方式。

代理服务器英文全称是(Proxy Server),其功能就是作为用户的中转站去获取网络信息。代理服务器就好象一个大的 Cache,这样就能显著提高浏览速度和效率。这次介绍一个代理服务器的软件 Shadowsocks。

Shadowsocks 以下简称 ss ,它和 VPN 是有区别的,这里先介绍一下,我们主要是学习安装配置客户端和服务器端的流程。

4.1 Shadowsocks 介绍

Shadowsocks 是将以前通过 SSH 创建的 Socks5 协议拆开成 Server 端和 client 端,PC 客户端(即你电脑客户端)发出基于 Socks5 协议请求与 SS-Local 端进行通讯,SS-Local 和 SS-Server 两端通过多种可选的加密方法进行通讯,SS-Server 将收到的加密数据进行解密,还原初始请求,再发送到用户需要访问的服务网站,获取响应原路再返回 ,返回的数据包内容依然使用了加密,而 IP 报文看起来依然是普通 TCP 包,可成功穿过防火墙。

 

因此,Shadowsocks 的优点在于它解决了防火墙通对 IP 报文中一些特定的目的地址的排除,从而干扰的问题。

4.2 安装配置 ss 服务器端,首先去搬瓦工上买一个国外的服务器。很便宜

  • 由于 ss 加入了 python 官方的源,所以打开终端,输入以下命令安装即可:
sudo pip install shadowsocks #保证 pip 已安装
  • 使用方法 :
mkdir /etc/shadowsocks.json
vi /etc/shadowsocks.json # 写入下方内容
{
  "server": "0.0.0.0",
  "server_port": 8388,
  "password": "uzon57jd0v869t7w",
  "method": "aes-256-cfb"
}
ssserver -c /etc/shadowsocks.json #将该内容写入shadowsocks.sh 脚本文件
./shadowsocks.sh > /dev/null 2>&1 &
#执行上面的命令,shadowsocks服务就启动起来了

linux 安装php swoole 扩展

方案一

swoole目前已经加入php的官方扩展库

即是说它已经是PHP的一枚扩展了

所以我们这里可以使用一种更便捷的安装方式

pecl install swoole

不过这种方式需要本机的phpize支持

这里我没有使用这种方式,具体的问题跟流程就不说了

总之它需要你前置phpize支持

这种方式安装结束后需要在php.ini文件中添加扩展

extension=swoole.so

方案二

首先我们需要下载swoole到我们本地

这里我偷懒直接下到本地在传到服务器上了

在linux下cd到目标目录里

 ./configure --with-php-config=/usr/bin/php-config
 //这里(/usr/bin/php-config)是你的php-config文件的路径
 

sudo make

sudo make install

这一步如果没有报错的话就安装成功了(仿佛说了句废话)

安装好后我们来测试一下是否安装成功

php -m

如果能看到swoole就表示安装成功了

—————————————分割线————————————

怎样让swoole在后台运行呢?采用xshell等工具远程连接服务器的小伙伴发现就算在命令后面加上“&”符号,退出远程连接终端后,依然就连不上了。

这个问题很好解决,只要加上“nohup” 命令就行了:
nohup /usr/local/php/bin/php  swoole.php >> log_dir.log 2>&1 &

好了就先到这吧- –

linux 下安装jdk

linux 下安装jdk

用yum安装JDK

-1.查看是否安装了jdk

[root@localhost java]# java -version

bash: java: command not found

 

1.查看yum库中都有哪些jdk版本(暂时只发现了openjdk)

[root@localhost ~]# yum search java|grep jdk
ldapjdk-javadoc.x86_64 : Javadoc for ldapjdk
java-1.6.0-openjdk.x86_64 : OpenJDK Runtime Environment
java-1.6.0-openjdk-demo.x86_64 : OpenJDK Demos
java-1.6.0-openjdk-devel.x86_64 : OpenJDK Development Environment
java-1.6.0-openjdk-javadoc.x86_64 : OpenJDK API Documentation
java-1.6.0-openjdk-src.x86_64 : OpenJDK Source Bundle
java-1.7.0-openjdk.x86_64 : OpenJDK Runtime Environment
java-1.7.0-openjdk-demo.x86_64 : OpenJDK Demos
java-1.7.0-openjdk-devel.x86_64 : OpenJDK Development Environment
java-1.7.0-openjdk-javadoc.noarch : OpenJDK API Documentation
java-1.7.0-openjdk-src.x86_64 : OpenJDK Source Bundle
java-1.8.0-openjdk.x86_64 : OpenJDK Runtime Environment
java-1.8.0-openjdk-demo.x86_64 : OpenJDK Demos
java-1.8.0-openjdk-devel.x86_64 : OpenJDK Development Environment
java-1.8.0-openjdk-headless.x86_64 : OpenJDK Runtime Environment
java-1.8.0-openjdk-javadoc.noarch : OpenJDK API Documentation
java-1.8.0-openjdk-src.x86_64 : OpenJDK Source Bundle
ldapjdk.x86_64 : The Mozilla LDAP Java SDK

2.选择版本,进行安装

//选择1.7版本进行安装
[root@localhost ~]# yum install java-1.7.0-openjdk
//安装完之后,默认的安装目录是在: /usr/lib/jvm/java-1.7.0-openjdk-1.7.0.75.x86_64

3.设置环境变量

[root@localhost ~]# vi /etc/profile

在profile文件中添加如下内容

#set java environment
JAVA_HOME=/usr/lib/jvm/java-1.7.0-openjdk-1.7.0.75.x86_64
JRE_HOME=$JAVA_HOME/jre
CLASS_PATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib
PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin
export JAVA_HOME JRE_HOME CLASS_PATH PATH

让修改生效

[root@localhost java]# source /etc/profile

4.验证

[root@localhost java]# java -version

java version “1.7.0_181”
OpenJDK Runtime Environment (rhel-2.6.14.8.el6_9-x86_64 u181-b00)
OpenJDK 64-Bit Server VM (build 24.181-b00, mixed mode)

 

 

php.ini文件神秘失踪

win_10 系统下wampserver中的php.ini文件神秘失踪,没有发现文件失踪的原因,在此留个记录。

我的系统是win_10系统,安装的是wampserver_3.1.3 ,32位的版本,今天早上启动系统后,开启wampserver,然后运行本地的开发项目,发现报错。错误信息大致的意思是说没有发现:Phalcon\Config\Adapter\Php  这个类。

这个是phalcon框架用来载入配置文件的啊,怎么会找不到这个类呢,近两天没有更新相关的东西,找不到类肯定是phalcon载入出问题了。

phpinfo(),查看信息发现phalcon模块不在了,查看ext文件夹下,phalcon.dll扩展还在,再看信息中,显示php.ini文件不存在。进入wampserver目录中php.ini文件的目录,发现php.ini文件确实不见了。我很确认最近相关的东西都没动过,并且昨天直到下班,我的wampserver还是可以正常运行的。

将原始的php.ini文件拷贝一份到配置目录,重新写入extension=phalcon;后问题解决。

问题解决了,疑惑没有解决,考虑到系统自行删除php.ini文件的可能性应该没有,想到是不是杀毒软件隔离了,查看也不是。全盘杀毒也没有发现病毒,再说,有什么病毒会专门针对wampserver的php.ini文件?

最终没有发现php.ini文件消失的原因,在此留个记录。

php将长数字串变成短字符串

php将长数字串变成短字符串的方法,可用于id转化等

php将长数字串变成短字符串的方法,可用于id转化等。

$str="0abcdefghijklmnopqrstuvwxyz123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ";
/**
  * 将数字转为短字符串
  *
  * @param int $number 数字
  * @return string 短字符串
  */
public function generate_code($number) {
	$out  = "";
	$codes = $this->str;
	while ($number > 61) {
		$m = $number % 62;
		$out = $codes[$m].$out;
		$number = ($number - $m) / 62;
	}
	return $codes[$number].$out;
}
/**
 * 将短字符串转为数字
 *
 * @param string $string短字符串
 * @return int 数字
 */
public function get_num($string){
	$codes = $this->str;
	$num = 0;
	for($i=0;$i<strlen($string);$i++){
		$n = strlen($string) - $i -1;
		$pos = strpos($codes,$string[$i]);
		$num += $pos * pow(62, $n);
	}
	return $num;
}

 

php 编译安装扩展时内存不足

linux内存不足,添加虚拟内存的方法

阿里云下,php编译最新版本phalcon框架扩展时,编译失败,提示系统内存不足。

采用扩展虚拟内存的方法来解决问题

free -h // free命令查看当前系统内存

dd if=/dev/zero of=/tmp/swap bs=1024 count=1024000 // 创建swap文件,大小1G,文件越大,创建的时间越长 文件路径可自定义(/tmp/swap)比如/home/swapfile

du -h /tmp/swap // 查看创建的swap文件的大小

mkswap /tmp/swap // 将swap文件转换为swap格式

swapon /tmp/swap // 将swap文件挂载在swap分区

free -h // 再次查看内存大小发现虚拟内存已经扩展成功

vi /etc/fstab // 为了防止重启后新建立的分区被清零,要修改/etc/fstab文件,在文件末尾加上下面一行
/tmp/swap swap swap default 0 0

再次make,编译成功