convert mysql table engine myisam to innodb

#!/bin/bash if [ $# -ne 1 ]; then echo “usage: convert.sh database” exit 1 fi date db=$1 echo “Convert database $db” ; mysql -B -N -e “SELECT TABLE_NAME, ENGINE FROM information_schema.TABLES where TABLE_SCHEMA = ‘$db’ and engine=’myisam'” |awk ‘{print $1}’| while read table; \ do \ echo “+ Converting Table $table”; \ mysql . . . → Read More: convert mysql table engine myisam to innodb

kill mysql show processlist kill

#!/bin/bash date for id in `mysqladmin processlist | grep -i “your detect filter” |awk ‘{print $2}’` do mysqladmin kill ${id}; echo ${id}.’\n'; done

CentOS 6.2 install MySQL-Percona(转)

Mysql 是目前众多企业使用的最频繁的数据,不仅是Mysql有着免费的原因,其还有着在性能上更多的优势,其优势我在这不一一罗列,现就我在安装过程的步骤及其遇到的问题给大家分享一下,权当是自己在此写的一点点心得,若有不足之处请各位大牛们校正

1、源码包的装备 可以去http://www.percona.com/downloads/下载你需要的版本 2、安装系统环境准备 可以yum安装相应服务,yum install -y gcc gcc-c++ gcc-g77 autoconf automake zlib* fiex* libxml* ncurses-devel libmcrypt* libtool-ltdl-devel* cmake bison Cmake一定要安装,你可以源安装,安装包下载地址在www.cmake.org,也可以yum安装,我图方便直接yum安装了,呵呵 3、数据库安装过程 (1)创建目录,用户和设置权限 mkdir -p /data/mysql #用于存放数据库数据目录 mkdir -p /usr/local/mysql  #用于存放数据库程序文件目录 groupadd mysql                       #添加mysql组 useradd -g mysql mysql -s /sbin/nologin     #添加一个数据库用户且加到mysql组,并设置不作为登陆用户 chown -R mysql.mysql /data/mysql/    #设置数据库目录所属用户及组 (2)编译安装,进入源程序目录 #cd Percona-Server-5.5.15-rel21.0 #cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \ . . . → Read More: CentOS 6.2 install MySQL-Percona(转)

mysql5.5.24无法启动-启动失败

mysql 版本升级到5.5据新东家oracle说读写性能较之前的mysql5.1提高了两三倍,所以就在centos vps上安装了mysql5.5.24.

rpm安装步骤:

到http://dev.mysql.com/downloads/mysql/ 下载对应版本的mysql压缩包,我用的系统是centos 6.2,所以server platform 我选了 Linux Generic  具体下载地址是http://cdn.mysql.com/Downloads/MySQL-5.5/MySQL-5.5.24-1.linux2.6.x86_64.tar

下载完,解压缩之后 rpm -ivh server.rpm

遇到两个问题,一个是mysql 连接遇到错误:“Can’t connect to local MySQL server through   /var/lib/mysql/mysql.sock” ,解决方案 touch /var/lib/mysql/mysql.scok ,然后重新启动mysql  :service mysql start

遇到第二个问题:The server quit without updating PID file (/var/lib/mysql/*.pid), 打开mysql错误日志err,看了一下,提示:Mysql-Table ‘mysql.host’ doesn’t exist ,重建mysql数据库表,mysql_install_db –user=mysql –ldata=/var/lib/mysql  ,然后

/usr/bin/mysqld_safe  发现已经可以安全启动,ctrl+C,然后执行service mysql restart 成功启动mysql5.5.24

 

mysql(ERROR 1406 (22001): Data too long for column)

MySQL 导入恢复数据库错误

执行命令: mysql -u[username] -p[password] dbname<dbbak.sql

遇到“ERROR 1406 (22001): Data too long for column at ” 某个字段过长,实际上是数据库sql文件中含有UTF8编码 如中文字段内容在Windows下,命令行窗口不支持UTF-8编码,即便使用“set names utf8;”不会达到转化中文的效果。但是这个问题还是可以解决的: (1)使用默认编码建立数据库。这种情况下就可以直接输入中文了,但是相应的问题,就是会失去UTF-8编码的灵活性。特别是不利于软件的国际化。 (2)放弃命令行窗口登录MySQL,使用图形化客户端。客户端工具可以MySQL的官方网站上找到。(比如navicat,mysql GUI tools之类的软件)

实际上sql文件小的话完全可以用phpMyAdmin的导入方式来解决的。对于大文件用上面提到的导入命令,效率比较高。实际上经过尝试,还有第三种解决方案,命令行模式mysql登录到控制台模式,用

source命令来导入 sql文件,很奇怪此时就不会再报错了。唯一不爽的是source 命令会输出一行行的sql执行结果,但在无图形化客户端的情况,仍不失为一个好办法,希望对需要的童鞋有用!