在 Linux 上使用 MariaDB 进行开发
一 安装与启动
sudo apt update && sudo apt install mariadb-server mariadb-client-coresudo systemctl start mariadb && sudo systemctl enable mariadbsudo systemctl status mariadb 或 mysql -Vsudo yum install mariadb-server mariadbsudo systemctl start mariadb && sudo systemctl enable mariadbsudo systemctl status mariadb 或 mysql -Vsudo mysql_secure_installation(设置 root 强密码、删除匿名用户、禁止远程 root 登录、移除测试库等)mysql -u root -pmysql -u <user> -h <host> -P 3306 -p二 配置开发环境
default-character-set=utf8mb4character-set-server=utf8mb4、collation-server=utf8mb4_general_ciservices:
db:
image: mariadb:latest
restart: always
container_name: mariadb
environment:
MYSQL_ROOT_PASSWORD: rootpass
MYSQL_DATABASE: devdb
MYSQL_USER: dev
MYSQL_PASSWORD: devpass
volumes:
- ./my.cnf:/etc/mysql/conf.d/my.cnf:ro
- ./data:/var/lib/mysql
ports:
- "3306:3306"
docker compose up -d;连接:mysql -h 127.0.0.1 -P 3306 -u dev -p。三 数据库与用户管理
mysql -u root -pSELECT VERSION();CREATE DATABASE IF NOT EXISTS devdb DEFAULT CHARSET utf8mb4 COLLATE utf8mb4_general_ci;CREATE USER 'dev'@'%' IDENTIFIED BY 'StrongPass!';GRANT ALL PRIVILEGES ON devdb.* TO 'dev'@'%';FLUSH PRIVILEGES;ALTER USER 'dev'@'%' IDENTIFIED BY 'NewPass!';REVOKE ALL PRIVILEGES ON devdb.* FROM 'dev'@'%'; DROP USER 'dev'@'%';四 备份恢复与日常维护
mysqldump -u root -p --single-transaction --routines --triggers --default-character-set=utf8mb4 devdb > devdb.sqlmysql -u root -p devdb < devdb.sqlmysqldump -u root -p devdb > /backups/devdb_$(date +%F).sqlchmod +x backup.sh0 2 * * * /backups/backup.shSHOW PROCESSLIST;、EXPLAIN SELECT ...;五 应用连接与开发实践
jdbc:mariadb://localhost:3306/devdb?useSSL=false&characterEncoding=utf8mb4pymysql.connect(host='127.0.0.1', port=3306, user='dev', password='devpass', database='devdb', charset='utf8mb4')mysql.createConnection({ host: '127.0.0.1', user: 'dev', password: 'devpass', database: 'devdb', charset: 'utf8mb4' })