限时福利领取


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登录问题解决方案

初次使用时可能会遇到无法用密码登录的情况,这里提供两种解决方法:

方法一:修改认证方式

  1. 首先通过以下命令进入MySQL:

    sudo mysql -u root
  2. 查看用户认证方式:

    select user, plugin from mysql.user;
  3. 若发现root用户使用auth_socket插件,需要修改为密码认证:

    ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '新密码';
    FLUSH PRIVILEGES;

方法二:跳过权限验证

  1. 停止MySQL服务:

    sudo service mysql stop
  2. 以安全模式启动:

    sudo mysqld_safe --skip-grant-tables &
  3. 无密码登录后重置root密码:

    UPDATE mysql.user SET authentication_string=PASSWORD('新密码') WHERE User='root';
    FLUSH PRIVILEGES;
  4. 重启MySQL服务

C++连接MySQL数据库实践

  1. 首先创建测试数据库:

    CREATE DATABASE test;
    USE test;
    CREATE TABLE user_info(name VARCHAR(50), age INT);
  2. 编写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;
    }
  3. 编译程序:

    g++ mysql_demo.cpp `mysql_config --cflags --libs` -o demo
  4. 运行程序后,可以在MySQL中查询结果:

    SELECT * FROM user_info;

配置MySQL远程访问

  1. 修改配置文件:
    sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf

找到bind-address行并注释掉:

#bind-address = 127.0.0.1

MySQL配置文件修改

  1. 在MySQL中授权远程访问:

    GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '密码';
    FLUSH PRIVILEGES;
  2. 重启MySQL服务:

    sudo service mysql restart

远程连接成功示例

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

Logo

音视频技术社区,一个全球开发者共同探讨、分享、学习音视频技术的平台,加入我们,与全球开发者一起创造更加优秀的音视频产品!

更多推荐