亦大亦小如你--MySQL

寫在前面

MySQL 是個神奇的關係型數據庫,真心感覺牛逼,因爲做的項目比較雜,之前也碰到過 Oracle 數據庫,給我的印象是 Oracle 很臃腫繁瑣,配置多,如果是小項目用它的話感覺就像是殺雞用牛刀,大材小用。但是也不是說Mysql不能用於大項目,MySQL 開元免費,是現在關係型數據庫的主流產品,網上相應的文檔和問題解決方案也會很多,意思就是比如菜鳥如我碰到了Mysql出的問題,網上基本上很全。

系統環境 Debain 7
Mysql 5.6

1.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 <<EOF

drop database if exists $dbname;create database $dbname charset utf8;

use $dbname;

source $path

COMMIT;
EOF

#查看 shell 的執行過程命令
sh -x ./shell //查看 shell 執行過程

2.2 expect操作

#!/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

回頭研究再更新操作,有哪裏寫的不對的也請不吝賜教

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章