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率,...
毕业论文AI率,应不应该查?怎么查?毕业季的这个话题引发了很多大学...
2025-06-17 21:15:21
AI时代,关系模型仍会胜出...
科技行业对“下一个大趋势”有着强烈的渴望。但有时,正是那些老技术最...
2025-06-16 20:20:33
AI陪你逛敦煌千年数字图书...
“数字藏经洞”页面截图 文/羊城晚报记者 王丹阳 图/...
2025-06-04 07:42:31
18亿!曝云数据平台Sno...
智东西 编译 | 金碧辉 编辑 | 程茜 智东西6月3日消息,据...
2025-06-03 21:42:44
前端-session、jw...
目录:   (1)ses...
2025-06-01 22:54:58
linux入门---制作进...
了解缓冲区 我们首先来看看下面的操作: 我们首先创...
2025-06-01 22:45:12

热门资讯

Helix:高级 Linux ... 说到 基于终端的文本编辑器,通常 Vim、Emacs 和 Nano 受到了关注。这并不意味着没有其他...
使用 KRAWL 扫描 Kub... 用 KRAWL 脚本来识别 Kubernetes Pod 和容器中的错误。当你使用 Kubernet...
JStock:Linux 上不... 如果你在股票市场做投资,那么你可能非常清楚投资组合管理计划有多重要。管理投资组合的目标是依据你能承受...
Epic 游戏商店现在可在 S... 现在可以在 Steam Deck 上运行 Epic 游戏商店了,几乎无懈可击! 但是,它是非官方的。...
《Apex 英雄》正式可在 S... 《Apex 英雄》现已通过 Steam Deck 验证,这使其成为支持 Linux 的顶级多人游戏之...
从 Yum 更新中排除特定/某... 作为系统更新的一部分,你也许需要在基于 Red Hat 系统中由于应用依赖排除一些软件包。如果是,如...
通过 SaltStack 管理... 我在搜索Puppet的替代品时,偶然间碰到了Salt。我喜欢puppet,但是我又爱上Salt了:)...
如何在 Github 上创建一... 学习如何复刻一个仓库,进行更改,并要求维护人员审查并合并它。你知道如何使用 git 了,你有一个 G...
Opera 浏览器内置的 VP... 昨天我们报道过 Opera 浏览器内置了 VPN 服务,用户打开它可以防止他们的在线活动被窥视。不过...
如何检查你的 Linux 系统... 不知道在使用哪个初始化系统?以下是方法。每个主流 Linux 发行版(包括 Ubuntu、Fedor...