【Linux】Ubuntu配置开发环境合集

文章目录

安装Redis

一、通过APT包管理器安装(推荐)

1. 更新软件包列表

首先确保系统包列表是最新的:

bash 复制代码
sudo apt update

2. 安装Redis

直接安装Redis服务器和客户端:

bash 复制代码
sudo apt install redis-server

3. 验证安装

安装完成后,Redis会自动启动,可通过以下命令检查状态:

bash 复制代码
sudo systemctl status redis-server

如果显示 active (running),说明Redis已成功运行。

4. 测试Redis连接

使用Redis客户端连接本地服务:

bash 复制代码
redis-cli

输入 ping,若返回 PONG,表示连接正常。

二、编译源码安装(最新版本)

若需要安装最新版本的Redis(APT仓库版本可能较旧),可通过源码编译:

1. 安装依赖

bash 复制代码
sudo apt update
sudo apt install build-essential tcl

2. 下载Redis源码

从Redis官网下载最新稳定版(以7.2.3为例,可替换为最新版本号):

bash 复制代码
cd /tmp
curl -O http://download.redis.io/releases/redis-7.2.3.tar.gz

3. 解压并编译

bash 复制代码
tar xzf redis-7.2.3.tar.gz
cd redis-7.2.3
make

编译完成后,执行测试(可选):

bash 复制代码
make test

4. 安装Redis

bash 复制代码
sudo make install

5. 配置Redis为系统服务

Redis源码包提供了系统服务配置文件,复制并配置:

bash 复制代码
sudo cp utils/systemd-redis_server.service /etc/systemd/system/redis-server.service
sudo systemctl daemon-reload
sudo systemctl start redis-server
sudo systemctl enable redis-server  # 设置开机自启

三、Redis基础配置(可选)

Redis默认配置文件路径:

  • APT安装:/etc/redis/redis.conf
  • 源码安装:/usr/local/etc/redis.conf(或需手动复制配置文件)

常用配置修改:

  1. 绑定IP :默认绑定127.0.0.1(仅本地访问),若需远程访问,注释bind 127.0.0.1 ::1,并设置protected-mode no(生产环境需配合密码)。
  2. 设置密码 :添加requirepass yourpassword(替换为自定义密码)。
  3. 持久化 :默认开启RDB持久化,可根据需求开启AOF(appendonly yes)。

修改配置后重启Redis:

bash 复制代码
sudo systemctl restart redis-server

四、卸载Redis(如需)

bash 复制代码
# APT安装卸载
sudo apt remove --purge redis-server
sudo rm -rf /var/lib/redis /etc/redis

# 源码安装卸载
sudo rm -rf /usr/local/bin/redis-*
sudo rm -rf /etc/systemd/system/redis-server.service
sudo systemctl daemon-reload

五、详细配置

Redis 的基础配置主要围绕核心功能、网络访问、持久化、内存管理等维度展开,配置文件默认路径:

  • APT安装:/etc/redis/redis.conf
  • 源码安装:/usr/local/etc/redis.conf(或需手动复制 redis.conf 模板)

以下是关键配置项的详细说明和常用设置:

一、网络配置

1. 绑定IP(bind)

控制Redis监听的网卡地址,默认仅允许本地访问:

conf 复制代码
# 默认:bind 127.0.0.1 ::1 (仅本地)
bind 0.0.0.0  # 允许所有IP访问(生产环境需谨慎,配合密码/防火墙)
2. 保护模式(protected-mode)

默认开启,仅允许本地连接;若需远程访问,需关闭:

conf 复制代码
protected-mode no  # 关闭保护模式(需配合密码)
3. 端口(port)

默认监听6379端口:

conf 复制代码
port 6379  # 可自定义端口(如6380)
4. 超时时间(timeout)

客户端闲置多久后关闭连接(秒),0表示永不关闭:

conf 复制代码
timeout 0

二、安全配置

1. 设置访问密码(requirepass)

强制客户端连接后验证密码(生产环境必配):

conf 复制代码
requirepass your_strong_password  # 替换为强密码(如:Redis@123!)
2. 命令重命名(rename-command)

重命名高危命令(如 CONFIGFLUSHDB),防止误操作或攻击:

conf 复制代码
rename-command CONFIG ""  # 禁用CONFIG命令(""表示禁用)
rename-command FLUSHDB "safe_flushdb"  # 重命名为safe_flushdb

三、持久化配置

Redis支持两种持久化方式:RDB(快照)和AOF(日志)。

1. RDB持久化(默认开启)

在指定时间间隔内,执行指定次数写操作后,自动生成数据快照(.rdb文件):

