标签 mysql 下的文章

Linux自动备份网站文件和MySQL数据到远程服务器

本地生成备份

创建备份文件夹

mkdir -p /home/bakup

创建本地备份脚本文件

vi /root/bakup.sh

写入:

#打包网站文件
tar zcvpf /home/backup/blog-`date +%Y%m%d%H%M`.tar.gz /home/wwwroot/2dan.cc/* --exclude={'list','view','news'}

#导出数据库至独立文件
databases=`mysql --user=root -p123456 -e "show databases;" | grep -Ev "(Database|mysql|information_schema|performance_schema)"`
for db in $databases; do
  mysqldump -uroot -p123456 --lock-tables=false --databases $db | gzip > "/home/bakup/$db-`date +%Y%m%d%H%M`.sql.gz"
done
#删除3天前的备份
find /home/backup/  -name "*.gz" -type f -ctime  +3 | xargs rm -rf

- 阅读剩余部分 -

Table XXX is marked as crashed and should be repaired

今天在更新网站时突然分类下的数据全没了,而查看网站分类和留言都正常。登陆phpmyadmin点击数据库的ff_vod表时发现了错误提示:

[ERROR] #145: Table 'ff_vod' is marked as crashed and should be repaired

解决:
方法一:

  1. 登陆phpmyadmin
  2. 在左则选中相应的数据库
  3. 在右则勾选错误信息中的那个'ff_vod'表
  4. 下拉菜单选择”修复表”
    1.png

方法二:

# cd /usr/local/mysql/bin/
myisamchk -c -r /var/lib/mysql/2dan_sql/ff_vod.MYI 

然后myisamchk 工具会帮助你恢复数据表的索引。

Mysql查看和修改最大连接数

查看mysql连接数:

mysql> show variables like 'max_connections'; 

修改最大连接数:

方法一:

mysql> set GLOBAL max_connections=1000;

这种方式有个问题,就是设置的最大连接数只在mysql当前服务进程有效,一旦mysql重启,又会恢复到初始状态。因为mysql启动后的初始化工作是从其配置文件中读取数据的,而这种方式没有对其配置文件做更改。

方法二:
编辑 /etc/my.cnf 文件:

max_connections=1000

然后重启MySQL即可。

Mysql缓存配置

从 MySQL4开始,出现了QueryCache查询缓存,如果使用了QueryCache,当接收到一个和之前同样的查询,服务器将会从缓存中检索结果,而不是再次分析和执行上次的查询。这样就大大提高了性能,节省时间,非常有用。

有时候,虽然你开启了Mysql查询缓存,但是如果你设置的查询缓存大小为0,这和没有开启缓存没什么区别。所以必须正确的设置才能真正打开查询缓存这个功能。

下面我用 mysql6.0 为例演示最常用的查询缓存设置

一: query_cache_type 使用查询缓存的方式

一般,我们会把 query_cache_type 设置为 ON,默认情况下应该是ON

mysql> select @@query_cache_type;
+——————–+
| @@query_cache_type |
+——————–+
| ON |
+——————–+

这样 当我们执行 select id,name from tableName; 这样就会用到查询缓存。

- 阅读剩余部分 -