如何在CentOS中安装数据库
在CentOS系统中安装数据库主要分为MySQL/MariaDB(关系型,最常用)、PostgreSQL(功能丰富的关系型)两类,以下是详细步骤:
更新系统软件包以获取最新安全补丁:
sudo yum update -y
# 下载并安装MySQL官方YUM仓库
wget https://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm
sudo rpm -Uvh mysql80-community-release-el7-3.noarch.rpm
# 安装MySQL Server
sudo yum install mysql-community-server -y
dnf替代yum,步骤类似:sudo dnf install mysql-server -y
# 启动MySQL服务
sudo systemctl start mysqld
# 设置开机自启
sudo systemctl enable mysqld
安装完成后,MySQL会生成临时root密码,通过以下命令查看:
sudo grep 'temporary password' /var/log/mysqld.log
使用临时密码登录并运行安全脚本:
mysql -u root -p
在mysql_secure_installation脚本中,依次完成:
登录MySQL并查看数据库列表:
mysql -u root -p
SHOW DATABASES;
若显示information_schema、mysql等默认数据库,则安装成功。
更新系统软件包:
sudo yum update -y
# 下载并安装PostgreSQL官方YUM仓库(以PostgreSQL 13为例)
sudo yum install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-7-x86_64/pgdg-redhat-repo-latest.noarch.rpm
sudo yum install postgresql13-server postgresql13-contrib -y
EL-8-x86_64)。# 初始化数据库(CentOS 7)
sudo /usr/pgsql-13/bin/postgresql-13-setup initdb
# 启动PostgreSQL服务
sudo systemctl start postgresql-13
# 设置开机自启
sudo systemctl enable postgresql-13
PostgreSQL安装后会创建postgres系统用户和同名数据库用户,切换至该用户并登录:
sudo -u postgres psql
在psql命令行中,执行以下命令创建数据库和用户:
-- 创建数据库(owner为postgres用户)
CREATE DATABASE mydb;
-- 创建用户并设置密码
CREATE USER myuser WITH PASSWORD 'mypassword';
-- 授权用户对数据库的所有权限
GRANT ALL PRIVILEGES ON DATABASE mydb TO myuser;
-- 退出psql
\q
使用新用户登录PostgreSQL:
psql -U myuser -d mydb -h localhost
输入密码后,若进入mydb=>命令行,则安装成功。
sudo firewall-cmd --permanent --add-port=3306/tcp # MySQL
sudo firewall-cmd --permanent --add-port=5432/tcp # PostgreSQL
sudo firewall-cmd --reload
/etc/my.cnf,PostgreSQL为/var/lib/pgsql/13/data/postgresql.conf(版本号可能不同)。/etc/my.cnf(注释bind-address = 127.0.0.1)和PostgreSQL的postgresql.conf(设置listen_addresses = '*'),并配置pg_hba.conf文件授权远程IP。