How To Fix “The server quit without updating PID file ” When start Mysql

第一,先要找到真实的错误原因。这个错误仅仅只是反应了,启动mysql失败,没有写pid文件便退出了。其他的并没有多说什么,可是为什么会发生这么滑稽的事情呢?
我们来看看support-files里的mysql.server这个文件吧(通常会用它来启动mysql服务):第283行,出现错误的时候,它默认就抛弃了/dev/null,(如果不是用它启动而是用mysql_safe启动,通常的问题就已经解决了,因为会直接告诉你错在哪)。这里改一下,变成$basedir/err.log 这样就知道了真实的错误原因。

第二,顺着真实的错误原因来修正错误,就能解决了。我这里遇见的是

touch: 无法创建"/var/log/mariadb/mariadb.log": 没有那个文件或目录
chown: 无法访问"/var/log/mariadb/mariadb.log": 没有那个文件或目录
chmod: 无法访问"/var/log/mariadb/mariadb.log": 没有那个文件或目录


所以比较简单,直接

mkdir /var/log/mariadb

然后就可以正确启动mysql了。

Solution : How to install ssh2 php7 extension

php7 has lots of cool features. But before upgrading to php7 we must have tested whether all extensions works perfectly or not. Today I faced a strange error while installing ssh2 PECL package using pecl command.
After so much research I found the solution and like to share this with you people.

Problem
when I tried to install ssh2 php extension with php7 it showed me an error
pecl/ssh2 requires PHP (version >= 4.0.0, version <= 6.0.0), installed version is 7.0.0RC4 Solution
1- Install Linux package lib-ssh2 on your machine which is the only dependency for php-ssh2.
For ubuntu
sudo apt-get install libssh2–1-dev libssh2–1
From source
Download the source from lib ssh2 official site and install .
2- Download the php7 branch source of php ssh2 from
wget https://github.com/Sean-Der/pecl-networking-ssh2/archive/php7.zip
3- unzip the zip file.
unzip pecl-networking-ssh2-php7.zip
4- Enter into the unzipped directory
cd pecl-networking-ssh2-php7
5- Prepare build environment for this extension using phpize. It will create all required file and folder structure and configure file for our extension
phpize
6- Then check configuration
./configure
7- Make our extension using
sudo make
8- Install the extension using
sudo make install.

Conclusion
Hope this will solve your problem. If not, please share the problem you have faced. It will help others.

This blog is from Sanjog Kumar Dash Thanks for this!

Problems connected monitor linux kernel number

echo 1000 >/proc/sys/net/core/somaxconn 这个数字控制的是内核的监听数,这个数越大越好,带来的也是负载

内核参数overcommit_memory
它是 内存分配策略
可选值:0、1、2。
0, 表示内核将检查是否有足够的可用内存供应用进程使用;如果有足够的可用内存,内存申请允许;否则,内存申请失败,并把错误返回给应用进程。
1, 表示内核允许分配所有的物理内存,而不管当前的内存状态如何。
2, 表示内核允许分配超过所有物理内存和交换空间总和的内存
echo 1 > /proc/sys/vm/overcommit_memory

Server link limit

worker_rlimit_nofile 65535
Accidentally discovered how familiar figure, here defined to limit the number of files open, think ulimit parameters like

ulimit -n yep! Not optimized to display the default 1024

echo '* - nofile 65535' >> /etc/security/limits.conf

ulimit -HSn 65535

also
ulimit -SHn 65535 add into /etc/rc.local Then each restart to take effect

Mysql dump commend note

1) dump all database
mysqldump -u user_name -p123456 database_name > outfile_name.sql

2) dump a table
mysqldump -u user_name -p database_name table_name > outfile_name.sql

3) dump a data struct
mysqldump -u user_name -p -d –add-drop-table database_name > outfile_name.sql
-d –add-drop-table

4) dump with language
mysqldump -uroot -p –default-character-set=latin1 –set-charset=gbk –skip-opt database_name > outfile_name.sql

SSL cannot be found

Question:
Changed current directory to /home/888/.composer
./composer.json has been updated
Loading composer repositories with package information
The “https://packagist.org/packages.json” file could not be downloaded: SSL operation failed with code 1. OpenSSL Error messages:
error:14090086:SSL routines:SSL3_GET_SERVER_CERTIFICATE:certificate verify failed
Failed to enable crypto
failed to open stream: operation failedhttps://packagist.org could not be fully loaded, package information was loaded from the local cache and may be out of dateUpdating dependencies (including require-dev)
Nothing to install or update
Generating autoload files

answerd from
First:

Check certificate file location which will be in default_cert_file key, you will found it in openssl_get_cert_locations() its php openssl function:
$ php -r "print_r(openssl_get_cert_locations());"
Array
(
[default_cert_file] => /opt/lampp/share/openssl/cert.pem
[default_cert_file_env] => SSL_CERT_FILE
[default_cert_dir] => /opt/lampp/share/openssl/certs
[default_cert_dir_env] => SSL_CERT_DIR
[default_private_dir] => /opt/lampp/share/openssl/private
[default_default_cert_area] => /opt/lampp/share/openssl
[ini_cafile] =>
[ini_capath] =>
)

Second:
Download http://curl.haxx.se/ca/cacert.pem:

Third:
Copy certificate PEM file into default_cert_file location:

$ sudo mv cacert.pem /opt/lampp/share/openssl/cert.pem

at latest: restart web service

I hope anything after that should goes fine with you brothers.