mysqldump -uroot -p your_base > dump_file.sql
mysql -h localhost -u root -p
create database your_base; use your_base;
mysql -uroot -p your_base < dump_file.sql
show tables;
create user 'client'@'%' IDENTIFIED by 'client'; grant select on your_base . * to 'client'@'%'; flush privileges;
mysql -h localhost -u client -pclient
mysql -h 192.168.0.3 -u client -pclient
route add 192.168.0.0 mask 255.255.255.0 gateway 192.168.1.2
sudo iptables -A FORWARD -i enp3s1 -o enp3s0 -p tcp --syn --dport 3306 -m conntrack --ctstate NEW -j ACCEPT sudo iptables -A FORWARD -i enp3s1 -o enp3s0 -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT sudo iptables -A FORWARD -i enp3s0 -o enp3s1 -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT sudo iptables -t nat -A PREROUTING -i enp3s1 -p tcp --dport 3306 -j DNAT --to-destination 192.168.0.3 sudo iptables -t nat -A POSTROUTING -o enp3s0 -p tcp --dport 3306 -d 192.168.0.3 -j SNAT --to-source 192.168.1.2 sudo service iptables-persistent save
//DataBaseConnection.cpp #include "DataBaseConnection.h" DataBaseConnection::DataBaseConnection() { } void DataBaseConnection::Connect() { // conn = mysql_init(NULL); if (conn == NULL) { // – fprintf(stderr, "Error: can'tcreate MySQL-descriptor\n"); //exit(1); // } // if (!mysql_real_connect(conn, "192.168.0.3", "root", "password", "your_base", NULL, NULL, 0)) { // // fprintf(stderr, "Error: can't connect to database: %s\n", mysql_error(conn)); } else { // - "Success!" fprintf(stdout, "Success!\n"); } } std::vector<std::string> DataBaseConnection::Query() { vectordrum.clear(); std::string query = "SELECT * FROM drum where id=0"; const char * q = query.c_str(); qstate = mysql_query(conn, q); if (!qstate) { res = mysql_store_result(conn); while (row = mysql_fetch_row(res)) { //printf("ID: %s,Position: %s, Image: %s\n", row[0], row[1], row[2]); vectordrum.push_back(row[2]); } } else { std::cout << "Query failed:" << mysql_error(conn) << std::endl; } return vectordrum; } void DataBaseConnection::Close() { // mysql_close(conn); } DataBaseConnection::~DataBaseConnection() { vectordrum.clear(); } //DataBaseConnection.h #pragma once #include <iostream> #include <mysql.h> #include <vector> #pragma comment(lib,"mysqlcppconn.lib") #pragma comment(lib,"libmysql.lib") class DataBaseConnection { public: DataBaseConnection(); void Connect(); std::vector<std::string> Query(); void Close(); ~DataBaseConnection(); MYSQL *conn; MYSQL_ROW row; MYSQL_RES *res; int qstate; std::vector<std::string> vectordrum; };
Source: https://habr.com/ru/post/461503/