然而,有时候用户在CentOS上安装完MySQL后,可能会发现似乎没有MySQL服务器运行,或者无法连接到MySQL服务
这通常是由于安装步骤不完整或配置有误所致
本文将详细介绍在CentOS上安装MySQL以及配置MySQL服务器的步骤,确保MySQL服务能够正常运行
一、安装MySQL前的准备工作 在正式安装MySQL之前,需要做好一些准备工作,以确保安装过程顺利,并且能够避免一些常见的问题
1.更新系统软件包 在安装MySQL之前,建议先更新系统的软件包
这可以确保安装过程中依赖的软件包都是最新的,避免因版本不兼容导致的问题
bash sudo yum update -y 2.添加MySQL Yum存储库 CentOS的官方仓库中可能不包含最新版本的MySQL,因此建议从MySQL的官方Yum存储库进行安装
首先,需要下载并添加MySQL Yum存储库的RPM包
bash sudo yum localinstall -y https://dev.mysql.com/get/mysql80-community-release-el7-5.noarch.rpm 安装完成后,可以通过以下命令查看可用的MySQL版本: bash yum repolist enabled | grep mysql.-community. 3.禁用默认MySQL模块 如果有多个MySQL版本可用,需要禁用不需要的版本
例如,默认启用的可能是MySQL8.0社区版(Development),而你可能需要的是MySQL5.7社区版(GA)
bash sudo yum-config-manager --disable mysql80-community sudo yum-config-manager --enable mysql57-community 二、安装MySQL服务器 完成准备工作后,就可以开始安装MySQL服务器了
1.安装MySQL服务器软件包 使用`yum`命令安装MySQL服务器: bash sudo yum install -y mysql-community-server 2.启动MySQL服务 安装完成后,需要启动MySQL服务
同时,可以设置MySQL服务在系统启动时自动启动
bash sudo systemctl start mysqld sudo systemctl enable mysqld 3.获取临时root密码 MySQL服务器在首次启动时,会自动生成一个临时root密码
这个密码会记录在MySQL服务器的日志文件中
可以通过以下命令查看临时密码: bash sudo grep temporary password /var/log/mysqld.log 三、配置MySQL服务器 获取临时root密码后,下一步是登录MySQL并进行安全配置
1.登录MySQL 使用临时root密码登录MySQL: bash mysql -u root -p 系统会提示输入密码,输入刚才从日志文件中获取的临时密码即可
2.运行安全配置脚本 MySQL提供了一个安全配置脚本`mysql_secure_installation`,用于设置root密码、删除匿名用户、禁止root远程登录、删除测试数据库等
bash mysql_secure_installation 在运行脚本时,会提示进行以下操作: -设置root密码:输入新的root密码,并确认
-删除匿名用户:选择“Y”删除匿名用户
-禁止root远程登录:选择“Y”禁止root通过远程登录
-删除测试数据库:选择“Y”删除测试数据库
-重新加载权限表:选择“Y”重新加载权限表
3.创建数据库和用户 完成安全配置后,可以根据需要创建数据库和用户
例如,创建一个名为`testdb`的数据库和一个名为`testuser`的用户,并授予该用户对数据库的访问权限
sql CREATE DATABASE testdb; CREATE USER testuser@localhost IDENTIFIED BY password; GRANT ALL PRIVILEGES ON testdb. TO testuser@localhost; FLUSH PRIVILEGES; 四、配置MySQL服务器参数 MySQL服务器的性能和行为可以通过配置文件进行调整
MySQL的主要配置文件是`/etc/my.cnf`(或`/etc/mysql/my.cnf`,取决于安装方式)
以下是一些常用的配置参数及其说明: 1.绑定地址 `bind-address`参数用于指定MySQL服务器监听的IP地址
默认值是`127.0.0.1`,表示只监听本地回环地址
如果需要让MySQL服务器监听所有网络接口,可以将其设置为`0.0.0.0`
ini 【mysqld】 bind-address =0.0.0.0 2.端口号 `port`参数用于指定MySQL服务器监听的端口号
默认值是`3306`
ini 【mysqld】 port =3306 3.字符集 `character-set-server`和`collation-server`参数用于设置MySQL服务器的默认字符集和排序规则
例如,可以将其设置为`utf8mb4`,以支持更多的Unicode字符
ini 【mysqld】 character-set-server = utf8mb4 collation-server = utf8mb4_unicode_ci 4.日志配置 MySQL的日志功能可以帮助管理员监控数据库的运行状态和排查问题
常用的日志包括错误日志、查询日志、慢查询日志等
-错误日志:记录MySQL服务器的启动、关闭以及运行过程中遇到的错误
-查询日志:记录所有客户端的连接和执行的SQL语句
-慢查询日志:记录执行时间超过指定阈值的SQL语句
ini 【mysqld】 log_error = /var/log/mysql/error.log general_log =1 general_log_file = /var/log/mysql/general.log slow_query_log =1 slow_query_log_file = /var/log/mysql/slow.log long_query_time =2 五、检查MySQL服务状态 配置完成后,需要检查MySQL服务的状态,确保MySQL服务正在正常运行
1.检查MySQL服务状态 使用`systemctl`命令检查MySQL服务的状态: bash sudo systemctl status mysqld 如果MySQL服务正在运行,会看到类似以下的信息: plaintext ● mysqld.service - MySQL Server Loaded: loaded(/usr/lib/systemd/system/mysqld.service; enabled; vendor preset: disabled) Active: active(running) since ... 2.检查M