存档

文章标签 ‘mysql’

MySQL与MongoDB的操作对比

2015年8月5日 没有评论

MySQL与MongoDB都是开源的常用数据库,但是MySQL是传统的关系型数据库,MongoDB则是非关系型数据库,也叫文档型数据库,是一种NoSQL的数据库。它们各有各的优点,关键是看用在什么地方。

以我们公司项目为例,在早期的项目中,都在使用关系型数据库,用过SQLServer,Oracle,DB2,后来全部转向Mysql,原因很简 单:Mysql在性能不错的情况下,有着开源优势。Mysql的事务性与高性能是我们主要考虑的。后来,由于项目要用到用户系统,即会有大量的用户数据进 行交互--海量存储,Mysql的读写速度会有一点瓶颈,于是我们就想到了最近发展很强势的Nosql。在Nosql早期的memcache的发展下,又 出现了很多非关系型数据库,比如redis,mongodb。经过一段时间的测试,redis与mongodb的读写速度确实比Mysql有着很明显的优 势。mongodb的写入速度大约2.5W/次每秒。

mongodb以BSON结构(二进制)进行存储,对海量数据存储有着很明显的优势。下面是Mongodb与Mysql的操作命令的对比。

作用 MySQL MongoDB
服务器守护进程 mysqld mongod
客户端工具 mysql mongo
逻辑备份工具 mysqldump mongodump
逻辑还原工具 mysql mongorestore
数据导出工具 mysqldump mongoexport
数据导入工具 source mongoimport
新建用户并授权 grant all on *.*
to username@’localhost’
identified by ‘passwd’;
db.addUser(“user”,”psw”)
db.auth(“user”,”psw”)
显示库列表 show databases; show dbs
进去库 use dbname; use dbname
显示表列表 show tables; show collections
查询主从状态 show slave status; rs.status
创建库 create database name; 无需单独创建,直接use进去
创建表 create table tname(id int); 无需单独创建,直接插入数据
删除表 drop table tname; db.tname.drop()
删除库 drop database dbname; 首先进去该库,db.dropDatabase()
插入记录 insert into tname(id) value(2); db.tname.insert({id:2})
删除记录 delete from tname where id=2; db.tname.remove({id:2})
修改/更新记录 update tname set id=3
where id=2;
db.tname.update({id:2},
{$set:{id:3}},false,true)
查询所有记录 select * from tname; db.tname.find()
查询所有列 select id from tname; db.tname.find({},{id:1})
条件查询 select * from tname where id=2; db.tname.find({id:2})
条件查询 select * from tname where id < 2; db.tname.find({id:{$lt:2}})
条件查询 select * from tname where id >=2; db.tname.find({id:{$gte:2}})
条件查询 select * from tname where id=2
and name=’steve’;
db.tname.find({id:2,
name:’steve’})
条件查询 select * from tname where id=2
or name=’steve’;
db.tname.find($or:[{id:2},
{name:’steve’}])
条件查询 select * from tname limit 1; db.tname.findOne()
模糊查询 select * from tname where name
like “%ste%”;
db.tname.find({name:/ste/})
模糊查询 select * from tname where name
like “ste%”;
db.tname.find({name:/^ste/})
获取表记录数 select count(id) from tname; db.tname.count()
获取有条件
的记录数
select count(id) from tname
where id=2;
db.tname.find({id:2}).count()
查询时去掉
重复值
select distinct(last_name)
from tname;
db.tname.distinct(‘last_name’)
正排序查询 select *from tname order by id; db.tname.find().sort({id:1})
逆排序查询 select *from tname
order by id desc;
db.tname.find().sort({id:-1})
取存储路径 explain select * from tname
where id=3;
db.tname.find({id=3}).explain()

特别要注意的是:mongodb插入多个字段语法

> db.user.insert({id:1,name:’steve’,sex:’male’})  正确

> db.user.insert({id:2},{name:’bear’},{sex:’female’})  错误

分类: mysql优化 标签: , ,

还是比较简单的php链接mysql类

2014年11月12日 没有评论

<?php
class db{
var $Record=array();var $Link_ID=0;var $Query_ID=0;
function db(){
if(!$this->Link_ID){
$this->Link_ID=mysql_connect(‘localhost’,’root’,’123456′);
mysql_select_db(‘test’,$this->Link_ID);
}
mysql_query(“set names ‘utf8′”,$this->Link_ID);
}
function insert_id(){return mysql_insert_id($this->Link_ID);}
function query($sql){
$this->Query_ID=mysql_query($sql);
return $this->Query_ID?$this->Query_ID:0;
}
function next_record() {
if(!$this->Query_ID) {return 0;}
$this->Record=mysql_fetch_array($this->Query_ID);
return is_array($this->Record)?$this->Record:0;
}
function query_first($sql){
if(!$this->query($sql)) {return 0;}
$this->Record=mysql_fetch_array($this->Query_ID);
return $this->Record;
}
function num_rows() {return mysql_num_rows($this->Query_ID);}
function num_affected_rows() {return mysql_affected_rows();}
function f($field) {return $this->Record[$field];}
}
$db=new db();
?>

分类: php学习 标签: ,

ubuntu安装apache2+php5+mysql5+vsftpd全程记录

2014年11月4日 没有评论

——————-

date,检测时间
ifconfig,查看ip
—————————-

修改dns
sudo vim /etc/network/interfaces
加入:
dns-nameserver 8.8.8.8 8.8.4.4

执行:sudo resolvconf -u(重新生成/etc/resolv.conf文件)
执行:sudo /etc/init.d/networking restart(重启网络)

修改本地解析
sudo vim /etc/hosts
127.0.0.1 输入IP
127.0.0.1 输入要绑定的域名

ubuntu 修改源:
sudo cp /etc/apt/sources.list /etc/apt/sources.list.backup
sudo vim /etc/apt/sources.list
输入:
deb http://mirrors.163.com/ubuntu/ trusty main restricted universe multiverse
deb http://mirrors.163.com/ubuntu/ trusty-security main restricted universe multiverse
deb http://mirrors.163.com/ubuntu/ trusty-updates main restricted universe multiverse
deb http://mirrors.163.com/ubuntu/ trusty-proposed main restricted universe multiverse
deb http://mirrors.163.com/ubuntu/ trusty-backports main restricted universe multiverse
deb-src http://mirrors.163.com/ubuntu/ trusty main restricted universe multiverse
deb-src http://mirrors.163.com/ubuntu/ trusty-security main restricted universe multiverse
deb-src http://mirrors.163.com/ubuntu/ trusty-updates main restricted universe multiverse
deb-src http://mirrors.163.com/ubuntu/ trusty-proposed main restricted universe multiverse
deb-src http://mirrors.163.com/ubuntu/ trusty-backports main restricted universe multiverse

