Linux有问必答：如何在命令行创建一个MySQL数据库
问题：在一个某处运行的MySQL服务器上，我该怎样通过命令行创建和安装一个MySQL数据库呢？  为了能通过命令行创建一个MySQL数据库，你可以使用mysql命令行客户端。下面是通过mysql命令行客户端创建和安装MySQL的步骤。  第一步：安装MySQL客户端 当然你得确保MySQL客户端已经安装完毕。如果没有的话，可以按照下面的方法。 在Debian，Ubuntu 或者 Linux Mint上： $ sudo apt-get install mysql-client  在Fedora，CentOS 或者 RHEL上： $ sudo apt-get install mysql  第二步：登陆到MySQL服务器 首先，你需要使用root用户登陆进你的MySQL
MySQL 数据库
118.207.130.241
一个简单的mysql命令行使用例子
微博评论
2014-10-10T21:33:01.000
118.207.130.241
文章前边部分一直再用，只是那个为数据库创建一个只能访问一个数据库的账户学习了： mysql&gt; GRANT ALL PRIVILEGES ON xmodulo_DB.* TO 'new_user'@'%' IDENTIFIED BY 'new_password'; mysql&gt; FLUSH PRIVILEGES;
微博评论
2014-10-10T21:33:01.000
118.207.130.241
@我的印象笔记
微博评论
2014-10-10T21:33:01.000
115.230.96.149
在Fedora，CentOS 或者 RHEL上安装客户端是：yum install mysql <br />
我觉得要安装Mysql的话在安装MySQL数据库服务的时候就应该安装<br />
yum install mysql mysql-server //安装MySQL客户端和服务端<br />
service mysqld start //启动MySQL服务<br />
mysqladmin -u root password'登录密码' //设置MySQL登录密码<br />
感觉这篇文章短斤少两啊，MySQL的其他用户也没创建
ZMOM1031
2014-10-10T21:53:34.000
180.125.253.24
→_→ 竟然在Fedora，CentOS 或者 RHEL上：  $ sudo apt-get install mysql
微博评论
2014-10-10T22:03:00.000
180.125.253.24
回复@eve_ouyang:[哈哈]我也看见了，可能是初学者写的文章吧
微博评论
2014-10-10T22:03:00.000
123.114.49.219
抱歉，文章有误，已经修改。<br />
这篇文章没有涉及到如何安装和配置 mysql server，只是安装客户端并建立数据库。
linux
2014-10-11T11:18:43.000
222.76.72.183
回复@eve_ouyang:抱歉抱歉，校对翻译过程笔误~~马上改。
微博评论
2014-10-11T11:33:00.000
115.230.99.51
“第五步：创建一个用户，并授予权限”我没看到有创建SQL用户的那条命令<br />
CREATE USER 用户名 IDENTIFIED BY '密码';<br />
<br />
另外我问一下，新浪微博的评论和转发是怎么同步到Linux中国的评论里的？
ZMOM1031
2014-10-11T11:58:02.000
123.114.49.219
嗯，应该是要创建用户的，我去看看原文。<br />
转发和评论是我们做的 API 同步。
linux
2014-10-11T12:20:38.000
123.114.49.219
不用显式创建用户的，只需要grant 的时候给identified就行了。
linux
2014-10-11T12:23:00.000
115.230.99.51
好吧
ZMOM1031
2014-10-11T12:49:23.000
37.58.100.67
[嘻嘻][嘻嘻]没，只是看到这个小问题，可能会让我等小白误会，@Linux中国 团队还是是值得大家肯定的！继续发扬！另外社区略安静的样子…//@Linux中国: 回复@eve_ouyang:抱歉抱歉，校对翻译过程笔误~~马上改。
微博评论
2014-10-11T14:33:01.000
37.58.100.67
回复@Linux中国:[嘻嘻][嘻嘻]没，只是看到这个小问题，可能会让我等小白误会，@Linux中国 团队还是是值得大家肯定的！继续发扬！另外社区略安静的样子…//@Linux中国: 回复@eve_ouyang:抱歉抱歉，校对翻译过程笔误~~马上改。
微博评论
2014-10-11T14:33:01.000
61.243.112.158
这个对于小白来说很有实用
yang.yusi
2014-10-31T15:26:55.000
问题：在一个某处运行的MySQL服务器上，我该怎样通过命令行创建和安装一个MySQL数据库呢？  为了能通过命令行创建一个MySQL数据库，你可以使用mysql命令行客户端。下面是通过mysql命令行客户端创建和安装MySQL的步骤。  第一步：安装MySQL客户端 当然你得确保MySQL客户端已经安装完毕。如果没有的话，可以按照下面的方法。 在Debian，Ubuntu 或者 Linux Mint上： $ sudo apt-get install mysql-client  在Fedora，CentOS 或者 RHEL上： $ sudo apt-get install mysql  第二步：登陆到MySQL服务器 首先，你需要使用root用户登陆进你的MySQL

> 
> **问题**：在一个某处运行的MySQL服务器上，我该怎样通过命令行创建和安装一个MySQL数据库呢？
> 
> 
> 


为了能通过命令行创建一个MySQL数据库，你可以使用mysql命令行客户端。下面是通过mysql命令行客户端创建和安装MySQL的步骤。


![](/data/attachment/album/201410/10/212344tncurh7ihy6460c0.png)


### 第一步：安装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服务器，你需要[开启服务器上的远程访问](http://xmodulo.com/2012/06/how-to-allow-remote-access-to-mysql.html)，如果你想调用同一主机上的MySQL服务器，你可以省略 "-h " 参数



```
$ mysql -u root -p

```

你将需要输入MySQL服务器的密码，如果认证成功，MySQL提示将会出现。


![](/data/attachment/album/201410/10/211622amqev8cqxxx4010m.jpg)


### 第三步：创建一个MySQL数据库


在MySQL提示中输入命令之前，请记住所有的命令都是以分号结束的(否则将不会执行)。另外，考虑输入命令的时候使用大些字母，输入数据库对象使用小写字母。但那不是必须的，只是方便你的阅读。


现在，让我们创建一个叫做xmodulo\_DB的数据库：



```
mysql> CREATE DATABASE IF NOT EXISTS xmodulo_DB; 

```

![](/data/attachment/album/201410/10/212350dgw5pgyhrg6rgygn.jpg)


### 第四步：创建一个数据库表


为了达到演示的目的，我们将会创建一个叫做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;

```

![](/data/attachment/album/201410/10/212352xhzy7nnqjgyjst7n.jpg)


### 第五步：创建一个用户，并授予权限


当涉及到访问我们新创的数据库和表的时候，创建一个新用户是一个很好的主意。这样做就可以让用户在没有整个MySQL服务器权限的情况下，去访问那个数据库(而且只能是那个数据库)


你可以创建新用户，授予权限，并且使改变生效：



```
mysql> GRANT ALL PRIVILEGES ON xmodulo_DB.* TO 'new_user'@'%' IDENTIFIED BY 'new_password';
mysql> FLUSH PRIVILEGES;

```

'new*user'和'new*password'分别指的是新的用户名和他的密码。这条信息将会被保存在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;

```

![](/data/attachment/album/201410/10/212354by9tdzi3fwn3jtdd.jpg)


注意：MySQL会在我们先前定义的地方自动插入适当的默认值(比如，'isEnabled'和'date')。




---


via: <http://ask.xmodulo.com/create-mysql-database-command-line.html>


译者：[su-kaiyao](https://github.com/su-kaiyao) 校对：[wxy](https://github.com/wxy)


本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译，[Linu x中国](http://linux.cn/) 荣誉推出

