良玉的博客 点点滴滴,积水成河_良玉的博客_页游、手游linux运维工程师之路

禁止mysql对本地文件存取

在 mysql 中,提供对本地文件的读取,使用的是 load data local infile 命令,默认在 5.0 版本中,该选项是默认打开的,该操作令会利用 MySQL 把本地文件读到数据库中,然后用户就可以非法获取敏感信息了,假如你不需要读取本地文件,请务必关闭。测试存取测试:首先在测试数据库下建立 sqlfile.txt 文件,用逗号隔开各个字段在测试数据库,先新建一张表,建表的 SQL 语句如下,For Example:create 

阅读全文...

热备份数据库

mysqldump是一款MySQL逻辑备份的工具,他将数据库里面的对象(表)导出成SQL脚本文件。有点类似于SQL SEVER的“任务-生成脚本”的逻辑备份功能。mysqldump是比较常用的备份方法,适合于在不同MySQL版本之间的迁移、升级。不足之处就是数据库比较大时,mysqldump的效率不高。mysqldump的主要参数收集整理注释如下,如果你要查看mysqldump的具体参数信息,可以使用命令mysqldump –help--add-drop-table    &

阅读全文...

mysql update 去空格

mysql有什么办法批量去掉某个字段字符中的空格?不仅是字符串前后的空格,还包含字符串中间的空格,答案是 replace,使用mysql自带的 replace 函数,另外还有个 trim 函数。 (1)mysql replace 函数 语法:replace(object,search,replace) 意思:把object中出现search的全部替换为replace 案例:SQL Code复制内容到剪贴板update `news` se

阅读全文...

标签: mysql去空格

作者:良玉 分类:Mysql 浏览:358 评论:0

MySQL高可用框架之MHA

简介:MHA(Master High Availability)目前在MySQL高可用方面是一个相对成熟的解决方案,它由日本DeNA公司youshimaton(现就职于Facebook公司)开发,是一套优秀的作为MySQL高可用性环境下故障切换和主从提升的高可用软件。在MySQL故障切换过程中,MHA能做到在0~30秒之内自动完成数据库的故障切换操作,并且在进行故障切换的过程中,MHA能在最大程度上保证数据的一致性,以达到真正意义上的高可用。该软件由两部分组成:MHA Manager(

阅读全文...

作者:良玉 分类:Mysql 浏览:244 评论:0

mysql解决Error1290 xxx secure-file-priv 的问题

Error1290 --secure-file-priv

出现这个问题的原因是因为启动MySQL的时候使用了--secure-file-priv这个参数,这个参数的主要目的就是限制LOAD DATA INFILE或者SELECT INTO OUTFILE之类文件的目录位置,我们可以使用

SELECT @@global.secure_file_priv; 或者SHOW VARIABLES LIKE "secure_file_priv";
查询到你当前设置的路径,默认应该是/var/lib/mysql-files

阅读全文...

mysqlbinlog 查看binlog时报错unknown variable 'default-character-set=utf8'

原因是mysqlbinlog工具无法识别binlog中的配置中的default-character-set=utf8指令。两个方法可以解决:一是在MySQL的配置/etc/my.cnf中将default-character-set=utf8 修改为 character-set-server = utf8,但是这需要重启MySQL服务,如果你的MySQL服务正在忙,那这样的代价会比较大。二是用mysqlbinlog --no-defaults 命令打开

阅读全文...

数据库记录的删除,update比delete好

数据库使用delete语句后,数据库文件大小并没有变小,以致数据库的每次插入操作,都会使数据库体积变大。 与其删不掉,还是让他留着吧。发现使用Update的时候,只要新的数据不比原来的大,数据库体积就不会增大(文件存到数据库很容易看出效果)。 所以使用Update方式标记删除记录,添加新记录的时候如果存在标记为删除的记录,则更新该条记录为新记录。

阅读全文...

mysql一台服务器多实例做slave的配置方法

Master 1服务器和Slave服务器(3306)主从同步1、 Master 1服务器--查看参数文件,主要查看是否开启binlog和serverid[root@localhost ~]# cat /etc/my.cnflog-bin= mysql-binserver-id =200--登录mysql,赋予slave账号权限,允许该用户可以在主库上读取日志[root@localhost ~]# mysqlmysql> grant replication slave,reload,supe

阅读全文...

MySQL Binlog三种格式介绍及分析

一.Mysql Binlog格式介绍

Mysql binlog日志有三种格式,分别为Statement,MiXED,以及ROW!


1.Statement:每一条会修改数据的sql都会记录在binlog中。

优点:不需要记录每一行的变化,减少了binlog日志量,节约了IO,提高性能。(相比row能节约多少性能与日志量,这个取决于应用的SQL情况,正常同一条记录修改或者插入row格式所产生的日志量还小于Statement产生的日志量

阅读全文...

mysq​l[Warning]Unsafe statement written to the binary log using statement format since BINLOG_FORMAT

[Warning] Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. INSERT... SELECT... ON DUPLICATE KEY UPDATE is unsafe because the order in which rows are retrieved by the SELECT determines which (if any) rows are updated. This order cannot be predicted and may differ on master and the slave. Statement:INSERT INTO tab_name


查了下原因,tab_name 这个表上有2个唯一键。则使用INSERT … ON DUPLICATE KEY UPDATE ,且当前数据库binlog_format是statement格式,这种sql语句就会报unsafe。


阅读全文...

mysql解决Table ‘./xxx/xxxxxx’ is marked as crashed and should be repaired 错误

然后进入 MySQL 数据库发现 Table ‘./xxx/xxxxxx’ is marked as crashed and should be repaired 错误,因为 xxxxxx表被损坏了,所以 WordPress 的文章都显示不出来:

# mysql -u root -p
Enter password:

mysql> use xxx;
Reading table i

阅读全文...