Linux有问必答:如何在命令行创建一个MySQL数据库
创始人
2024-03-01 13:59:54
0

问题:在一个某处运行的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  -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中国 荣誉推出

相关内容

当AI学会了“删库跑路”,...
“一场Agent删库事故,意外揭开数据库体系的AI重构进程 202...
2026-05-09 19:47:42
AI大模型入场,重写职教生...
□ 本报记者 叶 真 生成式人工智能浪潮澎湃发展,如何让人工智能尤...
2026-03-24 12:39:34
AI“养龙虾”刷屏!券商出...
AI“养龙虾”太火了,最近不管打开哪个平台,大家都在聊怎么养龙虾。...
2026-03-09 09:46:17
“落地”为王,南京掀AI应...
□ 本报记者 李 凯 马年春节“AI红包大战”打响之前,南京优通科...
2026-02-02 07:18:53
AI拿走HBM,手机与PC...
“数据库最早发展的时候,关键挑战就是内存墙,到今天,这个‘幽灵’又...
2026-01-31 17:49:06
未来世界,拥抱AI者,才能...
文/叶檀 亚里士多德说,人是会使用工具的动物。 使用工具让人成为...
2026-01-29 22:22:52

热门资讯

为什么计量 IT 的生产力如此... 在某些行业里,人们可以根据一些测量标准判定一个人的生产力。比如,如果你是一个零件制造商,可以通过一个...
硬核观察 #885 苹果 AR... 苹果 AR 眼镜被无限期推迟据报道,由于技术上的挑战,苹果公司已经无限期推迟了其轻型增强现实(AR)...
8 个提升你的隐私防护的开源密... 使用一些顶级开源密码管理器,确保你的登录凭证安全无虞。密码管理器是一项非常有用的实用程序。在你想寻找...
PHP最佳实践(译) 简介PHP是一门复杂的语言,经过多年折腾,使其不同版本之间高度不一致,有时还有些bug。 每个版本都...
8个有趣的Linux提示与技巧... 我们时不时给你带来关于Linux的提示与技巧。和这个系列保持一致,这里有8个我们从读者收到最有趣的提...
值得收藏的 27 个机器学习的... 机器学习 ( Machine Learning ) 有很多方面,当我开始研究学习它时,我发现了各种各...
Helix:高级 Linux ... 说到 基于终端的文本编辑器,通常 Vim、Emacs 和 Nano 受到了关注。这并不意味着没有其他...
2020 年的 GitHub ... 距离 2020 年结束只剩下区区 24 天,我们即将结束魔幻的 2020 ,迎来新的一年,新的一年或...
开源新闻速递:openSUSE... 今日关注openSUSE 项目组的 Dominique Leuenberger 在他的周报中说:“这...
如何在 Github 上创建一... 学习如何复刻一个仓库,进行更改,并要求维护人员审查并合并它。你知道如何使用 git 了,你有一个 G...