服务器mysql创建数据库怎么操作,步骤有哪些

在服务器上创建MySQL数据库,核心命令是CREATE DATABASE,但必须结合字符集、排序规则和用户授权,才能构建一个可用的线上数据库环境。

mysql创建数据库命令详解

基础语法与常用参数

CREATE DATABASE是MySQL中最基础的DDL语句,但很多人在使用时会忽略参数,导致后期出现乱码或权限问题。

1. 第一步:创建数据库(MySQL)
加载中
1. 第一步:创建数据库(MySQL)
CREATE DATABASE 数据库名;

这条命令会使用MySQL默认的字符集和排序规则,通常是latin1_swedish_ci,对于中文应用,这显然不够,所以实际使用中,我们几乎总是加上字符集和排序规则。

CREATE DATABASE 数据库名 CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;

行业共识认为,utf8mb4是目前最稳妥的字符集,它兼容所有Unicode字符,包括emoji。utf8mb4_unicode_ci则是基于Unicode的排序规则,比较准确。

生产环境推荐写法

在脚本或自动化部署中,为了避免重复创建报错,建议加上IF NOT EXISTS

CREATE DATABASE IF NOT EXISTS 数据库名 CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
  • 不要使用CREATE DATABASE不加参数,除非你确认默认字符集符合业务
  • 字符集和排序规则一旦确定,后期修改成本较高,需提前规划

服务器上mysql创建数据库步骤

连接MySQL服务器

假设你已通过SSH登录到服务器,MySQL服务正常运行,连接数据库的命令:

mysql -u root -p

输入密码后进入MySQL交互环境,如果使用云服务器,可能还需要指定主机地址和端口,

mysql -h 内网IP -u root -p -P 3306

执行创建数据库命令

进入MySQL后,执行:

CREATE DATABASE IF NOT EXISTS myapp CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;

服务器mysql创建数据库怎么操作,步骤有哪些

执行成功后,用SHOW DATABASES;确认是否出现。

创建用户并授权

数据库创建完成,但还需要一个用户来操作它,授权语句:

GRANT ALL PRIVILEGES ON myapp. TO 'myuser'@'localhost' IDENTIFIED BY '密码';
FLUSH PRIVILEGES;
  • myapp.表示该数据库下的所有表
  • 'localhost'表示只能从本机连接,如果应用在其他服务器,改为或具体IP

验证数据库

切换到新数据库并创建一张测试表,确认一切正常:

USE myapp;
CREATE TABLE test (id INT);
SHOW TABLES;

mysql创建数据库指定字符集与排序规则

字符集选择分析

字符集决定数据存储的编码方式,选错会直接导致写入数据乱码,MySQL支持的字符集很多,但常用的只有几种:

字符集 覆盖范围 适用场景
latin1 西欧字符 纯英文老系统,几乎淘汰
utf8 基本多文种平面(BMP) 之前的主流,但无法存emoji
utf8mb4 完整Unicode,包含辅助平面 新项目推荐,兼容所有现代文本

新项目请直接使用utf8mb4,避免以后迁移,MySQL官方文档也明确推荐utf8mb4作为默认字符集。

排序规则对比

排序规则(collation)影响字符串比较和排序,常见的有:

  • utf8mb4_unicode_ci:基于Unicode算法,比较准确,性能略低
  • utf8mb4_general_ci:MySQL专有算法,速度稍快,但部分字符排序不准确

多数情况下,utf8mb4_unicode_ci足够,差异可以忽略。

mysql创建数据库并授权操作

授权语句详解

服务器mysql创建数据库怎么操作,步骤有哪些

授权不只是GRANT ALL,你可以根据需要分配最小权限:

-- 只读权限
GRANT SELECT ON 数据库名. TO '只读用户'@'主机' IDENTIFIED BY '密码';
-- 读写权限(不含DDL)
GRANT SELECT, INSERT, UPDATE, DELETE ON 数据库名. TO '读写用户'@'主机' IDENTIFIED BY '密码';
  • 权限范围:数据库名.表示所有表,也可以指定数据库名.表名
  • 主机:localhost、、168.1.%

常见权限设置

对于线上环境,尽量避免使用ALL PRIVILEGES给普通应用,建议只给DML权限(增删改查),结构变更(CREATE TABLE等)由DBA通过其他账户操作。

