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 上不... 如果你在股票市场做投资,那么你可能非常清楚投资组合管理计划有多重要。管理投资组合的目标是依据你能承受...
通过 SaltStack 管理... 我在搜索Puppet的替代品时,偶然间碰到了Salt。我喜欢puppet,但是我又爱上Salt了:)...
Epic 游戏商店现在可在 S... 现在可以在 Steam Deck 上运行 Epic 游戏商店了,几乎无懈可击! 但是,它是非官方的。...
《Apex 英雄》正式可在 S... 《Apex 英雄》现已通过 Steam Deck 验证,这使其成为支持 Linux 的顶级多人游戏之...
如何在 Github 上创建一... 学习如何复刻一个仓库,进行更改,并要求维护人员审查并合并它。你知道如何使用 git 了,你有一个 G...
2024 开年,LLUG 和你... Hi,Linuxer,2024 新年伊始,不知道你是否已经准备好迎接新的一年~ 2024 年,Lin...
什么是 KDE Connect... 什么是 KDE Connect?它的主要特性是什么?它应该如何安装?本文提供了基本的使用指南。科技日...
Opera 浏览器内置的 VP... 昨天我们报道过 Opera 浏览器内置了 VPN 服务,用户打开它可以防止他们的在线活动被窥视。不过...