❏ 站外平台:

Linux有问必答:如何在命令行创建一个MySQL数据库

译者: LCTT Kaiyao

| 2014-10-10 21:23   评论: 15 收藏: 2 分享: 6    

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

为了能通过命令行创建一个MySQL数据库,你可以使用mysql命令行客户端。下面是通过mysql命令行客户端创建和安装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

译者:su-kaiyao 校对:wxy

本文由 LCTT 原创翻译,Linu x中国 荣誉推出



最新评论

yang.yusi 2014-10-31 15:26 2 回复
这个对于小白来说很有实用
微博评论 2014-10-11 14:33 2 回复
回复@Linux中国:[嘻嘻][嘻嘻]没,只是看到这个小问题,可能会让我等小白误会,@Linux中国 团队还是是值得大家肯定的!继续发扬!另外社区略安静的样子…//@Linux中国: 回复@eve_ouyang:抱歉抱歉,校对翻译过程笔误~~马上改。
微博评论 2014-10-11 14:33 2 回复
[嘻嘻][嘻嘻]没,只是看到这个小问题,可能会让我等小白误会,@Linux中国 团队还是是值得大家肯定的!继续发扬!另外社区略安静的样子…//@Linux中国: 回复@eve_ouyang:抱歉抱歉,校对翻译过程笔误~~马上改。
[1]
ZMOM1031 发表于 2014-10-10 21:53 的评论:
在Fedora,CentOS 或者 RHEL上安装客户端是:yum install mysql
我觉得要安装Mysql的话在安装MySQL数据库服务的时候就应该安装
yum install mysql mysql-server //安装MySQL客户端和服务端
service mysqld start //启动MySQL服务
mysqladmin -u root password'登录密码' //设置MySQL登录密码
感觉这篇文章短斤少两啊,MySQL的其他用户也没创建
[2]
linux 发表于 2014-10-11 11:18 的评论:
抱歉,文章有误,已经修改。
这篇文章没有涉及到如何安装和配置 mysql server,只是安装客户端并建立数据库。
[3]
ZMOM1031 发表于 2014-10-11 11:58 的评论:
“第五步:创建一个用户,并授予权限”我没看到有创建SQL用户的那条命令
CREATE USER 用户名 IDENTIFIED BY '密码';

另外我问一下,新浪微博的评论和转发是怎么同步到Linux中国的评论里的?
[4]
linux 发表于 2014-10-11 12:23 的评论:
不用显式创建用户的,只需要grant 的时候给identified就行了。
ZMOM1031 2014-10-11 12:49 5 回复
好吧
[1]
ZMOM1031 发表于 2014-10-10 21:53 的评论:
在Fedora,CentOS 或者 RHEL上安装客户端是:yum install mysql
我觉得要安装Mysql的话在安装MySQL数据库服务的时候就应该安装
yum install mysql mysql-server //安装MySQL客户端和服务端
service mysqld start //启动MySQL服务
mysqladmin -u root password'登录密码' //设置MySQL登录密码
感觉这篇文章短斤少两啊,MySQL的其他用户也没创建
[2]
linux 发表于 2014-10-11 11:18 的评论:
抱歉,文章有误,已经修改。
这篇文章没有涉及到如何安装和配置 mysql server,只是安装客户端并建立数据库。
[3]
ZMOM1031 发表于 2014-10-11 11:58 的评论:
“第五步:创建一个用户,并授予权限”我没看到有创建SQL用户的那条命令
CREATE USER 用户名 IDENTIFIED BY '密码';

另外我问一下,新浪微博的评论和转发是怎么同步到Linux中国的评论里的?
linux 2014-10-11 12:20 2 回复
嗯,应该是要创建用户的,我去看看原文。
转发和评论是我们做的 API 同步。
微博评论 2014-10-11 11:33 3 回复
回复@eve_ouyang:抱歉抱歉,校对翻译过程笔误~~马上改。
微博评论 2014-10-10 22:03 2 回复
回复@eve_ouyang:[哈哈]我也看见了,可能是初学者写的文章吧
微博评论 2014-10-10 22:03 2 回复
→_→ 竟然在Fedora,CentOS 或者 RHEL上: $ sudo apt-get install mysql
微博评论 2014-10-10 21:33 2 回复
@我的印象笔记
微博评论 2014-10-10 21:33 2 回复
文章前边部分一直再用,只是那个为数据库创建一个只能访问一个数据库的账户学习了: mysql> GRANT ALL PRIVILEGES ON xmodulo_DB.* TO 'new_user'@'%' IDENTIFIED BY 'new_password'; mysql> FLUSH PRIVILEGES;
微博评论 2014-10-10 21:33 2 回复
一个简单的mysql命令行使用例子
LCTT 译者
Kaiyao 🌟🌟🌟
共计翻译: 24.0 篇 | 共计贡献: 522
贡献时间:2014-07-14 -> 2015-12-17
访问我的 LCTT 主页 | 在 GitHub 上关注我


返回顶部

分享到微信

打开微信,点击顶部的“╋”,
使用“扫一扫”将网页分享至微信。