Ubuntu\Kylin\UOS\openEuler\Debian 安装MariaDB 11.4.13
重要提示:
MariaDB二进制包 只有x86_64版本,其他架构请使用MySQL安装包。
以下是详细的步骤:
步骤 1:准备工作
(可选)更新系统并安装依赖 首先确保你的系统是最新的,并安装编译和运行 MariaDB 所必需的库。
sudo apt update sudo apt install -y wget tar nano psmisc创建系统用户和组 MariaDB 需要一个专用的用户和组来运行。
sudo groupadd mysql sudo useradd -r -g mysql -s /bin/false mysql下载 MariaDB 11.4.13 二进制 Tarball 访问 MariaDB 官方下载页面 获取准确的下载链接。使用
wget下载到/tmp目录。cd /tmp wget https://mirrors.tuna.tsinghua.edu.cn/mariadb/mariadb-11.4.13/bintar-linux-systemd-x86_64/mariadb-11.4.13-linux-systemd-x86_64.tar.gz解压并移动到标准位置 通常,这类软件会被安装在
/usr/local目录下。sudo tar -xzf mariadb-11.4.13-linux-systemd-x86_64.tar.gz -C /usr/local创建符号链接 创建一个便于管理的符号链接,这样未来升级版本时会更容易。
cd /usr/local sudo ln -s mariadb-11.4.13-linux-systemd-x86_64 mysql
步骤 2:初始化数据库
这是最关键的一步,它会生成初始的系统数据库和
root用户的临时密码。cd /usr/local/mysql sudo ./scripts/mariadb-install-db --user=mysql --basedir=/usr/local/mysql --datadir=/opt/mariadb_data--user: 指定运行 MariaDB 的用户。--basedir: MariaDB 的基本安装目录。--datadir: 数据库文件(你的所有数据)存放的目录。请确保此目录有足够的空间!
步骤 3:配置 MariaDB
编辑配置文件
编辑
/etc/my.cnf,在[mysqld]部分明确指定basedir和datadir。sudo nano /etc/my.cnf在
[mysqld]部分添加/修改以下行:[mysqld] basedir = /usr/local/mysql datadir = /opt/mariadb_data log-error = /opt/mariadb_data/error.log pid-file = /var/run/mariadbd/mariadbd.pid bind-address = 127.0.0.1 port = 3306 max_connections = 1024 default-storage-engine = InnoDB character-set-server = utf8mb4 collation-server = utf8mb4_unicode_ci
步骤 4:配置系统服务
复制服务文件
使用自带的
mysql.server脚本作为服务管理的基础。sudo cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mariadb启用并启动服务
使用
systemctl来管理服务。sudo systemctl daemon-reload sudo systemctl enable mariadb sudo systemctl start mariadb检查服务状态 确保 MariaDB 已经成功启动。
sudo systemctl status mariadb如果状态显示为
active (running),则表示服务已成功启动。
步骤 5:安全设置与测试
cd /usr/local/mysql/bin sudo ./mariadb-secure-installation ⌘ Enter current password for root (enter for none):↩︎ Switch to unix_socket authentication [Y/n] Y↩︎ Change the root password? [Y/n] Y↩︎ New password: Re-enter new password: Remove anonymous users? [Y/n] Y↩︎ Disallow root login remotely? [Y/n] Y↩︎ Remove test database and access to it? [Y/n] Y↩︎ Reload privilege tables now? [Y/n] Y↩︎测试登录 使用新设置的密码尝试登录 MySQL 客户端。
/usr/local/mysql/bin/mariadb -uroot -p -h127.0.0.1输入密码后,如果看到
MariaDB [(none)]>提示符,恭喜你!安装成功了(CTRL+D退出)。
步骤 6:将 MySQL 客户端添加到 PATH(可选)
为了方便,你可以将 MariaDB 的二进制文件路径(如 mysql, mysqladmin)添加到系统的 PATH 环境变量中。
echo 'export PATH=/usr/local/mysql/bin:$PATH' | sudo tee /etc/profile.d/mariadb.sh
sudo ln -sf /usr/local/mysql/bin/mariadb /usr/local/bin/mariadb
sudo ln -sf /usr/local/mysql/bin/mariadb-admin /usr/local/bin/mariadb-admin
sudo ln -sf /usr/local/mysql/bin/mariadb-dump /usr/local/bin/mariadb-dump
现在,你可以在任何目录直接使用mariadb命令了。
source /etc/profile.d/mariadb.sh
mariadb -u root -p -h127.0.0.1
(可选)步骤:设置 root 同时支持 socket 和密码登录
如果你的 MariaDB 版本为 10.4 及以上,可以直接:
ALTER USER 'root'@'localhost'
IDENTIFIED VIA unix_socket
OR mysql_native_password
USING PASSWORD('新密码');
FLUSH PRIVILEGES;
