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)**。

启动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;
}

浙公网安备 33010602011771号