conf 复制代码
# 格式:save <秒> <修改次数>
save 900 1    # 900秒内至少1次修改,触发快照
save 300 10   # 300秒内至少10次修改,触发快照
save 60 10000 # 60秒内至少10000次修改,触发快照

# 禁用RDB:注释所有save行,或添加 save ""
# save ""

rdbcompression yes  # 压缩RDB文件(默认开启)
dbfilename dump.rdb # RDB文件名
dir /var/lib/redis  # RDB文件存储路径(APT安装默认路径)
2. AOF持久化(默认关闭)

记录所有写操作日志,重启时重放日志恢复数据(更可靠):

conf 复制代码
appendonly yes  # 开启AOF持久化
appendfilename "appendonly.aof"  # AOF文件名
appendfsync everysec  # AOF同步策略:
                      # - always:每次写操作立即同步(最安全,性能差)
                      # - everysec:每秒同步(折中,推荐)
                      # - no:由操作系统决定(性能好,安全性差)

auto-aof-rewrite-percentage 100  # AOF文件大小增长100%时,自动重写
auto-aof-rewrite-min-size 64mb   # AOF文件最小64MB时,触发重写

四、内存管理配置

1. 最大内存限制(maxmemory)

设置Redis可用的最大内存(生产环境必配,防止内存溢出):

conf 复制代码
maxmemory 1gb  # 限制最大内存为1GB(根据服务器配置调整,如4gb/8gb)
2. 内存淘汰策略(maxmemory-policy)

当内存达到maxmemory时,Redis选择淘汰数据的策略:

conf 复制代码
# 常用策略:
maxmemory-policy allkeys-lru  # 淘汰最少使用的键(推荐)
# 其他策略:
# volatile-lru:淘汰带过期时间的最少使用键
# allkeys-random:随机淘汰键
# volatile-ttl:淘汰即将过期的键
# noeviction:不淘汰,返回错误(默认)

五、日志配置

1. 日志级别(loglevel)

控制日志详细程度:

conf 复制代码
loglevel notice  # 可选:debug/verbose/notice/warning(生产环境用notice/warning)
2. 日志文件(logfile)

指定日志输出路径,默认输出到控制台:

conf 复制代码
logfile /var/log/redis/redis-server.log  # 日志文件路径(APT安装默认路径)

六、其他常用配置

1. 数据库数量(databases)

默认16个数据库(通过SELECT 0-15切换):

conf 复制代码
databases 16
2. 客户端连接数限制(maxclients)

最大客户端连接数:

conf 复制代码
maxclients 10000  # 默认10000,根据服务器性能调整
3. 后台运行(daemonize)

默认开启(APT安装),Redis以守护进程运行:

conf 复制代码
daemonize yes  # yes:后台运行;no:前台运行(调试用)

配置生效方法

修改配置后,需重启Redis服务:

bash 复制代码
sudo systemctl restart redis-server

也可通过redis-cli动态修改配置(无需重启,重启后失效):

bash 复制代码
redis-cli
127.0.0.1:6379> CONFIG SET requirepass "new_password"  # 动态设置密码
127.0.0.1:6379> CONFIG REWRITE  # 将动态配置写入配置文件(持久化)

生产环境配置建议

  1. 开启密码验证,禁用高危命令;
  2. 限制IP访问(配合防火墙/bind);
  3. 开启AOF持久化(或RDB+AOF混合);
  4. 设置合理的内存限制和淘汰策略;
  5. 定期备份RDB/AOF文件。

安装mysql

在Ubuntu系统中安装MySQL可以通过官方APT仓库或系统默认仓库进行,以下是详细步骤:

一、通过Ubuntu默认仓库安装(适合快速部署)

  1. 更新软件包索引

    bash 复制代码
    sudo apt update
  2. 安装MySQL服务器

    bash 复制代码
    sudo apt install mysql-server -y
  3. 验证安装

    安装完成后,MySQL服务会自动启动,可通过以下命令检查状态:

    bash 复制代码
    sudo systemctl status mysql

    若显示 active (running) 则表示运行正常。

二、通过官方APT仓库安装(推荐,获取最新稳定版)

  1. 安装依赖包

    bash 复制代码
    sudo apt install wget gnupg2 -y
  2. 添加MySQL官方GPG密钥

    bash 复制代码
    wget https://dev.mysql.com/get/mysql-apt-config_0.8.26-1_all.deb
    sudo dpkg -i mysql-apt-config_0.8.26-1_all.deb

    安装过程中会弹出配置界面,选择MySQL版本(如8.0)和Ubuntu版本,确认后保存。

  3. 更新软件包索引

    bash 复制代码
    sudo apt update
  4. 安装MySQL服务器

    bash 复制代码
    sudo apt install mysql-server -y

    安装时会提示设置root密码,按提示操作即可。

