服务器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://test.idctop.com/article/512746.html

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

相关推荐

  • 服务器虚拟出主机的具体步骤有哪些?, 怎么设置

    服务器虚拟化就是把一台物理服务器通过虚拟化软件分割成多个独立运行的虚拟主机,每个虚拟主机拥有独立的操作系统和资源,实际效果等同于用一台硬件变出多台专用服务器,服务器虚拟化是什么意思?从物理机到虚拟机的蜕变很多刚接触这个领域的朋友会问,服务器虚拟化到底是什么意思?简单说,它是在物理服务器和操作系统之间插入一个虚拟……

    2026年8月5日
    600
  • 负载均衡反向代理层怎么配置?负载均衡与反向代理的区别和最佳实践

    【负载均衡反向代理层】在构建高可用、高并发的互联网服务架构中,负载均衡反向代理层是承上启下的核心枢纽,它不仅承担流量分发、健康检查与故障隔离等基础功能,更直接影响系统的吞吐能力、响应延迟与整体稳定性,本次测评基于2026年主流负载均衡与反向代理解决方案,从技术实现、性能表现、运维能力及生态适配四个维度展开深度评……

    服务器测评 2026年4月16日
    6400
  • 你真的懂泛型编程吗?, 泛型编程与模板的区别?

    泛型编程是一种将类型参数化以实现代码复用的核心范式,它让你在编写函数或类时暂不指定具体类型,在保证类型安全的前提下消除重复代码,是提升代码灵活性与可维护性的关键手段,泛型编程是什么?核心概念与工作原理泛型编程的核心思想是参数化类型,通俗地说,就是把类型当作像变量一样的参数来传递,让你写出一套逻辑,然后自动适配多……

    2026年7月23日
    500
  • 低价住宅IP VPS哪家有?国外VPS推荐弘速云42元起

    在全球化业务拓展和特定网络需求激增的当下,选择一款具备真实网络属性、稳定且高性价比的VPS服务至关重要,弘速云近期推出的住宅IP属性VPS产品线,以其独特的“原生/双ISP住宅IP”为核心卖点,覆盖美国、日本、德国、英国、西班牙等主流地区,并辅以香港及美国的建站优化机型,为不同应用场景提供了极具竞争力的解决方案……

    2026年2月7日
    19200
  • 国际业务中台技术是什么?中台架构如何搭建

    构建国际业务中台技术体系,是出海企业打破跨国数据孤岛、实现全球业务敏捷响应与合规运营的核心基础设施,国际业务中台技术的战略重构出海技术架构的演进必然传统“一国一系统”的烟囱式架构,已无法适应当下全球化高频竞争,国际业务中台并非国内中台的简单翻译版,而是基于全球网络拓扑与多国合规要求重构的数字底座,据Gartne……

    2026年4月26日
    5900
  • 国家能源集团智慧矿山怎么样?智慧矿山建设方案有哪些

    国家能源集团智慧矿山通过5G+AI+工业互联网深度融合,已实现煤矿生产全流程智能化少人无人干预,是2026年中国煤炭工业数字化转型的标杆与终局答案,破局与重构:智慧矿山的底层逻辑告别“黑脏险”,走向“绿智安”传统煤矿长期受制于高危作业环境与劳动力老龄化,国家能源集团智慧矿山的建设,并非简单的设备升级,而是对采矿……

    2026年4月29日
    6700
  • 服务器如何高效处理bmp文件,bmp格式怎么转换成jpg?

    服务器 BMP”的技术解析由于“BMP”在服务器领域可能指代不同的技术概念,本文将从网络协议与图像文件处理两个核心维度进行详细说明,BGP Monitoring Protocol (BGP 监控协议)在网络架构和路由管理领域,BMP 指的是 BGP Monitoring Protocol,它是用于监控 BGP……

    2026年7月13日
    7000
  • Percy视觉测试怎么用?像素级对比工具实测

    Percy测评:视觉测试平台,像素级对比在追求快速迭代与完美用户体验的现代开发中,确保每一次代码变更不破坏现有界面至关重要,视觉回归测试(Visual Regression Testing)是保障前端视觉一致性的核心防线,而Percy正是这一领域的标杆级平台,经过深度测试与实际项目部署,我们对其能力进行了全面评……

    2026年2月13日
    17600
  • 高防国内虚拟主机怎么选择?高防虚拟主机哪家稳定

    高防国内虚拟主机是应对DDoS攻击、保障业务连续性的核心基础设施,其价值在于通过底层网络清洗能力与合规备案优势,为中小企业提供高性价比的安全屏障,在数字化浪潮席卷全球的今天,网站不再仅仅是展示信息的窗口,更是企业营收的生命线,恶意攻击如影随形,尤其是针对国内业务的DDoS攻击,往往在深夜悄然发生,导致服务器瘫痪……

    2026年6月3日
    3300
  • Black Duck是什么?Synopsys开源工具安全合规测评

    随着开源组件占比在现代软件中超过70%,安全与合规管理成为企业服务器的核心需求,Synopsys旗下Black Duck作为行业领先的开源安全解决方案,为全球企业提供从代码扫描到风险治理的全生命周期管理,本次深度测评基于企业级服务器环境部署(硬件:双路Intel Xeon Platinum 8380/512GB……

    2026年2月12日
    17600

发表回复

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