MySQL 安装与C编程【ubuntu】

MySql5.7

mysql 5.7压缩包下载:

使用 aria2加速下载压缩包: aria2是一个支持多协议、多源和多线程的下载工具。您可以安装 aria2 并使用它来下载文件

sudo apt install aria2
aria2c https://downloads.mysql.com/archives/get/p/23/file/mysql-server_5.7.29-1ubuntu18.04_amd64.deb-bundle.tar

下载好压缩包之后解压缩

sudo tar -xvf mysql-server_5.7.29-1ubuntu18.04_amd64.deb-bundle.tar

卸载 MySQL

执行以下命令即可一键卸载,包括配置文件目录等。

# 安装sudo软件
apt-get install sudo -y
# 卸载所有以"mysql-"开头的软件包及其配置文件
sudo apt-get purge msql-*
sudo apt-get purge mysql-server mysql-client mysql-common mysql-server-core-* mysql-client-core-*
# 删除 MySQL 的配置文件目录
sudo rm -rf /etc/mysql/ /var/lib/mysql
# 自动删除已经不需要的软件包
sudo apt autoremove
# 用于清理 apt 的本地存储库中下载的软件包缓存
sudo apt autoclean

安装mysql

安装依赖lib包

sudo apt install ./libmysql*
sudo apt install libtinfo5

安装客户端和服务端,按提示可能要先安装community版本


sudo apt-get install ./mysql-community-client_5.7.29-1ubuntu18.04_amd64.deb
sudo apt-get install ./mysql-client_5.7.29-1ubuntu18.04_amd64.deb
sudo apt-get install ./mysql-community-server_5.7.29-1ubuntu18.04_amd64.deb
sudo apt-get install ./mysql-server_5.7.29-1ubuntu18.04_amd64.deb 

第三行命令执行时会提示设置MySQL的密码,用户名默认root。出现下图时,设置密码之后按回车键就行****(一键配置:这里让大家统一输入root)**

image

启动mysql

检查状态

一般安装成功就自动启动,输入命令检查启动状态,绿色的active表示运行中

systemctl status mysql.service

按ctrl + c退出

登录MySQL

使用root用户登录MySQL

$ sudo mysql -u root
> ALTER USER 'root'@'localhost' IDENTIFIED BY 'root';
FLUSH PRIVILEGES;
sudo mysql -uroot -proot

安转好mysql以后,进入mysql后创建数据库数据表命令,以及设置root用户访问权限(比如放开远程连接):

create database Gomoku;
use Gomoku;
CREATE TABLE users (
    id INT(11) NOT NULL AUTO_INCREMENT,
    username VARCHAR(255) NOT NULL,
    password VARCHAR(255) NOT NULL,
    PRIMARY KEY (id)
);
UPDATE mysql.user SET host = '%' WHERE user = 'root' AND host = 'localhost';
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'root' WITH GRANT OPTION;
FLUSH PRIVILEGES;

在系统文件中也要开启远程访问权限,设置完毕后需要重启MySQL服务

sudo sed -i "s/^bind-address\s*=.*/bind-address = 0.0.0.0/" /etc/mysql/mysql.conf.d/mysqld.cnf
sudo systemctl restart mysql
sudo ufw allow 3306

C mysql5.7 API库:

sudo apt install libmysqlcppconn-dev

MySQL8.0

sudo apt-get install mysql-server
sudo apt-get install mysql-client
sudo apt-get install libmysqlclient-dev

C编程

5.7 和 8.0 一样

#CMakeLists中添加链接:
add_executable(Hello main.cpp)
target_link_libraries(Hello mysqlclient)
 
#-----------------------------------
# 如果不用cmake,而是 g++,则需要用:
g++ -o test test.c `mysql_config --cflags --libs`
 
#include <iostream>
#include <mysql/mysql.h>  // MySQL C API 头文件

int main() {
    // 初始化 MySQL 连接
    MYSQL* conn = mysql_init(nullptr);
    if (!conn) {
        std::cerr << "MySQL 初始化失败!" << std::endl;
        return 1;
    }

    // 连接数据库
    if (!mysql_real_connect(conn, "localhost", "root", "root", 
                          "Gomoku", 3306, nullptr, 0)) {
        std::cerr << "连接数据库失败: " << mysql_error(conn) << std::endl;
        mysql_close(conn);
        return 1;
    }

    std::cout << "成功连接到 MySQL 服务器!" << std::endl;

    // 释放资源
    mysql_close(conn);

    return 0;
}
posted @ 2025-07-07 05:48  丘狸尾  阅读(15)  评论(0)    收藏  举报