在Linux系统中,“打开数据库”通常指启动数据库服务或连接数据库实例,不同数据库的操作方式各异,以下分场景详细说明,涵盖MySQL、PostgreSQL、SQLite等主流数据库。
启动数据库服务(以管理员身份操作)
MySQL/MariaDB
sudo systemctl start mariadb # 适用于MariaDB # 设置开机自启 sudo systemctl enable mysqld # 验证状态 sudo systemctl status mysqld
关键提示:
- 首次安装后需运行安全配置:
sudo mysql_secure_installation
- 默认配置文件路径:
/etc/mysql/my.cnf
PostgreSQL
# 切换到postgres系统用户 sudo -i -u postgres # 进入交互终端 psql # 直接进入PostgreSQL命令行
SQLite(无需服务,直接操作文件)
# 打开/创建数据库文件 sqlite3 /path/to/your_database.db
输入.quit
退出交互界面。
连接已运行的数据库(客户端操作)
MySQL/MariaDB
# 通过本地Socket连接 mysql -u 用户名 -p # 指定IP和端口(远程连接) mysql -h 服务器IP -P 3306 -u 用户名 -p
PostgreSQL
# 本地连接 psql -U 用户名 -d 数据库名 # 远程连接 psql -h 服务器IP -p 5432 -U 用户名 -d 数据库名
MongoDB
# 连接本地实例 mongo # 连接远程服务器 mongo --host 服务器IP --port 27017 -u 用户名 -p 密码
图形化工具(推荐新手使用)
- DBeaver
跨平台工具,支持MySQL、PostgreSQL等,通过界面输入IP、端口、账号即可连接。sudo snap install dbeaver-ce # Ubuntu安装命令
- phpMyAdmin(Web端)
适用于MySQL,需部署Apache/PHP环境。
常见问题排查
-
服务启动失败
- 检查日志:
journalctl -xe -u mysqld # MySQL日志 tail /var/log/postgresql/* # PostgreSQL日志
- 端口冲突:
sudo netstat -tuln | grep 3306 # 检查MySQL端口占用
- 检查日志:
-
连接被拒绝
- 确认数据库监听地址:
sudo ss -tuln | grep 3306 # 查看MySQL是否监听0.0.0.0
- 检查防火墙:
sudo ufw allow 3306/tcp # 放行MySQL端口
- 确认数据库监听地址:
-
权限问题
- MySQL示例:
GRANT ALL PRIVILEGES ON *.* TO '用户名'@'%' IDENTIFIED BY '密码'; FLUSH PRIVILEGES;
- MySQL示例:
安全建议
- 避免使用
root
账户直接操作数据库。 - 生产环境禁用远程
root
登录。 - 定期备份数据:
mysqldump -u 用户 -p 数据库名 > backup.sql # MySQL备份 pg_dump -U 用户 数据库名 > backup.sql # PostgreSQL备份
引用说明:
- MySQL官方文档:https://dev.mysql.com/doc/
- PostgreSQL官方指南:https://www.postgresql.org/docs/
- SQLite命令行工具:https://sqlite.org/cli.html
操作前请确保已安装对应数据库软件,命令基于主流Linux发行版(如Ubuntu/CentOS)。
原创文章,发布者:酷番叔,转转请注明出处:https://cloud.kd.cn/ask/8005.html