执行授权后,务必运行FLUSH PRIVILEGES;,否则新权限不会立即生效。

linux服务器mysql创建数据库实操

环境准备

一台Linux服务器,已安装MySQL并启动,检查MySQL服务状态:

systemctl status mysqld

如果未启动,先启动并设置开机自启:

systemctl start mysqld
systemctl enable mysqld

命令行操作示例

以下是一个完整的创建数据库和用户的过程,假设数据库名为blog,用户名为bloguser,密码为SecurePass123

  1. 登录MySQL:mysql -u root -p
  2. 创建数据库:CREATE DATABASE blog CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
  3. 创建用户:CREATE USER 'bloguser'@'localhost' IDENTIFIED BY 'SecurePass123';
  4. 授权:GRANT ALL PRIVILEGES ON blog. TO 'bloguser'@'localhost';
  5. 刷新:FLUSH PRIVILEGES;
  6. 退出:EXIT

如果应用部署在另一台服务器,需要将localhost改为应用服务器的IP,或者在云服务器安全组中放行3306端口。

服务器mysql创建数据库怎么操作,步骤有哪些

常见问题与解决

权限不足

执行CREATE DATABASE时提示ERROR 1044 (42000),说明当前用户没有创建数据库的权限,使用root账户或具有CREATE权限的账户操作。

字符集不匹配

ERROR 1115 (42000): Unknown character set表示指定的字符集不存在,检查MySQL支持的字符集:

SHOW CHARACTER SET;

确认后选择可用的字符集,比如utf8mb4几乎在所有MySQL 5.5.3以上版本都支持。

连接问题

创建数据库后,远程连接不上,可能原因:

  • MySQL用户主机限制为localhost,需要改为或具体IP
  • 服务器防火墙或云安全组未放行3306端口
  • MySQL绑定地址默认是0.0.1,需修改/etc/mysql/my.cnf中的bind-address0.0.0,然后重启服务

在服务器上创建MySQL数据库,掌握CREATE DATABASE、字符集选择和授权命令,就能快速搭建数据存储环境,关键在于根据业务场景设置正确的字符集和权限,避免后续返工。

Q&A

mysql创建数据库命令是什么?

基本命令是CREATE DATABASE,常用完整写法为CREATE DATABASE IF NOT EXISTS 库名 CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;

mysql创建数据库指定字符集怎么做?

在创建命令后添加CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci,其中utf8mb4是当前最推荐的字符集,支持完整Unicode,如果使用其他字符集,需先确认MySQL支持。

云服务器mysql创建数据库时要注意什么?

云服务器自建MySQL时,需在安全组放开3306端口,并确保绑定地址允许外部连接,创建数据库和授权命令与本地一致,但用户主机需改为应用服务器IP或,如果使用云数据库服务,则通过控制台操作,但底层SQL逻辑相同。

首发原创文章,作者:王坚‌,如若转载,请注明出处:https://idctop.com/article/512746.html

(0)
CDN回源是什么意思?,CDN回源配置方法有哪些
上一篇 2026年7月22日 22:02
怎样才能让豆包最新版推荐我的公司,有哪些方法
下一篇 2026年7月22日 22:09

