mysql常用操作

12 Oct 2013, by

基本操作

权限控制

性能检测及优化

触发器

DELIMITER //
create trigger table_name_crc_ins before insert on table_name for each row BEGIN set NEW.url_crc=crc32(NEW.url); END; 
//
create trigger table_name_crc_upd before update on table_name for each row BEGIN set NEW.url_crc=crc32(NEW.url); END; 
//
DELIMITER ;

存储过程

存储函数(只有一个返回值时使用)

mysql远程访问。

导入导出数据库

mysql设置中文

解决与rails的兼容问题

# initializers/mysqlpls.rb

require 'active_record/connection_adapters/abstract_mysql_adapter'

module ActiveRecord
  module ConnectionAdapters
    class AbstractMysqlAdapter
      NATIVE_DATABASE_TYPES[:string] = { :name => "varchar", :limit => 191 }
    end
  end
end

报错解决方法

MySQL密码的恢复方法

有可能你的系统没有 safe_mysqld 程序(比如我现在用的 ubuntu操作系统, apt-get安装的mysql) , 下面方法可以恢复

  1. 停止mysqld; /etc/init.d/mysql stop (您可能有其它的方法,总之停止mysqld的运行就可以了)

  2. 用以下命令启动MySQL,以不检查权限的方式启动; mysqld –skip-grant-tables &
  3. 然后用空密码方式使用root用户登录 MySQL; mysql -u root
  4. 修改root用户的密码; mysql> update mysql.user set password=PASSWORD(‘newpassword’) where User=’root’; mysql> flush privileges; mysql> quit 重新启动MySQL /etc/init.d/mysql restart 就可以使用新密码 newpassword 登录了。