执行:sudo apt-get update

如果无法连接,可以考虑修改ubuntu默认dns(请百度)

sudo apt-get update
sudo apt-get dist-upgrade升级系统,再执行sudo apt-get clean
———————–
开通ssh链接,sudo apt-get install openssh-server
sudo vim /etc/default/locale,查看语言版本,是否为en_US.utf-8
—————-

sudo du -h 目录,查看目录总大小

sudo apt-get install htop

—————–
设置ip
sudo vim /etc/network/interfaces
输入:
auto eth0  
iface eth0 inet static  
address 192.168.2.1
gateway 192.168.2.254
netmask 255.255.255.0
—————————————–

安装apache2:sudo apt-get install apache2

在www下面创建www和mysql

修改apache2配置文件,修改MaxKeepAliveRequests 3000,修改keepAliveTimeout 1200(session有效期)
将:HostnameLookups设置为Off

—————–

找到:IFModule mpm_prefork_module,配置为下:

StartServers 20(apache启动的时候开启主进程数)

MinSpareServers 10(最小进程数)

MaxSpareServers 25(最大进程数)

ServerLimit 10000

MaxClients 8500

MaxRequestsPerChild 200(访问量特别大的时候,可加大子进程数)

—————–

LogLevel crit

隐藏 Apache 版本信息
/etc/apache2/apache2.conf 或 /etc/httpd/conf/httpd.conf 或 /etc/apache2/security 或 /etc/apache2/config-enable/security

ServerTokens Prod
ServerSignature Off

修改apache2的默认文件类型:/etc/apache2/mods-enabled/dir.conf

修改apache2的默认主目录为www/webroot
文件为:/etc/apache2/sites-available/default.conf
或者为:/etc/apache2/sites-available/000-default.conf

删除apache2中/etc/apache2/sites-available/default中的文件夹列表,Options indexes Foll ——–中的indexes
【参考内容:】

<VirtualHost *:80>
    ServerAdmin webmaster@localhost

    DocumentRoot /www/webroot/
    <Directory />
        Options FollowSymLinks
        AllowOverride None
    </Directory>
    <Directory /www/webroot/>
        Options FollowSymLinks MultiViews
        AllowOverride All
        Order allow,deny
        allow from all
        </Directory>

    ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
    <Directory “/usr/lib/cgi-bin”>
        AllowOverride None
        Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
        Order allow,deny
        allow from all
        </Directory>

    #ErrorLog “|/usr/sbin/rotatelogs ${APACHE_LOG_DIR}/error%Y-%m-%d.log 86400 +480”

    # Possible values include: debug, info, notice, warn, error, crit,
    # alert, emerg.
    LogLevel crit

    #CustomLog “|/usr/sbin/rotatelogs ${APACHE_LOG_DIR}/custom%Y-%m-%d.log 86400 +480” combined

    Alias /doc/ “/usr/share/doc/”
    <Directory “/usr/share/doc/”>
        Options MultiViews FollowSymLinks
        AllowOverride None
        Order deny,allow
        Deny from all
        Allow from 127.0.0.0/255.0.0.0 ::1/128
    </Directory>
</VirtualHost>

<VirtualHost *:80>
    ServerName www.055178.com
    DocumentRoot “/www/webroot/055178.com/www/”
    <Directory /www/webroot/055178.com/www/>
            Options FollowSymLinks MultiViews
            AllowOverride All
            php_admin_value open_base “/www/webroot/055178.com/www:/tmp”
    </Directory>
    #ErrorLog “|/usr/sbin/rotatelogs /www/webroot/055178.com/logs/error%Y-%m-%d.log 86400 +480”
    #CustomLog “|/usr/sbin/rotatelogs /www/webroot/055178.com/logs/custom%Y-%m-%d.log 86400 +480” combined
</VirtualHost>

需要注意的是,如果是apache 2.4,那么需要更改为:(而且每个虚拟主机都要加一个Require all granted)

<VirtualHost *:80>
    ServerAdmin webmaster@localhost

    DocumentRoot /www/webroot/
    <Directory />
        Options FollowSymLinks
        AllowOverride None
    </Directory>
    <Directory /www/webroot/>
        Options FollowSymLinks MultiViews
        AllowOverride All
        #Order allow,deny
        #allow from all
        Require all granted
        </Directory>

    ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
    <Directory “/usr/lib/cgi-bin”>
        AllowOverride None
        Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
        #Order allow,deny
        #allow from all
        Require all granted
        </Directory>

    #ErrorLog “|/usr/sbin/rotatelogs ${APACHE_LOG_DIR}/error%Y-%m-%d.log 86400 +480”

    # Possible values include: debug, info, notice, warn, error, crit,
    # alert, emerg.
    LogLevel crit

    #CustomLog “|/usr/sbin/rotatelogs ${APACHE_LOG_DIR}/custom%Y-%m-%d.log 86400 +480” combined

    Alias /doc/ “/usr/share/doc/”
    <Directory “/usr/share/doc/”>
        Options MultiViews FollowSymLinks
        AllowOverride None
        Order deny,allow
        Deny from all
        Allow from 127.0.0.0/255.0.0.0 ::1/128
    </Directory>
</VirtualHost>

<VirtualHost *:80>
    ServerName www.055178.com
    DocumentRoot “/www/webroot/055178.com/www/”
    <Directory /www/webroot/055178.com/www/>
            Options FollowSymLinks MultiViews
            AllowOverride All
        Require all granted
            php_admin_value open_base “/www/webroot/055178.com/www:/tmp”
    </Directory>
    #ErrorLog “|/usr/sbin/rotatelogs /www/webroot/055178.com/logs/error%Y-%m-%d.log 86400 +480”
    #CustomLog “|/usr/sbin/rotatelogs /www/webroot/055178.com/logs/custom%Y-%m-%d.log 86400 +480” combined
</VirtualHost>

—————————–

改变/www/webroot用户组为www-data:chown www-data:www-data /www/webroot -R

在文件后面加上:ServerName 127.0.0.1 防止重启报:could not reliably determin the … 127.0.0.1错误

可能会出现:invalid common php_admin_value错误,可以:
那是因为你没装php

———-
开启重写
sudo a2enmod rewrite

