MySQL 是个神奇的关系型数据库,真心感受牛逼,由于作的项目比较杂,以前也碰到过 Oracle 数据库,给个人印象是 Oracle 很臃肿繁琐,配置多,若是是小项目用它的话感受就像是杀鸡用牛刀,大材小用。可是也不是说Mysql不能用于大项目,MySQL 开元免费,是如今关系型数据库的主流产品,网上相应的文档和问题解决方案也会不少,意思就是好比菜鸟如我碰到了Mysql出的问题,网上基本上很全。javascript
系统环境 Debain 7
Mysql 5.6
//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用户远程登陆的全部权限
#建立 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 <<EOF drop database if exists $dbname;create database $dbname charset utf8; use $dbname; source $path COMMIT; EOF #查看 shell 的执行过程命令 sh -x ./shell //查看 shell 执行过程
#!/usr/bin/expect -f set timeout 10 set 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 -p expect "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
回头研究再更新操做,有哪里写的不对的也请不吝赐教