目录
一、准备工作
二、下载MySQL
三、安装MySQL
四、启动并配置MySQL
五、验证安装
六、修改mysql密码策略
七、MySQL配置允许远程连接
在CentOS 7系统上下载并安装MySQL,你可以按照以下步骤进行:
一、准备工作
- 检查并卸载MariaDB:
-
- CentOS 7默认安装了MariaDB,这是MySQL的一个分支。在安装MySQL之前,你需要先检查并卸载MariaDB。
- 使用命令
ps ajx | grep mariadb
来检查MariaDB是否正在运行。如果正在运行,使用systemctl stop mariadb.service
来停止服务。 - 使用
rpm -qa | grep mariadb
来列出所有安装的MariaDB包,并使用yum remove
命令来卸载它们。 sudo yum remove mariadb-server mariadb libmariadb
- 检查系统发行版本:
-
- 使用命令
cat /etc/redhat-release
来检查你的CentOS版本,确保下载的MySQL版本与你的系统版本兼容。
- 使用命令
二、下载MySQL
- 选择MySQL版本:
-
- 访问MySQL的官方YUM源页面,根据你的CentOS版本选择一个合适的MySQL版本。
- 注意:建议选择与你系统一致的MySQL版本,以避免软件兼容性问题。
- 下载MySQL YUM源:
-
- 使用
wget
命令下载MySQL的YUM源RPM包。例如,如果你要下载MySQL 8.0的YUM源,可以使用以下命令:
- 使用
wget https://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm
-
- 请注意,URL可能会随着MySQL版本的更新而发生变化,因此请确保使用最新的URL。
三、安装MySQL
- 安装MySQL YUM源:
-
- 使用
rpm -ivh
命令安装下载的YUM源RPM包。例如:
- 使用
sudo rpm -ivh mysql80-community-release-el7-3.noarch.rpm
- 更新YUM缓存(可选):
-
- 在某些情况下,你可能需要更新YUM缓存以确保可以访问最新的软件包。使用命令
yum clean all
和yum makecache
来更新缓存。
- 在某些情况下,你可能需要更新YUM缓存以确保可以访问最新的软件包。使用命令
- 安装MySQL服务器:
-
- 使用
yum install
命令安装MySQL服务器。例如:
- 使用
yum install -y mysql-community-server
如果遇到公钥不匹配,需要更新GPG密钥,执行以下命令,过期可前往repo.mysql.com获取新的密钥
sudo rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2023
,后再执行第三步。
四、启动并配置MySQL
- 启动MySQL服务:
- 设置MySQL开机自启动:
-
- 使用
systemctl enable mysqld
命令设置MySQL服务在开机时自动启动。
- 使用
- 获取MySQL临时密码:
- 设置MySQL密码:
-
- 使用临时密码登录MySQL,并使用
ALTER USER
命令设置新的密码。例如:
- 使用临时密码登录MySQL,并使用
ALTER USER 'root'@'localhost' IDENTIFIED BY '新密码';
- 配置MySQL安全选项(可选):
-
- 使用
mysql_secure_installation
命令来配置MySQL的安全选项,如删除匿名用户、禁止远程root登录等。
- 使用
五、验证安装
- 登录MySQL:
-
- 使用新的密码登录MySQL,以验证安装是否成功。例如:
mysql -u root -p
- 执行SQL查询:
-
- 登录后,执行一些简单的SQL查询来验证MySQL是否正常工作。例如,查询所有数据库:
SHOW DATABASES;
按照以上步骤,你应该能够在CentOS 7系统上成功下载并安装MySQL。如果遇到任何问题,请检查日志文件以获取更多信息,并参考MySQL的官方文档进行故障排除。
六、修改mysql密码策略
这个操作用于设置简单的数据库密码,降低MySQL的安全性。
SET GLOBAL validate_password.policy = LOW;
SET GLOBAL validate_password.length = 8;
SET GLOBAL validate_password.mixed_case_count = 0;
SET GLOBAL validate_password.number_count = 0;
SET GLOBAL validate_password.special_char_count = 0;
七、MySQL配置允许远程连接
-- 创建用户
create user 'root'@'%' identified by 'root';-- 授予权限
grant all privileges on *.* to 'root'@'%' with grant option;-- 刷新权限
flush privileges;