数据库Mysql入门


MySQL 入门:从安装到实战操作

MySQL 作为一款广泛应用的关系数据库管理系统(RDBMS),在后端开发领域占据着举足轻重的地位。无论是小型项目的本地数据存储,还是大型企业级应用的数据管理,MySQL 都展现出强大的功能与适应性。走进 MySQL 的世界,从基础安装、配置,到数据库建模、编程连接。


一、MySQL 架构初相识

在深入学习之前,先了解下 MySQL 的基本架构。它主要由数据库服务器、数据库以及数据表组成。数据库服务器如同一个数据仓库,存储着多个数据库;每个数据库又像是一个装满文件柜的房间,存放着多个表格;而数据表就是具体存储数据的地方,一行行数据整齐排列。当客户端发起请求时,会先通过 login 连接到 node server(这里承载着业务逻辑的实现代码),然后经过 select 操作,向 db server 获取所需数据,它们之间通过网络连接,协同工作,保障数据的流畅交互。

二、MySQL 安装与配置

  1. 安装:在 Ubuntu 系统下,安装 MySQL 非常便捷,只需一条命令:
sudo apt install mysql-server
  1. 配置:安装完成后,为保障安全性,需进行一些关键配置。
sudo mysql_secure_installation

按照提示操作:

  • Remove anonymous users? (Press y|Y for Yes, any other key for No) :
    y:移除匿名用户,避免潜在安全风险。
  • Disallow root login remotely? (Press y|Y for Yes, any other key for
    No) :
    y:禁止 root 远程登录,防止外部非法访问。
  • Remove test database and access to it? (Press y|Y for Yes, any other
    key for No) :
    n:这里根据需求选择是否移除测试数据库,示例中保留。
  • Reload privilege tables now? (Press y|Y for Yes, any other key for
    No) :
    y:重新加载权限表,使配置生效。
  1. 查看状态与运行:
systemctl status mysql.service

可查看 MySQL 服务的运行状态。要进入 MySQL 命令行界面,运行:

sudo mysql -u root -p

三、基础操作进阶

  1. 查看数据库:进入 MySQL 命令行后,可用以下命令查看已有数据库:
show databases;
show schemas;
  1. 本地连接配置:若要通过本地 Workbench 连接 MySQL,需修改配置。
sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf

将bind-address = 127.0.0.1修改为bind-address = 0.0.0.0,让 MySQL 监听所有 IP 地址。然后重启服务:

sudo systemctl restart mysql

并且允许 3306 端口通过防火墙:

sudo ufw allow 3306
sudo ufw reload
  1. 用户管理:创建一个新用户用于本地访问:
create user 'admin'@'%' identified by 'WKFlove1998!';

查看用户:

select Host,User from user;

赋予权限:若只想赋予查询权限:

grant select on mysql.* to 'admin'@'%';

若赋予所有权限:

grant all privileges on *.* to 'admin'@'%';

最后刷新权限使其生效:

flush privileges;

四、数据库建模实战

数据库建模是构建合理数据库结构的关键步骤。
DROP DATABASE KING_DB; #删除数据库,谨慎操作
CREATE DATABASE KING_DB; #创建新数据库
SHOW DATABASES;

USE KING_DB; #切换使用新建的数据库

CREATE TABLE TBL_USER( #创建user表,包含用户ID、姓名、性别字段
U_ID INT PRIMARY KEY AUTO_INCREMENT,
U_NAME VARCHAR(32),
U_GENDER VARCHAR(8)
);

SHOW TABLES; #查看当前数据库下的所有表

五、数据库编程连接与数据插入

  1. 环境准备:在服务器终端安装 mysql 开发包:
sudo apt-get install libmysqlclient-dev
  1. 代码编写
  • 引入头文件:
#include <mysql.h>
// C U R D -->  create update read delete
  • 宏定义关键信息,如数据库服务器 IP、端口、用户名、密码、默认数据库等:
#define KING_DB_SERVER_IP           "192.168.233.128"
#define KING_DB_SERVER_PORT         3306

#define KING_DB_USERNAME            "admin"
#define KING_DB_PASSWORD            "WKFlove1998!"

#define KING_DB_DEFAULTDB           "KING_DB"


#define SQL_INSERT_TBL_USER         "INSERT TBL_USER(U_NAME, U_GENDER) VALUES('fyq', 'woman');"
  • 主函数实现连接与插入操作:
       int main() {

    MYSQL mysql;//创建操控杆

    if (NULL == mysql_init(&mysql)) { //初始化
        printf("mysql_init: %s\n", mysql_error(&mysql));
        return -1;
    }
    if (!mysql_real_connect(&mysql, KING_DB_SERVER_IP, KING_DB_USERNAME, KING_DB_PASSWORD, 
    KING_DB_DEFAULTDB, KING_DB_SERVER_PORT, NULL, 0)) {
        printf("mysql_real_connect: %s\n", mysql_error(&mysql));
        return -2;
    }

    if (mysql_real_query(&mysql, SQL_INSERT_TBL_USER, strlen(SQL_INSERT_TBL_USER))) {
    printf("mysql_real_query: %s\n", mysql_error(&mysql));
   }

   mysql_close(&mysql);

   return 0;

}

通过以上步骤,、搭建起 MySQL 的学习框架,无论是基础运维,还是简单的开发应用,都能轻松上手。后续随着深入学习,MySQL 还有更多高级特性等待探索!
https://github.com/0voice

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值