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
回頭研究再更新操做,有哪裏寫的不對的也請不吝賜教