Ubuntu 22.04 安装 mysql-server与 postgreSQL 服务端
一、Mysql 安装
1、物理机部署
安装Mysql
sudo apt-get update
sudo apt-get install mysql-server
sudo service mysql start
初始化mysql服务
mysql -u root
创建账户
CREATE USER 'gpt'@'localhost' IDENTIFIED BY 'gpt';
给账户赋权限
GRANT ALL PRIVILEGES ON *.* TO 'gpt'@'localhost';
FLUSH PRIVILEGES;
创建数据库
create database langgraph;
2、使用docker部署
- 首先先创建一个
my.conf
文件,文件的内容见下文, 然后再执行docker-compose.yml配置文件
my.conf文件内容
[client]
default-character-set=utf8mb4[mysql]
default-character-set=utf8mb4[mysqld]
# 设置东八区时区
default-time_zone = '+8:00'# 设置密码验证规则,保持兼容性
authentication_policy=mysql_native_password# 初始化连接时设置字符集
init_connect='SET collation_connection = utf8mb4_general_ci'
init_connect='SET NAMES utf8mb4'# 配置字符集
character-set-server=utf8mb4
collation-server=utf8mb4_general_ci
skip-character-set-client-handshake
skip-name-resolve# 配置数据库表名小写(跨平台建议打开)
# lower_case_table_names=1# 远程访问相关配置
# 设置监听所有网络接口,允许远程连接
bind-address = 0.0.0.0
# # 关闭主机名解析(提高连接速度)
# skip-name-resolve
# # 调整最大连接数(可根据需求修改)
# max_connections = 600
- 创建一个docker-compose.yml 文件
docker-compose.yml 文件
services:mysql:image: mysql:8.0.41container_name: mysqlrestart: unless-stopped # 防止有意停止时重启environment:LOWER_CASE_TABLE_NAMES: 1MYSQL_ROOT_PASSWORD: ${MYSQL_ROOT_PASSWORD:-123456} # root 用户如果开启远程访问,密码需要设置复杂一些,如果宿主机环境变量不存在,使用 123456 作为默认值MYSQL_DATABASE: Database_test # 创建一个数据库MYSQL_USER: gptMYSQL_PASSWORD: 123456ports:- "3306:3306"volumes:- mysql_data:/var/lib/mysql # 挂载mysql 数据卷- mysql_log:/var/log/mysql # 挂在mysql 日志卷- /etc/localtime:/etc/localtime:ro # 挂载当前服务器时间到容器- ./my.cnf:/etc/mysql/my.cnf # 自定义MySQL配置用于安全/性能networks:- app_networkhealthcheck:test: ["CMD", "mysqladmin", "ping", "-h", "localhost", "-u", "root", "-p${MYSQL_ROOT_PASSWORD:-123456}"] #interval: 10stimeout: 5sretries: 5deploy:resources:limits:cpus: '1.0'memory: 2Greservations:cpus: '0.5'memory: 512Mlogging:driver: json-fileoptions:max-size: "10m"max-file: "3"volumes:mysql_log:name: mysql8.0.41_logmysql_data:name: mysql8.0.41_datanetworks:app_network:driver: bridge
- 运行
docker-compose up -d
- 查看
docker ps -a
二、PostgreSQL 安装
1、使用docker 临时部署
docker run -d --rm -p 5432:5432 --name postgres_test -v /etc/localtime:/etc/localtime:ro -e POSTGRES_PASSWORD=123456 postgres:16.9
2、 使用docker-compose部署
services:pg:image: postgres:16.9container_name: pgrestart: unless-stoppedenvironment:POSTGRES_PASSWORD: ${POSTGRES_PASSWORD:-123456}POSTGRES_DB: Database_test # 创建一个数据库ports:- "5432:5432"volumes:- pg_data:/var/lib/postgresql/data # 挂载数据- /etc/localtime:/etc/localtime:ro# 挂载 postgresql.conf 按需放开,否则建议不用专门定制# - ./postgresql.conf:/etc/postgresql/postgresql.conf# 如需初始化脚本,用下面方式# - ./init.sql:/docker-entrypoint-initdb.d/init.sql# - pg_log:/var/log/postgresql # PostgreSQL 默认不使用该目录保存日志,需要在上述 .conf 定义好再使用networks:- pg_networkhealthcheck:test: ["CMD", "pg_isready", "-U", "postgres"] # 使用超级管理员 postgres 用户健康检测interval: 10stimeout: 5sretries: 5deploy:resources:limits:cpus: '1.0'memory: 2Greservations:cpus: '0.5'memory: 512Mlogging:driver: json-fileoptions:max-size: "10m"max-file: "3"
volumes:pg_data:name: postgres16_data# pg_log:# name: postgres16_log
networks:pg_network:driver: bridge