开启防攻击
sudo apt-get install libapache2-mod-evasive
/etc/apache2/mods-enabled/evasive.conf
加入:
<IFmodule mod_evasive20.c>
    DOSHashTableSize        3097
    DOSPageCount            1
    DOSSiteCount            100
    DOSPageInterval         1
    DOSSiteInterval         1
    DOSBlockingPeriod       20
    DOSWhitelist            127.0.0.1
    DOSLogDir               “/var/lock/mod_evasive”
</IfModule>

将不必要的so注释
status
negotiation
env

编辑mpm_prefork.conf
<IfModule mpm_prefork_module>
    StartServers            20
    MinSpareServers        5
    MaxSpareServers        10
    ServerLimit             3200
    MaxRequestWorkers    1000
    MaxConnectionsPerChild  800
</IfModule>

【【【附带:实时检测HTTPD连接数:watch -n 1 -d “pgrep httpd|wc -l”】】】

—————————————–

安装php

sudo apt-get install libapache2-mod-php5 php5 php5-gd php5-mysql php5-xcache
sudo apt-get install curl libcurl3 libcurl3-dev php5-curl

修改/etc/php5/apache2/php.ini:

1,short_open_tag = Off
2,error_reporting = ~E_NOTICE
3,post_max_size = 20M
4,upload_max_filesize = 4M
5,date.timezone = PRC
6,expose_php Off

找到disable_functions
改为:
phpinfo,mail,sleep,pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,system,exec,exec,system,passthru,shell_exec,escapeshellarg,escapeshellcmd,proc_close,proc_open,ini_alter,dl,popen,popen,pcntl_exec,socket_accept,socket_bind,socket_clear_error,socket_close,socket_connect,socket_create_listen,socket_create_pair,socket_create,socket_get_option,socket_getpeername,socket_getsockname,socket_last_error,socket_listen,socket_read,socket_recv,socket_recvfrom,socket_select,socket_send,socket_sendto,socket_set_block,socket_set_nonblock,socket_set_option,socket_shutdown,socket_strerror,socket_write,stream_socket_client,stream_socket_server,pfsockopen,disk_total_space,disk_free_space,chown,diskfreespace,getrusage,get_current_user,getmyuid,getmypid,dl,leak,listen,chgrp,link,symlink,dlopen,proc_nice,proc_get_stats,proc_terminate,shell_exec,sh2_exec,posix_getpwuid,posix_getgrgid,posix_kill,ini_restore,mkfifo,dbmopen,dbase_open,filepro,filepro_rowcount,posix_mkfifo,putenv,

————————————-

 安装ImageMagic扩展(可以考虑先不装?运行phpmyadmin,如有提示,再试)

采用pear方式安装
I. 安装ImageMagick
sudo apt-get install imagemagick

II. 安装imagemagick 的lib 供php调用
sudo apt-get install libmagick++-dev

III. 调用当前的pecl安装imagick
pecl install imagick

IV. 修改php.ini.重启apache服务器
在php.ini中添加: extension = imagick.so

—————————————–

安装mysql

sudo apt-get install mysql-server mysql-client

配置mysql如下:

