Ubuntu系统MySQL安装与C++连接数据库实战指南
·
Ubuntu系统MySQL安装步骤详解
在Ubuntu 16.04环境下安装MySQL服务非常简单,只需执行以下命令:
sudo apt-get update
sudo apt-get install mysql-server mysql-client libmysqlclient-dev
安装完成后,启动MySQL服务:
sudo service mysql start
MySQL登录问题解决方案
初次使用时可能会遇到无法用密码登录的情况,这里提供两种解决方法:
方法一:修改认证方式
-
首先通过以下命令进入MySQL:
sudo mysql -u root -
查看用户认证方式:
select user, plugin from mysql.user; -
若发现root用户使用auth_socket插件,需要修改为密码认证:
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '新密码'; FLUSH PRIVILEGES;
方法二:跳过权限验证
-
停止MySQL服务:
sudo service mysql stop -
以安全模式启动:
sudo mysqld_safe --skip-grant-tables & -
无密码登录后重置root密码:
UPDATE mysql.user SET authentication_string=PASSWORD('新密码') WHERE User='root'; FLUSH PRIVILEGES; -
重启MySQL服务
C++连接MySQL数据库实践
-
首先创建测试数据库:
CREATE DATABASE test; USE test; CREATE TABLE user_info(name VARCHAR(50), age INT); -
编写C++连接程序(mysql_demo.cpp):
#include <mysql/mysql.h> #include <iostream> int main() { MYSQL *conn = mysql_init(NULL); if(!mysql_real_connect(conn, "localhost", "root", "密码", "test", 0, NULL, 0)) { std::cerr << "连接失败: " << mysql_error(conn); return 1; } std::cout << "成功连接数据库\n"; // 插入示例数据 if(mysql_query(conn, "INSERT INTO user_info VALUES('张三', 25)")) { std::cerr << "插入失败: " << mysql_error(conn); } mysql_close(conn); return 0; } -
编译程序:
g++ mysql_demo.cpp `mysql_config --cflags --libs` -o demo -
运行程序后,可以在MySQL中查询结果:
SELECT * FROM user_info;
配置MySQL远程访问
- 修改配置文件:
sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf
找到bind-address行并注释掉:
#bind-address = 127.0.0.1

-
在MySQL中授权远程访问:
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '密码'; FLUSH PRIVILEGES; -
重启MySQL服务:
sudo service mysql restart

通过以上步骤,您就可以在Ubuntu系统上完成MySQL的安装、配置以及通过C++程序连接数据库的操作了。
更多推荐


所有评论(0)