写在前面MySQL 是个神奇的关系型数据库,真心感觉牛逼,因为做的项目比较杂,之前也碰到过 Oracle 数据库,给我的印象是 Oracle 很臃肿繁琐,配置多,如果是小项目用它的话感觉就像是杀鸡用牛刀,大材小用。但是也不是说Mysql不能用于大项目,MySQL 开元免费,是现在关系型数据库的主流产品,网上相应的文档和问题解决方案也会很多,意思就是比如菜鸟如我碰到了Mysql出的问题,网上基本上很全。系统环境 Debain 7Mysql 5.61.MySQL 简单操作命令//1.登录mysql,括号中的为可选项,$(包括$)后面为实际数据,-D是指定数据库登录mysql (-h$host) (-P$port) -u$user -p$pwd (-D$dbname) //地址 端口 账号 密码 数据库名//2.删除、创建数据库drop database dbname; //删除数据库create database dbname charset utf8 //创建数据库//3.删除、创建数据库表drop table tablename;//删除表create table tablename(id int, name varchar(80)); //创建表//4.表操作show triggers\g / show triggers; //查看触发器show variables like ‘character_set_database’; //查看库编码desc tablename; //查看表结构select current_date(); //查看表创建时间//5.导入sql文件use dbname;source /dbname.sql; //执行 sql 文件//6.当前的连接情况select current_user(); //查看当前登录账号show processlist; //查看当前进程show full processlist;//查看当前全部进程select user,host,Super_priv from mysql.user; //查看所有可连接用户、地址和权限信息(Super_priv 用户有super权限才可以导入数据)grant all privileges on . to root@’%’ identified by ‘root’ with grant option;flush privileges; //给root用户远程登录的所有权限2.自动导入sql文件2.1 shell操作#创建 createDb.sh,内容如下:#!/bin/bash#通过 shell 自动初始化数据库和表结构host=$1 #地址port=$2 #端口user=$3 #账号pwd=$4 #密码dbname=$5 #数据库名path=$6 #sql 文件路径mysql -h$host -P$port -u$user -p$pwd <<EOFdrop database if exists $dbname;create database $dbname charset utf8;use $dbname;source $pathCOMMIT;EOF#查看 shell 的执行过程命令sh -x ./shell //查看 shell 执行过程2.2 expect操作#!/usr/bin/expect -fset timeout 10set host [lindex $argv 0]set port [lindex $argv 1]set user [lindex $argv 2]set pwd [lindex $argv 3]set dbname [lindex $argv 4]set path [lindex $argv 5]set cset [lindex $argv 6] #字符编码spawn mysql -h$host -P$port -u$user -pexpect “Enter password: “send “$pwd\r"expect “mysql> “send “drop database if exists $dbname;create database $dbname charset $cset;\r"expect “mysql> “send “use $dbname;\r"expect “mysql> “send “source $path;\r"expect “mysql> “send “exit\r"interact回头研究再更新操作,有哪里写的不对的也请不吝赐教