1,query_cache_limit = 100M
2,query_cache_size  = 1024M
3,max_allowed_packet
4,key_buffer
5,max_connections = 12000,设为大于或等于ServerLimit 10000(用mysql_pconnet)最大不能超过16384,如果没有,自行添加
注释掉log_error
6,转移mysql数据库目录:
    1,sudo service mysql stop
    2,sudo cp -R -P /var/lib/mysql /www/mysql
    【第二步请注意,务必不要事先sudo mkdir /www/mysql,直接使用上面的方法,会自动创建,否则会导致无法启动】
    3,sudo chown mysql:mysql /www/mysql -R
    4,修改/etc/mysql/my.cnf中的datadir=/www/mysql
    4,sudo vim /etc/apparmor.d/usr.sbin.mysqld【/var/lib/mysql r, 改为 /www/mysql r,】【/var/lib/mysql/** rwk,  改为  /www/mysql/** rwk,】
    5,sudo /etc/init.d/apparmor reload
    5,sudo service mysql start
    6,[mysqld]增加:default-storage-engine=MyISAM(登陆后,show engines;查看)

    登陆后,修改默认编码
    —set character_set_client=utf8;
    —set character_set_connection=utf8;
    —set character_set_database=utf8;
    —set character_set_results=utf8;
    —set character_set_server=utf8;
    —set character_set_filesystem=utf8;
    —set character_set_database=utf8;
    —set character_set_server=utf8;
   
    —set collation_server=utf8;(mysql 5.5 报错,但不影响)
    —set collation_database=utf8;(mysql 5.5 报错,但不影响)
    —set collation_connection=utf8;(mysql 5.5 报错,但不影响)
        
    【命令:
        show variables like ‘character_set_%’;
        show variables like ‘collation_%’;
    】
7,安装mcrypt extension
sudo apt-get install php5-mcrypt

8,开启远程连接:
注释掉my.cnf中的:bind-address 一行
同时建议,在[mysqld]下面增加skip-name-resolve
可以解决远程连接比较慢的问题(类似报错:Lost connection to MySQL server at ‘waiting for initial communication packet’)

如果卸载mysql后重新安装,打开php链接mysql提示找不到mysqli,请重新输入:sudo apt-get install libapache2-mod-php5 php5 php5-gd php5-mysql,将自动加载mysql

9,其它部分优化
确认在“[mysqld]”部分加入了“skip-innodb”和“skip-bdb”参数;
确认在“[mysqld]”部分加入了“skip-name-resolve”和“skip-locking”参数; (新版是:skip-external-locking)
如果不需要的话,可以将二进制日志(binlog)停掉,方法是将“log-bin”注释掉;

参考:http://imysql.com/2014/09/28/mysql-optimization-case-blob-stored-in-innodb-optimization.shtml

———————————

配置ftp

sudo apt-get install vsftpd

cd /etc
sudo cp -r vsftpd.conf vsftpd.conf.backup
sudo mkdir vsftpd.users

1,sudo vi /etc/vsftpd.conf
配置如下:

listen=YES
anonymous_enable=NO
local_enable=YES
write_enable=YES
local_umask=022
dirmessages_enable=YES
use_localtime=YES
xferlog_enable=YES
connect_from_port_20=YES
#xferlog_file=/var/log/vsftpd.log(可以注释)
xferlog_std_format=YES
chroot_local_user=YES
secure_chroot_dir=/var/run/vsftpd/empty
pam_service_name=vsftpd
rsa_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem
rsa_private_key_file=/etc/ssl/private/ssl-cert-snakeoil.key

【上方默认基本存在,下方为添加:】

max_clients=10(#FTP服务器最大承载用户)
max_per_ip=5 (#限制每个IP的进程)
pasv_enable=YES(是否允许被动模式登陆)
pasv_min_port=9981
pasv_max_port=9986
port_enable=YES
user_config_dir=/etc/vsftpd.users(单个用户配置文件,以用户名命名文件)
anon_max_rate=0
local_max_rate=5120000
guest_enable=YES(#如果ftp用户名不是ubuntu系统用户的话,必须开启)
guest_username=www-data
virtual_use_local_privs=YES

安装db-util数据库软件
sudo apt-get install db-util

cd ~
创建ftp_users.txt,测试内容如下:
rootuser
123

sudo db_load -T -t hash -f ftp_users.txt /etc/vsftpd_login.db
sudo chmod 600 /etc/vsftpd_login.db


修改/etc/pam.d/vsftpd,内容如下:

注释掉所有

增加如下:
auth required /lib/x86_64-linux-gnu/security/pam_userdb.so db=/etc/vsftpd_login(后缀.db省略了)
account required /lib/x86_64-linux-gnu/security/pam_userdb.so db=/etc/vsftpd_login(后缀.db省略了)

到/etc/vsftpd.users下新建:rootuser文件,内容如下:local_root=/www/webroot/

自vsftpd2.3.5版本,根目录无写权限,如果有写权限,会提示无法登陆,解决:sudo chmod a-w /www/webroot

如果提示:500 OOPS: cannot change directory:/var/www
请在在/var下创建www

重启 sudo service vsftpd restart,生效

———————————

下面配置内容如下:

【服务器防DDos攻击】

【开启gzip完整版】

【mysql缓存】

【HostnameLookups设置为off】

【启用mod_proxy做正向代理、反向代理】

【apache开启mod_cache缓存】

【apache不记录图片日志】

————————————–

【memcached】

由于memcached与客户端的通信是借助libevent来实现的,所以安装memcached前一定要先安装libevent. 下载解压,安装libevent

mkdir ~/src

cd ~/src

wget https://github.com/downloads/libevent/libevent/libevent-2.0.21-stable.tar.gz

tar xzvf libevent-2.0.21-stable.tar.gz

cd libevent-2.0.21-stable

./configure –prefix=/usr

(此步出错:no acceptable c compiler found in path)
可以使用:sudo apt-get install gcc

make

可能会让装make,执行sudo apt-get install make

sudo make install

cd ..

2.测试libevent是否安装成功:
# ls -al /usr/lib | grep libevent

安装memcached:

sudo apt-get install memcached
sudo memcached -d -m 128 -p 11211 -u root,启动服务

这里需要说明一下memcached服务的启动参数:

-p **的端口
-l 连接的IP地址, 默认是本机
-d start 启动memcached服务
-d restart 重起memcached服务
-d stop|shutdown 关闭正在运行的memcached服务
-d install 安装memcached服务
-d uninstall 卸载memcached服务
-u 以的身份运行 (仅在以root运行的时候有效)
-m 最大内存使用,单位MB。默认64MB
-M 内存耗尽时返回错误,而不是删除项
-c 最大同时连接数,默认是1024
-f 块大小增长因子,默认是1.25-n 最小分配空间,key+value+flags默认是48
-h 显示帮助2)安装Memcache客户端

sudo apt-get install php5-memcache

安装完以后我们需要在php.ini里进行简单的配置,打开/etc/php5/apache2/php.ini文件在末尾添加如下内容:

[Memcache]
memcache.allow_failover = On
memcache.max_failover_attempts = 20
memcache.chunk_size = 8192
memcache.default_port = 11211

查看状态:telnet 127.0.0.1 11211

php测试:
<?php
$mem = new Memcache; //创建Memcache对象
$mem->connect(“127.0.0.1”, 11211) or die (“Could not connect”); //连接Memcache服务器
$val = “这是一个Memcache的测试.”;
$key = md5($val);
$mem->set($key, $val, 0, 120); //增加插入一条缓存,缓存时间为120s
echo $mem->get($key);
die(“<br>done”);
?>

—————————–

彻底删除
sudo apt-get autoremove –purge 软件名称

清理:
sudo apt-get autoremove
sudo apt-get clean
sudo apt-get autoclean

——————-

mod_expires

<IfModule mod_expires.c>
ExpiresActive On
ExpiresByType image/ico “access plus 1 year”
ExpiresByType image/icon “access plus 1 year”
ExpiresByType text/html A300
ExpiresByType text/plain A300
ExpiresByType text/css A3600
ExpiresByType image/gif A604800
ExpiresByType image/png A604800
ExpiresByType image/jpgg A604800
ExpiresByType image/jpeg A604800
ExpiresByType application/x-shockwave-flash A604800
ExpiresByType application/javascript “access plus 1 week”
ExpiresByType application/x-javascript “access plus 1 week”
ExpiresDefault “access plus 1 days”
</IfModule>

——————————

linux开启系统日志或者关闭不需要的日志

sudo vim /etc/rsyslog.d/50-default.conf

将需要的开启,不需要的注释就可以了。

重启rsyslog:

sudo /etc/init.d/rsyslog restart

分类: ubuntu高手 标签: , , , ,

利用phpMyBackupPro巧妙批量定期备份mysql数据库,phpmyadmin无法完成!

2013年6月15日 没有评论

由于工作需要,今天在网络寻找批量定期备份mysql数据库的方法,首先我从百度和谷歌都搜索了相关的phpmyadmin的使用文档,搜索关键词如下:
1,phpmyadmin批量备份mysql数据库
2,如何使用phpmyadmin定期备份mysql数据库
3,phpmyadmin定期批量备份mysql数据库
找了这些关键词都无法找到想要的结果,而最终的结果是phpmyadmin无法定期备份数据库。而且单次导出也很麻烦,最主要的是不支持远程ftp发送。

有了这些请求之后,我就尝试了用phpmyadmin来批量导出数据库为sql文件,其实这个phpmyadmin是可以做到的,具体流程如下:
1,打开phpmyadmin
2,点击export导出
3,选择所有数据库
4,选择zip压缩
5,开始导出
这样能完整的导出备份所有的数据库,但是效率低下,尤其是表一多,那就完蛋了。

后来通过网络搜索到phpMyBackupPro,可以非常巧妙的定期批量备份mysql,那么具体定期备份方法其实很简单,你只要下载phpMyBackupPro这个软件即可,然后到官方寻找批量备份的方法。
我这里只简单的介绍下方法

直接上传phpMyBackupPro下载包到ftp中,然后点击导航上的configuration,依次配置下信息,很简单的英文,都能看懂。
首次登陆不需要密码,配置完成之后需要mysql密码

最主要的一点是要告诉大家,务必修改默认的导出路径export为别的路径,否则太容易暴漏了。
修改方法:
打开definitions.php,修改$_PMBP_EXPORT_DIR即可,注意,目录一定要以”/”结尾

整体的批量定期备份mysql就大工搞成了。phpMyBackupPro还是不错的,尤其是在批量备份上,还支持远程ftp备份,建议phpmyadmin增加个这样的功能

mysql 5.6.12 正式版发布

2013年6月14日 没有评论

在MySQL 5.6.12的变化(2013-06-03)

添加或更改功能

现在mysql_upgrade认证服务器版本,如果有一个不匹配,这是一个编译版本的匹配和出口。在addiion, – 版本检查选项允许您指定是否检查版本(默认),启用或禁用 – 跳过版本检查检查。 (问题#16500013)

错误

不兼容的变化:在现有的MySQL账户使用时,GRANT语句可能会产生意想不到的reults,如果WITH子句来命名不同的从mysql.user表行的相应的插件所谓的身份验证插件包括确定。

确定GRANT语句创建一个新的用户,它现在被禁止,如果指定的帐户已经存在。 (问题#16083276)

重要的变化;复制:当服务器运行 – 二进制日志忽略的db和选择的数据库()返回NULL(目前未选定的数据库),使用完全限定的表名在dbname.tblname格式不写入二进制日志。这是因为在这种情况下,缺乏被认为是当前选定的数据库匹配,忽略任何可能的选项,而不是没有这样的选项,这意味着,这些语句总是被忽略。

现在,如果没有当前数据库语句中使用完全限定的表名总是写入二进制日志。 (错误#11829838,错误#60188)

InnoDB的分区:分区InnoDB表涉及添加一个或多个BLOB列并不总是正确处理。 BLOB列并不需要连接的列或列,或以其他方式进行命名或引用在声明中包含联接,发生此问题。 (问题#16367691)

InnoDB的:在调试版本,网上全表ALTER TABLE操作执行副本改善断言。说,是由于竞争条件下,会发生修改应用程序的日志中检索BLOB,当任何日志块,除了最后一个。这的补丁修改row_log_table_apply_convert_mrec(),以确保B-tree索引锁保护访问登录 – >点和BLOB页。 (问题#16774118)

InnoDB的:当崩溃恢复期间的的功能trx_rollback_or_clean_recovered()或rollback交易清理,删除对象从TRX trx_sys列表不会释放这些对象所使用的内存。为了防止内存泄漏,此修补程序将调用trx_rollback_resurrected trx_free_for_background()(),的功能删除TRX对象。 (问题#16754776)

InnoDB的:SHOW STATUS输出缺少逗号将打破MySQL企业监控分辨率。 (问题#16723686)

InnoDB的:清洁关机时,InnoDB在启动时不检查。 IBD的文件头。因此,InnoDB的崩溃恢复计划,你可以加载一个损坏的表空间文件。此修补程序来实现一致性和状态检查,以避免加载文件损坏。 (问题#16720368)

InnoDB的:发生了内存泄漏在dict_check_tablespaces_and_store_max_id()当space_id零。 (问题#16737332)

InnoDB的:当添加一个主键列的ALTER TABLE语句(例如:ALTER TABLE T1 ADD PRIMARY KEY(A,B),改变的AA INT B)后重新排序,日志应用更新操作将无法找到线。 (问题#16586355)

InnoDB的:临时表压缩DML操作将导致在Valgrind的错误,缓冲区管理器堆栈。 (问题#16593331)

在InnoDB:此修复程序的地址将恢复买卖,并建立两个索引锁定之间的争回滚操作条件。比赛条件会破坏这两个指标。 (问题#16593427)

在InnoDB:InnoDB表,你需要复制操作表ALTER TABLE操作,其他交易可能失败,在桌子上,在复制过程中。但是,如果这样的交易部分回滚,回滚被视为一个完整的回滚。 (问题#16544143)

InnoDB的:在某些情况下,LRU刷新会花费很长的时间,它可能会影响所有的冲洗活动,引起关机超时。 (问题#16500209)

InnoDB的:recv_writer线程将启动,所有的重做日志扫描完成后。重做日志扫描在多个情况下,累计重做记录将被应用于每次扫描后,然后再处理下一次扫描。帮助冲洗的的线程不会recv_writer缓慢的恢复或导致服务器启动超时。该修复程序确保的recv_writer线程开始扫描批次之前处理。 (问题#16501172)

InnoDB的不断修缮取代IB_ULONGLONG_MAX代码是指LSN_MAX日志序列号,或与TRX_ID_MAX,TRX->还没有被初始化到一个未定义的值。这种变化不会改变常量的值。 (问题#16458660)

InnoDB的:InnoDB的此修复程序纠正错误6025,其中规定,“InnoDB的:无法打开阅读./ib_logfile0方式。”文本。经修订的消息,“InnoDB的:./ib_logfile0不能以读模式打开。”消息结构变量和模式复制。 (问题#16434398)

该InnoDB的:page_zip_available的功能某些字段计算了两次。 (问题#16463505)

在InnoDB:此修复删除大多数呼叫InnoDB的OS_THREAD_SLEEP的。 (问题#16472953)

InnoDB表同时插入文本插入会造成一定的失败。会产生重复的值,当插入一个隐藏的文本搜索文档ID列的文档ID进行全文搜索。 (问题#16469399)

InnoDB的:,FLUSH TABLES出口经常睡太冲洗页面,从缓冲池。 (问题#16471701)

InnoDB的线程的情况下,被迫做一个单页潮红,的fsync()将所有数据文件触发。此修复程序允许同步单页潮红。 (问题#16477781)

InnoDB的:调试版本中,插入失败的无效的断言:sync_thread_levels_g(阵列之一 – TRUE)。 (问题#16409715)

InnoDB的:多个并发呼叫到dict_update_statistics(),将导致不必要的服务器上的负载。 (问题#16400412)

InnoDB的:在64位版本的Windows将不接受分配的innodb_buffer_pool_size 32GB或更多。这个限制是由于的内在价值InnoDB缓冲池大小设置为32,在64位Windows上建立了一个错误,截断。 (问题#16391722)

InnoDB的:创建的ALTER TABLE INPLACE算法使用外键约束需要被设置为0(SET FOREIGN_KEY_CHECKS = 0;}的FOREIGN_KEY_CHECKS。因此,一个合适的,它不能重复ID检查。(问题#16413976)

InnoDB的,重命名表的原因挂到MySQL的互斥收购僵局。 (问题#16305265)

InnoDB是:DROP DATABASE失败,如果数据库包含InnoDB表,有一个外部数据目录中的数据文件。外部数据文件“InnoDB的符号链接”文件类型(ISL)未确认由MySQL。此修补程序。 InnoDB的ISL已知文件类型。 (问题#16338667)

InnoDB的:当一个链接表的外键约束,加载一个表打开其他链接的表递归。虽然许多外键约束链接表,这有时会导致线程的堆栈溢出,从而导致服务器退出。连接到外键约束循环荷载的性能。现在级联的操作,这是一个递归的方式,反复使用一个明确的堆栈。 (问题#16244691)

InnoDB的:当调用lock_rec_block_validate()函数内核互斥释放后,有机会的话,锁定可能是由于错误在Valgrind的读锁>指数到一个无效的无效,并将导致。此修补程序的内核互斥指数正在举行和锁定指数lock_rec_block_validate的()。 (问题#16268289)

InnoDB的:在测试过程中,一个FLUSH TABLE操作导致超时,缺乏清除线程停止识别。 (问题#16277387)

InnoDB的:压缩表,“重组”功能会忽略“innodb_log_compressed_pa​​ GES”选项,并随时记录整个压缩页,重做日志文件的大小增加。 “重组”功能,现在坚持innodb_log_compressed_pa​​的GES选项和页面图像压缩innodb_log_compressed_pa​​ GES不会被记录在重做日志,设置为“OFF”。 (问题#16267120)

InnoDB的:禁用外键检查与SET FOREIGN_KEY_CHECKS = 0,并执行一个DROP INDEX,表不再重新启动服务器后访问。此修复程序允许失踪的外键索引的表进行访问时,SET FOREIGN_KEY_CHECKS = 0。访问表时,用户必须重新创建丢失的索引,以满足外键约束。 (问题#16208542)

InnoDB的:当一个事务被提交读隔离级别,差距仍然锁定在两个索引插入行。这发生在两个索引扫描重复。 row_ins_scan_sec_index_for_duplicate()功能总是被称为功能row_ins_set_shared_rec_lock(),不管事务隔离级别LOCK_ORDINARY的。此修补程序修改row_ins_scan_sec_index_for_duplicate()函数来调用基于LOCK_ORDINARY或LOCK_REC_NOT_GAP的事务隔离级别,row_ins_set_shared_rec_lock()。 (问题#16133801)

InnoDB的:启动mysqld – innodb_log_buffer_size = 50GB内存分配失败,返回NULL。对于非调试版本中有没有检查到位,分裂失败。此修复程序添加一个日志消息表明内存分配失败,并增加了一个断言。 (问题#16069598)

InnoDB的:当启用UNIV_DEBUG的调试版本中,buf_validate()通常被称为有时会导致假阳性的测试信号等待超时。此修补程序计数器值增加,减少误报。 (问题#16068056)

InnoDB的:读写工作负载处理,InnoDB将扫描多页都需要冲洗一下,不必要的消耗的CPU资源。 (问题#16037180)

InnoDB的:explain_filename功能,它提供了分治决议的信息文件名,将返回一个错误,当试图解析的文件名是不是分区信息。 (问题#16051728)

InnoDB是:停止服务器,删除一个数据库表(d1.t1),从数据目录frm文件,重新启动服务器并删除数据库(D1),将导致断言。 (问题#16043216)

InnoDB的:一个活泼感SH表出口螺纹可能会导致挂在关机过程中。修复确保trx_is_interrupted()检查期间ibuf_merge。 (问题#15953255)

InnoDB的多行INSERT …重复键更新插入失败,导致重复键错误,导致重复的自动增量值。 (问题#14483484)

复制:时间点的恢复,你可能会失败,试图还原一个单一的数据库基于行的二进制日志格式的使用将mysqlbinlog – 数据库选项。 (问题#16698172)

复制:启用GTID的一个FLUSH TABLES语句导致复制失败的首要问题。结果发现,这种不端行为修正错误#16062608,不允许隐式提交报表,但变化不记录gtid_next集自动以外的任何值。已恢复的修补程序的变化,如报表(再次)允许在没有考虑到这个变量的值。 (错误#16715809,错误#69045)

复制:InnoDB的提交错误导致的崩溃以前的交易失去RESET MASTER语句执行。这是因为准备阶段造成一个刷新到磁盘上,但没有提交阶段相应的InnoDB内部冲洗。

为了解决这个问题,现在导致复位主存储引擎的日志被刷新提交。 (错误#16666456,错误#68932)

复制:当使用选项 – 转储 – 包括主要主机端口的mysqldump的打印端口号码引号内的,就好像它是一个字符串值,而不是一个整数。 (问题#16615117)

复制:当处理Update_rows_log_event或Delete_rows_log_event的二进制日志,哈希存储在哈希表中的第一张图像。在此之后,原来的表扫描所需的记录,每一个后续的处理,以除去从原始表中的散列,在哈希表中执行查找。但是,列读取原始图像设置为NULL,结果可能会包含随机或找到(复印件),导致失败的错误,如“垃圾”数据不能被执行Update_rows,事件表…. (问题#16621923)

参考文献:错误#11766865。这个错误是由一个错误#16566658。

复制:由于时间分辨率的问题,在某些系统上,你应该采取的线程转储站,可以计算出的回复时间小于零,导致主等待答复轮不到半同步的等待时间错误。由于这个条件没有产生负面影响复制,这些条件造成的误差已经降低到一个警告。 (问题#16579028)

复制:在二进制日志中发现,当一个或多个日志事件的发生,但不是GTID先前GTIDs日志生成的事件处理不当而导致失败的服务器错误。 (这是一种极为罕见的疾病,在正常情况下不应该发生的,二进制日志文件可能会被损坏不知何故。)现在,在这种情况下,适当的错误发出,并正确处理。 (错误#16502579,错误#68638)

复制: – 从日志更新 – 复制表野生忽略选项,在某些情况下,导致更新服务器运行的是用户变量没有被记录。 (问题#16541422)

复制:当使用mysqlbinlog的mysql客户端辊的两个或多个服务器使GTIDs,二进制日志,gtid_next变量不能正确复位切换时,从第一个到第二个二进制日志,从而导致错误处理停止在这一点上。 (问题#16532543)

复制:mysqlbinlog的选项 – 包括gtids, – 排除gtids的使用 – 跳gtids和试图处理多个文件,你不能正常工作。 (问题#16517775)

复制:当执行一个事件超出了最大的缓冲区大小(slave_pending_jobs_size_max),基于行的复制可能会挂起等待工免费挂起的事件。 (错误#16439245,错误#68462)

复制:由于并发企图进行额外旋转二进制日志旋转当二进制日志已满时,它是成功的。这可能会导致不必要的创建许多小的二进制日志文件。 (错误#16443676,错误#68575)

复制:开始从一个空的错误消息的失败后,试图执行进口的新slave_master_info slave_relay_log_info表。在这种情况下,立即发出相应的错误消息。 (错误#16475866,错误#68605)

复制:重新启动该服务器已被清空后表slave_relay_log_info mysqld的原因造成的故障,在试图返回一个错误。 (错误#16460978,错误#68604)

复制:从master断开,从在一定条件下,可以报告错误,重新连接,它已经收到一个大包比slave_max_allowed_pa​​ cket,导致复制失败。 (错误#16438800,错误#68490)

复制:MTS恢复过程中从SQL线程错误导致失败的奴隶。 (错误#16407467,错误#68506)

复制:当使用选项 – 阅读 – 从远程服务器 – 从未停止 – base64编码输出=解码行 – 详细mysqlbinlog的失败,重置计数器,用来存储当前位置在服务器上的文件时二进制日志旋转。 (错误#16316123,错误#68347)

复制:当使用mysqldump与MySQL 5.6.4或更早版本的数据库备份,设置 – 设置gtid = AUTO导致备份失败,因为在MySQL 5.6.5以前的版本不支持GTIDs去除,不能确定是否启用数据库GTIDs。此修补程序不试图确定mysqldump的输出一个集of@global.gtid_purged的声明,任何预先5.6.5的数据库备份。 (错误#16303363,错误#68314)

复制:有时可能会发生死锁集团致力于使用了大量的并发更新,当客户持有的锁,而另一个客户端实现锁定,同时旋转的二进制日志提交。 (错误错误#16491597#68251#16271657,错误,错误#68569)

复制:当启用了半同步复制,自动丢弃主人使用的事件,造成失败后不保留主完成。 (错误#15948818,错误#67276)

复制:设置一个SET NULL列在存储过程中,造成复制失败。 (错误#14593883,错误#66637)

复制:二进制日志内容有时被损坏,因为在的功能MYSQL_BIN_LOG :: write_cache一直以为它已经走到了尽头,当的缓存功能my_b_fill()’0’,但是这也意味着,在一个错误的情况下。此修复程序确保,每当my_b_fill()返回一个’0’,错误校验信息错误。 (错误#14324766,错误#60173)

复制:清除二进制日志设计不删除二进制日志文件,使用或主动,但没有提供任何通知,当这一切发生的时候。现在,在这种情况下,日志文件将不会被删除时,会发出一个警告,警告消息,包括有关的文件或文件的信息不会被删除时发了言。 (问题#13727933)

复制:黑洞二进制日志格式,更新和删除复制到不能应用,所以跳过。现在产生一个警告事件。
注意

推荐binlog_format =语句复制使用BLACKHOLE存储引擎表。

(问题#13004581)

卸下服务器RPM包没有关闭现有的服务器,如果它正在运行。 (问题#16798868)

超值性能架构线程表设置PROCESSLIST_STATE开销也有所减少。 (问题#16633515)

Windows身份验证插件未能释放的缓冲区的上下文中,为每个连接。 (问题#16591288)

DBUG_PRINT()宏不必要的评价参数调试时没有启用。 (问题#16556597)

当索引条件下推递减范围扫描,并使用第一个范围区间不包含任何符合条件的记录,扫描范围,其结果可能是空的,即使其他的范围区间包括符合条件的记录。 (问题#16483273)

服务器可以尝试操作大小为零的文件排序分拣长度退出。 (问题#16503160)

my_load_defaults()被修改,以适应一些问题,在处理过程中使用的GCC 4.7.2编译器选项,它可能会导致客户端崩溃。 (问题#16497125)

打开游标,存储过程中的SELECT可能导致分割故障。 (问题#16499751)

参考文献:这个错误是一个回归的bug#14740889。

@’%’和User SET PASSWORD手柄用户“指的是相同的mysql.user表行(问题#16488043)

工作不足WKB几何数据输入法的数据验证,这可能导致Valgrind的错误或服务器退出。 (错误,错误#12772601#16510712)

有些INFORMATION_SCHEMA查询使用ORDER BY是不是没有用的,因为他们不是在MySQL 5.5优化的文件排序。 (问题#16423536)

性能结构参数,在启动时自动调整,不考虑未来的结构性能参数依赖于其他的启动参数的变化自动调整大小。 (问题#16430532)

的WKB读者空间操作可能会失败,并导致服务器退出。 (问题#16451878)

比启发式优化文件访问访问楼盘的首选范围,参照的情况下,裁判的访问,当一列表中的在连接SEQENCE早期。 (问题#16437940)

手动创建的帐户的(使用INSERT),和畸形的密码是有效的,没有密码。 (问题#16414396)

SQL板凳目录应该是一个可执行文件,不是可执行位设置了访问几个剧本。 (问题#16395606)

对于调试版本,DBUG_EXPLAIN在一个缓冲区溢出调试系统变量值超过255个字符的结果。 (问题#16402143)

XA事务处于活跃状态,造成隐式提交的语句可能会导致过早释放的元数据锁。 (问题#16362832)

Debian的软件包安装在Ubuntu 12.10上成功使用dpkg的,但不能与软件中心5.4.1.4。 (问题#16387513)

在空闲或准备启用查询缓存的查询执行调试版本,XA事务状态,可能导致服务器退出。 (问题#16388996)

thread_pool_high_priority_connection不能设置在服务器启动时。 (问题#16310373)

然后执行存储过程,可能会导致一台服务器,退出Item_field :: fix_outer_field。 (问题#16317443)

ÂGROUP_CONCAT()调用,包含一个子查询会导致服务器退出与外部参考。 (问题#16347343)

随着启用secure_auth,使用前4.1(旧)用户的密码哈希可以不更新它使用4.1(新)哈希。 (问题#16304018)

对于调试版本,GROUP_CONCAT(ORDER BY)ORDER BY子句可能会导致服务器内退出。 (问题#16347426)

的validate_password插件并不总是执行适当使用空白密码和分布约束。 (问题#16346443)

对于调试版本,服务器可能会退出涉及嵌套子查询,子查询动态和半连接的查询使用意见。 (问题#16317076)

动态范围优化,不能​​设置正确的查询范围,使用XOR操作。 (问题#16272562)

该mysql_secure_installation无法连接到服务器,如果帐户密码已经过期。它调用mysql的非交互式的,所以程序无法连接。现在mysql支持A – 连接过期的密码选项,表示到服务器,它可以处理过期密码的帐户,即使非交互式调用,调用MySQL的mysql_secure_installation,使用此选项沙箱模式。 (问题#16248315)

如果您使用MIN()上查询,使用松散索引扫描分割故障可能发生。 (问题#16222245)

如果有多个报表审计日志插在一个单一的请求,发送记录,只有最后一个。现在,它是为每个单独记录。 (问题#16169063)

对于调试版本,断言使用eq_ref访问和文件排序错误地执行查询。 (问题#16164885)

规定以外的连接表和派生表之间的隐性组可能会导致服务器退出。 (问题#16177639)

准备好的语句,GROUP_CONCAT()和ORDER BY子句命名多个列中可能会导致服务器退出。 (问题#16075310)

不指定表的连接字符串创建联席牵头的服务器退出。 (问题#16048546)

匹配ORDER BY …可能会导致服务器退出反对。 (问题#16073689)

从MySQL 5.6.4和客户端程序,可以混淆旧的服务器在连接过程中,通过使用新的协议不明白的旧服务器。 (问题#15965409)

mysql.server的脚本是出口订单的状态是一个错误,如果你运行多个服务器。 (问题#15852074)

使用值()函数值()子句在INSERT语句中,可能会导致Valgrind的警告或服务器不稳定,它可能会导致服务器退出。 (问题#14789787)

在某些情况下,它可能会失败,REVOKE GRANT OPTION权限撤销。 (问题#14799187)

mysql客户端分配但没有释放一个字符串,每一行后读互动模式,导致了内存泄漏。 (问题#14685362)

结束一个连接,它是在断开的过程中,可能会导致断言被触发,Valgrind的警告,和一般不稳定。 (问题#14560522)

INSERT …重复键更新视图,可能会导致服务器退出。 (问题#14261010)

外部BLOB列在子查询中分组导致了服务器退出。 (错误,错误#14700180#13966809)

服务器可以退出,由于处理比较无效的错误。 (问题#13009341)

CMake的time_t的无符号检查在所有平台上的失败。 (问题#11766815)

mysqladmin的调试导致服务器错误日志写入调试信息。的支持mallinfo(),这部分的输出存储器状态是不正确的,在64位环境中mysqld的消耗超过4GB的系统内存。

现在的服务器使用malloc_info,()来获取内存状态信息。 malloc_info()不报告的glibc的malloc()实现企业内部分配的内存使用mmap()。然而,它提供了所有的内存跟踪内存使用信息。

此bug修复也需要改变输出格式。服务器现在写,而不是存储在XML格式的纯文本信息。例如:

记忆体状态:
























(问题#11746658)

用于在64位Mac OS X系统,而不是x86的x86_64的确定不同的机器时,CMake的。 (错误,错误#11765489#58462)

mysql客户端与拉美相比,对于某些不正确,即使使用多字节字符集,默认的启动导致客户端崩溃。 (错误,错误#16182919#68107)

在mysql datatbase的的帮助地址栏表太短,以适应一些网址,帮助内容。现在,您已经创建了这些列作为文本类型,以容纳较长的网址。 (错误,错误#12671635#61520)

mysqld的 – 帮助和mysqld – 详细 – 帮助不必要的记录。 (错误,错误#16442113#68578)

InnoDB不支持全文解析器插件,但没有报告一个错误,如果他们被分配。现在返回一个ER_INNODB_NO_FT_USES_PARSER错误。 (错误,错误#12843070#62004)

如果是用来评估一个查询比较松散索引扫描一个整数列指定一个整数作为带引号的字符串(例如,COL_NAME = ‘1’),查询可能返回不正确的结果。 (错误,错误#16394084#68473)

IF()函数评估可能会产生不同的结果,当执行一个准备好的声明nonprepared。 (错误,错误#11753852#45370)

如果您需要SSL支持功能,如AES_DECRYPT()失败,错误可能会影响未来的呼叫需要SSL支持功能。 (错误,错误#16315767#68340)

在一个MySQL服务器比MySQL 5.5采用了新的报告mysql.user表nonupgraded的(此mysql_upgrade尚未运行),设置密码导出服务器由于考试password_expired一个错误引起的。 (错误,错误#16339767#68385)

现在,您可以抑制CMake的从源代码调用INSTALL_MYSQLTESTDIR明确设置选项来编译安装mysql-test目录后,MySQL是空:

CMake的。 DINSTALL_MYSQLTESTDIR =

此前,试图做的,它会导致一个错误。 (错误,错误#11765629#58615)

当只有计数事件,但不时的性能的框架报告MIN_TIMER_WAIT值作为一个大数目,但不为零。 (错误,错误#16552425#68768)

前缀用于访问的索引范围内,可能会产生不正确的结果。 (错误,错误#16540042#68750)

对于调试版本中,元数据锁的CREATE TABLE …选择可以提高断言。 (错误,错误#16503173#68695)

CMake提供一个新的选项,WITH_EDITLINE,指示是否使用的捆绑的libedit的库/ editline库或系统。允许值(默认)和系统捆绑。

WITH_EDITLINE取代WITH_LIBEDIT,已被删除。 (错误,错误#16430208#68558)

当在选项文件中指定的客户端插件目录选项被忽略。 (错误,错误#16680313#68800)

在以后的调用,派生表上的索引,在第一次调用一个存储过程使用不使用。 (错误,错误#16346367#68350)

DELETE和UPDATE语句,解释一些常数的情况下,它是更合适的裁判栏显示NULL。 (错误,错误#16296268#68299)

优化程序可以选择一个很差的查询执行计划订单… LIMIT。 (错误,错误#16697792#69013)

FOUND_ROWS()返回的值不正确,如果上面的查询使用的文件进行排序。 (错误,错误#16760474#69119)

参考文献:这个错误是一个回归的bug#68458。

分类: mysql优化 标签:
css.php