本文将详细介绍如何在CentOS 7操作系统上安装MySQL,并提供一些常用的配置和管理命令,确保您能够顺利搭建并管理自己的MySQL数据库
一、安装前的准备工作 在正式开始安装MySQL之前,我们需要做一些准备工作,以确保安装过程的顺利进行
1.检查当前系统环境 首先,确保您是在root用户下进行操作,因为MySQL的安装和配置通常需要较高的权限
您可以通过`whoami`命令来检查当前用户
bash whoami 如果不是root用户,请使用`su-`命令切换到root用户
2.检查是否已安装MySQL或MariaDB CentOS 7有时可能会预装MariaDB,它是MySQL的一个分支
我们需要检查系统中是否存在MySQL或MariaDB的进程和安装包,如果有,则需要先卸载它们
bash ps ajx | grep mysql ps ajx | grep mariadb rpm -qa | grep mysql rpm -qa | grep mariadb 如果发现有相关进程或安装包,使用以下命令停止相关服务和卸载安装包: bash systemctl stop mysqld systemctl stop mariadb rpm -qa | grep mysql | xargs yum -y remove rpm -qa | grep mariadb | xargs yum -y remove 3.清理残留的配置文件 卸载完成后,检查并删除可能残留的配置文件
bash rm -rf /etc/my.cnf rm -rf /var/lib/mysql/ 二、安装MySQL 接下来,我们将按照步骤安装MySQL
1.添加MySQL官方仓库 CentOS 7的默认仓库中可能不包含最新版本的MySQL,因此我们需要手动添加MySQL官方仓库
bash yum -y install wget wget https://dev.mysql.com/get/mysql80-community-release-el7-7.noarch.rpm sudo rpm -ivh mysql80-community-release-el7-7.noarch.rpm 注意:上述命令中的URL可能需要根据MySQL的最新版本进行调整
2.安装MySQL服务 添加仓库后,更新系统仓库并安装MySQL服务器
bash sudo yum update sudo yum install mysql-server 3.启动MySQL服务 安装完成后,启动MySQL服务并设置开机自启
bash sudo systemctl start mysqld sudo systemctl enable mysqld 三、初始安全配置 MySQL安装后,会生成一个临时root密码
我们需要找到这个密码,并进行一些安全配置
1.获取临时密码 使用grep命令在mysqld日志文件中查找临时密码
bash sudo grep temporary password /var/log/mysqld.log 2.运行安全配置脚本 使用临时密码登录MySQL,并运行`mysql_secure_installation`脚本进行安全配置
bash mysql -uroot -p 输入临时密码 sudomysql_secure_installation 在脚本中,您将被提示进行以下操作: - 修改root密码(需满足复杂度要求) - 移除匿名用户 - 禁止远程root登录 - 删除测试数据库 - 刷新权限表 四、MySQL的基本操作 完成安全配置后,我们就可以开始使用MySQL了
以下是一些常用的MySQL操作命令
1.登录MySQL 使用新设置的root密码登录MySQL
bash mysql -uroot -p 输入root密码 2.用户与权限管理 - 创建新用户: ```sql CREATE USER myuser@localhost IDENTIFIED BY StrongPassword123!; ``` - 授予权限: ```sql GRANT ALL PRIVILEGES- ON . TO myuser@localhost WITH GRANT OPTION; FLUSH PRIVILEGES; ``` - 查看用户权限: ```sql SHOW GRANTS FOR myuser@localhost; ``` 3.数据库操作 - 创建数据库: ```sql CREATE DATABASE mydb; ``` - 切换数据库: ```sql USE mydb; ``` - 创建表: ```sql CREATE TABLE users( id INT AUTO_INCREMENT PRIMARY KEY, nameVARCHAR(50) NOT NULL, emailVARCHAR(10 UNIQUE ); ``` - 插入数据: ```sql INSERT INTO users(name, email) VALUES(Alice, alice@example.com); ``` - 查询数据: ```sql SELECTFROM users; ``` 4.导入/导出数据 - 导出数据库: ```bash mysqldump -u root -p mydb > mydb_backup.sql ``` - 导入数据库: ```bash mysql -u root -p mydb < mydb_backup.sql ``` 五、防火墙配置(允许远程访问) 如果您需要远程访问MySQL数据库,还需要进行防火墙配置
1.开放3306端口 bash sudo firewall-cmd --permanent --add-port=3306/tcp sudo firewall-cmd --reload 2.配置MySQL允许远程连接 - 修改MySQL配置文件: ```bash sudo vi /etc/my.cnf ``` 在【mysqld】部分添加: ```ini bind-address = 0.0.0.0 ``` - 重启MySQL服务: `