三、初始化配置(重要)

  1. 运行安全脚本

    MySQL提供了安全配置脚本,可设置密码策略、移除匿名用户等:

    bash 复制代码
    sudo mysql_secure_installation

    按提示依次操作:

    • 设置密码强度(0=低,1=中,2=高)
    • 更改root密码(若未设置)
    • 移除匿名用户
    • 禁止root远程登录
    • 删除test数据库
    • 刷新权限
  2. 登录MySQL

    • Ubuntu默认使用auth_socket插件认证root用户,需通过sudo登录:

      bash 复制代码
      sudo mysql
    • 若需密码登录,可修改root认证方式:

      sql 复制代码
      ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '你的密码';
      FLUSH PRIVILEGES;
      exit;

      之后即可用密码登录:

      bash 复制代码
      mysql -u root -p

四、远程访问配置(可选)

  1. 修改绑定地址

    编辑MySQL配置文件:

    bash 复制代码
    sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf

    bind-address = 127.0.0.1 改为 0.0.0.0(允许所有IP访问),保存并退出。

  2. 授权远程访问用户

    sql 复制代码
    CREATE USER '用户名'@'%' IDENTIFIED BY '密码';
    GRANT ALL PRIVILEGES ON *.* TO '用户名'@'%' WITH GRANT OPTION;
    FLUSH PRIVILEGES;
  3. 重启MySQL服务

    bash 复制代码
    sudo systemctl restart mysql

五、常用命令

  • 启动服务:sudo systemctl start mysql
  • 停止服务:sudo systemctl stop mysql
  • 重启服务:sudo systemctl restart mysql
  • 设置开机自启:sudo systemctl enable mysql

安装完成后,即可开始使用MySQL数据库。如需图形化管理工具,可安装phpMyAdmin或MySQL Workbench。

配置mysql开发

在 Ubuntu 系统上使用 C++ 连接 MySQL,需要安装 MySQL 的客户端开发库以及相关依赖。以下是具体需要下载和安装的包:

1. MySQL 客户端开发库

核心依赖是 libmysqlclient-dev,它包含了编译和链接 MySQL 程序所需的头文件(如 mysql.h)和库文件(libmysqlclient.so)。

安装命令:

bash 复制代码
sudo apt update
sudo apt install libmysqlclient-dev

2. MySQL 客户端(可选)

如果需要测试连接或手动操作 MySQL,可安装 mysql-client

bash 复制代码
sudo apt install mysql-client

3. C++ 编译工具链

确保系统已安装 C++ 编译器(如 g++)和构建工具(make):

bash 复制代码
sudo apt install g++ make

4. 验证安装

安装完成后,可通过以下命令检查头文件和库文件是否存在:

bash 复制代码
# 检查头文件
ls /usr/include/mysql/mysql.h

# 检查库文件
ls /usr/lib/x86_64-linux-gnu/libmysqlclient.so

编译 C++ 程序时的链接参数

编译连接 MySQL 的 C++ 程序时,需要指定链接 MySQL 库,例如:

bash 复制代码
g++ your_program.cpp -o your_program -lmysqlclient

注意事项

  • 如果使用 MySQL 8.0+,libmysqlclient-dev 可能被 libmysqlclient-dev(MySQL 官方源)或 libmariadb-dev(MariaDB 兼容库)替代,根据需求选择。

  • 若遇到依赖问题,可添加 MySQL 官方源后再安装:

    bash 复制代码
    wget https://dev.mysql.com/get/mysql-apt-config_0.8.22-1_all.deb
    sudo dpkg -i mysql-apt-config_0.8.22-1_all.deb
    sudo apt update

安装完成后,即可在 C++ 代码中通过 MySQL C API 连接和操作数据库。

Mysql命令

数据库的命令因不同数据库系统(如MySQL、PostgreSQL、Oracle、SQL Server等)略有差异,但核心的SQL命令和常用操作有共通性。以下是主流数据库的常见命令分类整理:

一、通用SQL命令(适用于多数关系型数据库)

1. 数据库操作
sql 复制代码
-- 创建数据库
CREATE DATABASE 数据库名;

-- 删除数据库
DROP DATABASE 数据库名;

-- 使用数据库(MySQL/SQL Server)
USE 数据库名;

-- 查看所有数据库
SHOW DATABASES; -- MySQL
SELECT datname FROM pg_database; -- PostgreSQL
SELECT name FROM sys.databases; -- SQL Server
2. 表操作
sql 复制代码
-- 创建表
CREATE TABLE 表名 (
    列名1 数据类型 [约束],
    列名2 数据类型 [约束],
    ...
);
-- 示例:
CREATE TABLE users (
    id INT PRIMARY KEY AUTO_INCREMENT,
    name VARCHAR(50) NOT NULL,
    age INT DEFAULT 0
);

