Linux有問必答:如何在命令行創建一個MySQL資料庫
第一步:安裝MySQL客戶端
當然你得確保MySQL客戶端已經安裝完畢。如果沒有的話,可以按照下面的方法。
在Debian,Ubuntu 或者 Linux Mint上:
$ sudo apt-get install mysql-client
在Fedora,CentOS 或者 RHEL上:
$ sudo yum install mysql
第二步:登陸到MySQL伺服器
首先,你需要使用root用戶登陸進你的MySQL資料庫,如下:
$ mysql -u root -h <mysql-server-ip-address> -p
請注意:為了能登進遠程的MySQL伺服器,你需要開啟伺服器上的遠程訪問,如果你想調用同一主機上的MySQL伺服器,你可以省略 "-h " 參數
$ mysql -u root -p
你將需要輸入MySQL伺服器的密碼,如果認證成功,MySQL提示將會出現。
第三步:創建一個MySQL資料庫
在MySQL提示中輸入命令之前,請記住所有的命令都是以分號結束的(否則將不會執行)。另外,考慮輸入命令的時候使用大些字母,輸入資料庫對象使用小寫字母。但那不是必須的,只是方便你的閱讀。
現在,讓我們創建一個叫做xmodulo_DB的資料庫:
mysql> CREATE DATABASE IF NOT EXISTS xmodulo_DB;
第四步:創建一個資料庫表
為了達到演示的目的,我們將會創建一個叫做posts_tbl的表,表裡會存儲關於文章的如下信息:
- 文章的標題
- 作者的名字
- 作者的姓
- 文章可用或者不可用
- 文章創建的日期
這個過程分兩步執行:
首先,選擇我們需要使用的資料庫:
mysql> USE xmodulo_DB;
然後,在資料庫中創建新表:
mysql> CREATE TABLE 'posts_tbl' (
'post_id' INT UNSIGNED NOT NULL AUTO_INCREMENT,
'content' TEXT,
'author_FirstName' VARCHAR(100) NOT NULL,
'author_LastName' VARCHAR(50) DEFAULT NULL ,
'isEnabled' TINYINT(1) NOT NULL DEFAULT 1,
'date' TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ,
PRIMARY KEY ( 'post_id' )
) TYPE = MYISAM;
第五步:創建一個用戶,並授予許可權
當涉及到訪問我們新創的資料庫和表的時候,創建一個新用戶是一個很好的主意。這樣做就可以讓用戶在沒有整個MySQL伺服器許可權的情況下,去訪問那個資料庫(而且只能是那個資料庫)
你可以創建新用戶,授予許可權,並且使改變生效:
mysql> GRANT ALL PRIVILEGES ON xmodulo_DB.* TO 'new_user'@'%' IDENTIFIED BY 'new_password';
mysql> FLUSH PRIVILEGES;
'newuser'和'newpassword'分別指的是新的用戶名和他的密碼。這條信息將會被保存在mysql.user表中,而且密碼會被加密。
第六步:測試
讓我們插入一個虛擬的記錄到posts_tbl表:
mysql> USE xmodulo_DB;
mysql> INSERT INTO posts_tbl (content, author_FirstName, author_Las tName)
VALUES ('Hi! This is some dummy text.', 'Gabriel', 'Canepa');
然後查看posts_tbl表中的所有記錄:
mysql> SELECT * FROM posts_tbl;
注意:MySQL會在我們先前定義的地方自動插入適當的默認值(比如,'isEnabled'和'date')。
via: http://ask.xmodulo.com/create-mysql-database-command-line.html
本文轉載來自 Linux 中國: https://github.com/Linux-CN/archive