在安裝之前
我的工作環(huán)境是:
- MacOS Sierra 10.12.5
- Python 3.6
在MacOS下我們最好用Homebrew安裝, 用過mac的都知道這工具的方便和重要, 相當(dāng)于linux下的apt-get或yum, 能用它來安裝mac上沒有的UNIX工具.
好, 下面開始安裝MySQL.
MacOS上應(yīng)該的安裝流程
安裝mysql和mysql-connector
brew info openssl
brew install mysql
brew install mysql-connector-c
pip install mysqlclient(放在后面安裝)
如果你想啟動mysql, 執(zhí)行下面這條, 這個可以后面用的時候再啟動
mysql.server start
停止server
mysql.server stop
本地訪問mysql
mysql -u root
本地訪問默認(rèn)root不用密碼直接訪問, 所以如果你用mysql -u root -p
然后
直接敲兩次回車也能進(jìn)去(如果真有密碼就要在兩次回車間輸入密碼了)
安裝mysqlclient
mysqlclient是Python和MySQL的driver, 我們將會用pip安裝. 還有其他的MySQL & python接口, 例如pymysql. 我們這里就用mysqlclient, 它是MySQL-python的一個fork并增加了對Python 3的支持. 但是安裝它之前需要對/usr/local/bin/mysql_config
文件做一些修改如下:
# Create options
libs="-L$pkglibdir"
libs="$libs -l "
改為-->>
# Create options
libs="-L$pkglibdir"
libs="$libs -lmysqlclient -lssl -lcrypto"
做完這些修改然后執(zhí)行:
pip install mysqlclient
創(chuàng)建MySQL數(shù)據(jù)庫
首先要啟動MySQL
mysql.server start
如果成功啟動會提示
Starting MySQL
. SUCCESS!
建一個MySQL的數(shù)據(jù)庫
mysql -u root -e "create database testdbname";
(刪除一個數(shù)據(jù)庫mysql> drop database <db_name>;
)
從.sql文件建立數(shù)據(jù)庫
安裝好MySQL并啟動服務(wù)后, 就可以用一系列shell指令和mysql指令從.sql文件中建立數(shù)據(jù)庫
$ mysql -u root
mysql> create database securities_master;
mysql> create user 'sec_user'@'localhost' identified by 'password';
$ mysql -u sec_user -p securities_master < securities_master.sql (輸剛剛設(shè)置的密碼'password')
如果報錯就mysql.server stop (start)
再來一遍
從腳本調(diào)用剛創(chuàng)建的數(shù)據(jù)庫
至此就可以在腳本里使用securities_master這個mysql數(shù)據(jù)庫了, 腳本里的設(shè)置要和mysql設(shè)置一致
db_host = 'localhost'
db_user = 'sec_user'
db_pass = 'password'
db_name = 'securities_master'
手動操作MySQL
有時候我們需要簡單的看一看創(chuàng)建的mysql對不對, 或者做一些簡答的查詢下面列出一些常用的操作:
使用某一數(shù)據(jù)庫
mysql> USE databasename;
觀察當(dāng)前被使用的數(shù)據(jù)庫
mysql> SELECT DATABASE();
觀察當(dāng)前數(shù)據(jù)庫所含有的所有表格
mysql> SHOW TABLES;
查看表格的信息
mysql> DESCRIBE tablename;
尋找某字段包含某一段字符串的條目
mysql> SELECT ticker,name FROM symbol WHERE ticker LIKE "%mm%";
輸出結(jié)果:
+--------+------------------+
| ticker | name |
+--------+------------------+
| MMM | 3M Company |
| MMC | Marsh & McLennan |
+--------+------------------+
2 rows in set (0.00 sec)