-- 删除表
DROP TABLE 表名;

-- 修改表(添加列)
ALTER TABLE 表名 ADD COLUMN 列名 数据类型;

-- 修改表(修改列类型)
ALTER TABLE 表名 ALTER COLUMN 列名 新数据类型; -- SQL Server
ALTER TABLE 表名 MODIFY COLUMN 列名 新数据类型; -- MySQL

-- 查看表结构
DESC 表名; -- MySQL
\d 表名; -- PostgreSQL
sp_help 表名; -- SQL Server
3. 数据操作(CRUD)
sql 复制代码
-- 插入数据
INSERT INTO 表名 (列1, 列2) VALUES (值1, 值2);

-- 查询数据
SELECT 列1, 列2 FROM 表名 WHERE 条件;
SELECT * FROM 表名 LIMIT 10; -- 限制结果行数(MySQL/PostgreSQL)

-- 更新数据
UPDATE 表名 SET 列1=值1 WHERE 条件;

-- 删除数据
DELETE FROM 表名 WHERE 条件;
4. 索引操作
sql 复制代码
-- 创建索引
CREATE INDEX 索引名 ON 表名(列名);

-- 删除索引
DROP INDEX 索引名 ON 表名;

二、MySQL 特有命令

sql 复制代码
-- 登录MySQL
mysql -u 用户名 -p

-- 查看当前用户
SELECT USER();

-- 查看表的创建语句
SHOW CREATE TABLE 表名;

-- 导入SQL文件
SOURCE /路径/文件名.sql;

-- 导出数据库
mysqldump -u 用户名 -p 数据库名 > 导出文件名.sql;

三、PostgreSQL 特有命令

sql 复制代码
-- 登录PostgreSQL
psql -U 用户名 -d 数据库名

-- 查看所有表
\dt

-- 导入SQL文件
\i /路径/文件名.sql;

-- 导出数据库
pg_dump -U 用户名 -d 数据库名 > 导出文件名.sql;

四、SQL Server 特有命令

sql 复制代码
-- 登录SQL Server(cmd)
sqlcmd -S 服务器名 -U 用户名 -P 密码

-- 查看所有表
SELECT * FROM sys.tables;

-- 备份数据库
BACKUP DATABASE 数据库名 TO DISK = '路径\备份文件.bak';

五、Oracle 特有命令

sql 复制代码
-- 登录Oracle
sqlplus 用户名/密码@数据库实例

-- 查看所有表
SELECT table_name FROM user_tables;

-- 创建表空间
CREATE TABLESPACE 表空间名 DATAFILE '路径\文件.dbf' SIZE 100M;

六、常用辅助命令

sql 复制代码
-- 事务控制
BEGIN TRANSACTION; -- 开始事务
COMMIT; -- 提交事务
ROLLBACK; -- 回滚事务

-- 权限管理
GRANT 权限 ON 表名 TO 用户名; -- 授权
REVOKE 权限 ON 表名 FROM 用户名; -- 撤销权限

-- 查看版本
SELECT VERSION(); -- MySQL
SELECT version(); -- PostgreSQL
SELECT @@VERSION; -- SQL Server

不同数据库的语法细节可能略有差异(如自增字段、分页语法等),但上述命令是最通用和高频的操作。如果需要特定数据库的深入命令,可以进一步补充说明。

相关推荐
Forest_HAHA2 小时前
<14>_Linux高级IO
linux·服务器
python百炼成钢2 小时前
解决——linux通过网络挂载tftp无法下载
linux·运维·网络
林鸿群2 小时前
Ubuntu 25.10编译Chromium源码
linux·chrome·ubuntu·chromium·源码编译
潇I洒2 小时前
Ubuntu Linux 24.04 安装MySQL 8.4.7
linux·数据库·mysql·ubuntu
程序员 _孜然2 小时前
linux调试外部RTC hym8563
linux·驱动开发·嵌入式硬件·ubuntu
无奈笑天下2 小时前
银河麒麟高级服务器版本【更换bond绑定的网卡】操作方法
linux·运维·服务器·arm开发·经验分享
jwybobo20072 小时前
redis7.x源码分析:(9) 内存淘汰策略
linux·c++·redis
红石榴花生油2 小时前
Linux服务器权限与安全核心笔记
java·linux·前端
深海里的鱼(・ω<)★2 小时前
CentOS 7 默认 yum 源官方不维护解决方案
linux·运维·centos