相关推荐

  • 国际业务中台系统原理是什么?企业为何要建国际业务中台

    国际业务中台系统原理的核心在于将跨国企业的公共能力(如多语种、多币种、全球合规等)进行抽象、沉淀与共享,通过“大中台+小前台”架构实现海外业务的敏捷响应与降本增效,国际业务中台的底层逻辑与核心架构跨国业务痛点与中台破局传统跨国企业常面临“烟囱式”架构困境:各区域独立部署,数据孤岛严重,中台系统原理的本质是解耦与……

    2026年4月24日
    5600
  • Nightwatch怎么样?E2E测试框架Node.js编写实战测评

    Nightwatch.js 深度测评:构建可靠的 Node.js E2E 测试在追求快速交付与零缺陷的现代Web开发中,端到端(E2E)测试是确保应用行为符合用户期望的关键防线,作为基于Node.js的主流E2E测试框架之一,Nightwatch.js以其简洁的语法和对W3C WebDriver协议的原生支持……

    2026年2月13日
    18100
  • 负载均衡有什么好处?企业为什么要用负载均衡?

    在服务器架构优化的过程中,负载均衡已成为高可用性网络服务的核心组件,本次测评将深入剖析负载均衡的实际效能,并结合2026年度最新的服务器促销活动,为企业和开发者提供具有参考价值的部署建议,负载均衡的核心价值与实测表现在针对某电商平台的高并发场景模拟测试中,我们部署了四台配置相同的应用服务器,通过负载均衡器进行流……

    2026年4月5日
    8600
  • 国外网络安全设备厂商有哪些?全球知名品牌排行榜推荐

    在全球化业务部署与跨境网络架构搭建的过程中,选择优质的硬件基础设施是保障业务连续性的关键,本次我们针对一家知名国外网络安全设备厂商旗下的高性能安全防护服务器进行了深度实机测评,该厂商以企业级防火墙和DDoS清洗设备闻名,此次测评旨在验证其硬件在真实高并发环境下的表现,并解析其针对企业用户推出的2026年度专项优……

    2026年3月15日
    13200
  • 国际业务板块检测是什么?如何做国际业务检测

    2026年企业出海破局的关键,在于构建以AI驱动、符合多国合规标准的全链路国际业务板块检测体系,实现风险前置与数据资产无缝流转,2026国际业务板块检测的核心逻辑与行业变局检测范式转移:从“事后验证”到“合规前置”传统出海往往先上线后修补,而在2026年,这种模式已彻底失效,根据【国际贸易合规理事会】2026年……

    2026年4月24日
    6800
  • 恒创云服务器618活动买3年送2年 香港日本美国机房可选 – VPS评测 – 国外VPS,国外VPS商家,评测及优惠

    在云计算与服务器托管领域,选择一家稳定可靠的服务商至关重要,恒创科技作为业内知名的云服务提供商,近期推出了2026年618特别活动,针对香港、日本及美国机房的云服务器产品,推出“买3年送2年”的长期优惠,本文将基于实际测试数据与行业经验,对该活动及相关产品进行详细评估,活动优惠详解本次优惠活动时间为2026年6……

    2026年2月4日
    15500
  • 负载均衡导致系统错误怎么办,负载均衡故障如何快速排查

    在近期的服务器深度测评工作中,我们针对市面上主流云服务商推出的2026年度企业级促销方案进行了全方位的压力测试,本次测评的核心焦点,集中在高并发场景下负载均衡策略配置不当引发的系统级错误,这不仅关乎服务器的硬件性能基准,更直接决定了业务在流量高峰期的存活率,测评环境与2026年活动方案概览本次测试选用的机型为服……

    2026年4月2日
    10200
  • DMIT香港CN2 GIA VPS怎么样?值得购买吗?

    DMIT作为一家专注于高端网络线路的服务商,其推出的香港CN2 GIA线路VPS在业内一直保持着较高的口碑,本次测评针对的是DMIT新推出的香港机房CN2 GIA VPS套餐,该套餐以91美元/年的价格提供了极具竞争力的配置,并且支持免费更换IP功能,这对于需要稳定网络环境的用户来说是一个重要的亮点,以下是对该……

    2026年2月28日
    15800
  • 高配置主机数据怎么查?电脑配置参数怎么看

    高配置主机并非单纯的性能堆砌,而是针对特定高负载场景(如AI训练、大型游戏服务器、4K视频渲染)的算力与稳定性综合解决方案,其核心在于CPU多核并行能力、GPU显存带宽以及ECC内存纠错机制的协同工作,在2026年的数字生态中,普通用户往往混淆了“高端消费级电脑”与“企业级高配置主机”的概念,前者追求的是单核高……

    2026年5月30日
    4000
  • 2026春季海外BGP服务器怎么样,DDR5内存流量用不完吗

    随着2026年春季的到来,海外独立服务器市场迎来了新一轮的硬件迭代与服务升级,本次测评团队针对市面上备受关注的 IPRaft 品牌进行了深度实测,重点考察其主打的 海外BGP多线网络、DDR5内存性能 以及春季促销活动的真实性价比,以下为详细的测评数据与分析, 硬件配置与架构分析本次测试机型为IPRaft春季主……

    2026年3月4日
    12800

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注