前言
MySQL 是最流行的关系型数据库管理系统之一,广泛应用于 Web 应用开发。这篇文章记录了在 CentOS 上安装 MySQL 的完整过程,以及 MariaDB 作为替代方案的说明。
安装前检查
1 2 3 4 5 6
| rpm -qa | grep mysql
rpm -e mysql rpm -e --nodeps mysql
|
安装 MySQL
方法一:使用 YUM 安装
参考 MySQL 官方文档
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
| wget http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm
rpm -ivh mysql-community-release-el7-5.noarch.rpm
yum update yum install mysql-server
chown -R mysql:mysql /var/lib/mysql/
mysqld --initialize
systemctl start mysqld
systemctl status mysqld
|
注意:第一次启动 MySQL 服务时,服务器会自动进行初始化配置。
方法二:使用 MariaDB(MySQL 替代方案)
MariaDB 是 MySQL 的一个分支,主要由开源社区维护,采用 GPL 授权许可。开发这个分支的原因之一是:甲骨文公司收购了 MySQL 后,有将 MySQL 闭源的潜在风险。
MariaDB 的目的是完全兼容 MySQL,包括 API 和命令行,可以轻松成为 MySQL 的代替品。
1 2 3 4 5 6 7 8 9 10
| yum install mariadb-server mariadb
systemctl start mariadb systemctl stop mariadb systemctl restart mariadb
systemctl enable mariadb
|
验证安装
1 2 3 4 5 6 7 8
| mysqladmin --version
mysql
|
常见问题
❌ 忘记 root 密码
解决:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
| systemctl stop mysqld
mysqld_safe --skip-grant-tables &
mysql > USE mysql; > UPDATE user SET password=PASSWORD('新密码') WHERE user='root'; > FLUSH PRIVILEGES; > EXIT;
systemctl restart mysqld
|
❌ 远程连接被拒绝
原因:MySQL 默认只允许本地连接。
解决:
1 2 3
| GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '密码' WITH GRANT OPTION; FLUSH PRIVILEGES;
|
以上就是 MySQL 安装和入门的全部内容。后续文章会继续介绍 MySQL 的进阶用法。