MySQL在CentOS7上的安装与配置
MySQL是一种广泛使用的关系型数据库管理系统(RDBMS),由瑞典的MySQL AB公司开发,现属于Oracle公司,MySQL以其高性能、高可靠性和易用性而闻名,广泛应用于各种规模的项目中,从个人网站到大型企业级应用,CentOS是一款基于Linux内核的企业级操作系统,因其稳定性和安全性,常被用作服务器操作系统,在CentOS上安装和配置MySQL,可以为应用程序提供可靠的数据存储和管理服务。
安装步骤
1、更新系统软件包:
在开始安装之前,建议先更新系统的软件包以确保安装的是最新版本的软件包,可以使用以下命令来更新系统软件包:
```bash
sudo yum update y
```
2、添加MySQL Yum仓库:
为了能够从官方源安装MySQL,需要添加MySQL Yum仓库,执行以下命令下载并添加MySQL Yum仓库:
```bash
wget HTTPS://dev.mysql.com/get/mysql80communityreleaseel73.noarch.rpm
sudo rpm ivh mysql80communityreleaseel73.noarch.rpm
```
3、安装MySQL服务器:
添加完Yum仓库后,可以安装MySQL服务器及其相关组件,执行以下命令来安装MySQL服务器:
```bash
sudo yum install mysqlcommunityserver y
```
4、启动MySQL服务:
安装完成后,需要启动MySQL服务并设置开机自启,执行以下命令:
```bash
sudo systemctl start mysqld
sudo systemctl enable mysqld
```
5、获取临时密码:
MySQL在首次安装后会生成一个临时密码,用于管理员账户root的首次登录,可以通过查看MySQL日志文件获取临时密码:
```bash
sudo grep 'temporary password' /var/log/mysqld.log
```
记下输出中的临时密码,稍后会用到。
6、修改初始密码:
使用获取到的临时密码登录MySQL:
```bash
mysql u root p
```
在提示符后输入临时密码,然后按回车键登录,修改root用户的密码,将新密码设置为“MyNewPass!”:
```sql
ALTER USER 'root'@'localhost' IDENTIFIED BY 'MyNewPass!';
```
基本配置
1、远程访问配置:
如果需要允许远程主机连接到MySQL服务器,需要进行一些额外的配置,登录到MySQL:
```bash
mysql u root p
```
在MySQL命令行中,授予远程主机访问权限,允许来自任何IP地址的连接:
```sql
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'MyNewPass!' WITH GRANT OPTION;
FLUSH PRIVILEGES;
```
2、防火墙配置:
确保防火墙允许外部流量访问MySQL服务的端口(默认是3306),执行以下命令开放3306端口:
```bash
sudo firewallcmd zone=public addport=3306/tcp permanent
sudo firewallcmd reload
```
3、字符集配置:
为了让MySQL支持UTF8字符集,可以编辑MySQL配置文件my.cnf
(通常位于/etc/my.cnf
或/etc/mysql/my.cnf
),在[mysqld]
部分添加以下内容:
```ini
[client]
defaultcharacterset=utf8
[mysqld]
charactersetserver=utf8
collationserver=utf8_general_ci
```
然后重启MySQL服务以使更改生效:
```bash
sudo systemctl restart mysqld
```
常见问题及解决方法
1、Q1: 如何检查MySQL服务的状态?
要检查MySQL服务的状态,可以使用以下命令:
```bash
sudo systemctl status mysqld
```
该命令将显示MySQL服务的当前状态,包括是否正在运行以及任何错误消息,如果MySQL服务正在运行,你应该看到类似于“active (running)”的状态信息,如果服务没有运行,你可以使用“systemctl start mysqld”命令来启动它。
2、Q2: 如何重置MySQL root用户密码?
如果忘记了MySQL root用户的密码,可以通过以下步骤进行重置:
1. 停止MySQL服务:
```bash
sudo systemctl stop mysqld
```
2. 启动MySQL服务,跳过授权表:
```bash
sudo mysqld_safe skipgranttables &
```
3. 以root用户身份登录MySQL,不需要密码:
```bash
mysql u root
```
4. 在MySQL命令行中,刷新权限:
```sql
FLUSH PRIVILEGES;
```
5. 修改root用户的密码:
```sql
ALTER USER 'root'@'localhost' IDENTIFIED BY 'new_password';
```
6. 退出MySQL命令行,然后重新启动MySQL服务:
```bash
sudo systemctl start mysqld
```
通过以上步骤,你可以在CentOS 7上成功安装、配置和优化MySQL数据库,如果在安装过程中遇到任何问题,可以参考官方文档或社区论坛寻求帮助。