CentOS MySQL 5.5 安装
一、前言
CentOS是一款基于Red Hat Enterprise Linux的开源操作系统,广泛应用于服务器环境,而MySQL作为一款流行的开源关系型数据库管理系统,常与CentOS结合使用,提供稳定高效的数据服务,本文将详细介绍如何在CentOS上安装MySQL 5.5版本,包括前期准备、安装步骤、配置过程以及常见问题的解决方法。
二、安装前准备
1. 系统信息
操作系统:CentOS 7
目标软件:MySQL 5.5
2. 卸载自带的MariaDB和旧版MySQL
由于CentOS 7默认搭载的是MariaDB,因此首先需要将其卸载,同时检查是否有残留的MySQL版本需要一并清理。
执行以下命令查找已安装的MariaDB和MySQL版本:
rpm qa | grep mariadb rpm qa | grep mysql
如果存在,则执行以下命令进行卸载:
yum remove mariadb* y yum remove mysql* y
3. 安装EPEL源并更新YUM缓存
为了方便后续操作,可以添加EPEL源并更新YUM缓存:
rpm ivh https://download.fedoraproject.org/pub/epel/7/x86_64/e/epelrelease78.noarch.rpm yum clean all yum makecache
三、下载MySQL 5.5源码包
访问MySQL官方Archives页面(https://downloads.mysql.com/archives/community/)下载指定版本的MySQL 5.5源码包,下载mysql5.5.62linux2.6x86_64.tar.gz
。
上传该文件至CentOS服务器,并解压至/usr/local目录下:
tar zxvf mysql5.5.62linux2.6x86_64.tar.gz C /usr/local/ cd /usr/local/mysql5.5.62linux2.6x86_64
四、编译与安装MySQL
1. 配置与安装
执行配置命令,根据需求调整安装选项:
cmake \ DCMAKE_INSTALL_PREFIX=/usr/local/mysql \ DDEFAULT_CHARSET=utf8 \ DDEFAULT_COLLATION=utf8_general_ci \ DWITH_EXTRA_CHARSETS=all \ DSYSCONFDIR=/etc \ DMYSQL_DATADIR=/home/mysql/ \ DMYSQL_UNIX_ADDR=/home/mysql/mysql.sock \ DWITH_MYISAM_STORAGE_ENGINE=1 \ DWITH_INNOBASE_STORAGE_ENGINE=1 \ DWITH_ARCHIVE_STORAGE_ENGINE=1 \ DWITH_BLACKHOLE_STORAGE_ENGINE=1 \ DENABLED_LOCAL_INFILE=1 \ DWITH_SSL=system \ DMYSQL_TCP_PORT=3306 \ DENABLE_DOWNLOADS=1 \ DWITH_SSL=bundled
然后进行编译和安装:
make && make install
2. 创建运行用户并设置权限
创建一个专用于运行MySQL的用户,并设置目录权限:
useradd s /sbin/nologin mysql chown R mysql.mysql /usr/local/mysql
五、初始化数据库与配置环境变量
1. 建立配置文件
复制一个适合的样本配置文件到/etc
目录下:
cp supportfiles/mymedium.cnf /etc/my.cnf
2. 初始化数据库
以mysql用户身份执行初始化脚本:
scripts/mysql_install_db user=mysql ldata=/var/lib/mysql basedir=/usr/local/mysql datadir=/home/mysql
3. 设置环境变量
编辑/etc/profile
文件,在文件末尾添加以下内容,并使更改立即生效:
export PATH=$PATH:/usr/local/mysql/bin/ source /etc/profile
六、添加系统服务与启动MySQL
1. 添加MySQL为系统服务
将源码包中的服务脚本复制到/etc/init.d
目录下,并命名为mysqld
:
cp supportfiles/mysql.server /etc/init.d/mysqld chmod +x /etc/init.d/mysqld chkconfig add mysqld
2. 启动MySQL服务
service mysqld start chkconfig level 35 mysqld on
七、登录与配置远程登录
1. 首次登录MySQL
mysql u root p
MySQL会提示输入密码,初次登录密码为空,直接回车即可,然后修改root密码:
SET PASSWORD = PASSWORD('新密码'); FLUSH PRIVILEGES;
2. 设置远程登录权限
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '新密码' WITH GRANT OPTION; FLUSH PRIVILEGES;
3. 关闭防火墙(如有必要)
systemctl stop firewalld.service
八、相关FAQs
Q1: 如何确认MySQL是否成功安装?
A1: 可以通过以下几种方法确认:
1、检查进程:使用ps ef | grep mysqld
查看MySQL进程是否运行。
2、检查端口:使用netstat ntlp | grep 3306
查看MySQL端口是否监听。
3、登录MySQL:使用mysql u root p
尝试登录MySQL,看是否能成功进入。
4、检查服务状态:使用service mysqld status
或chkconfig list | grep mysqld
检查MySQL服务状态。
Q2: 如果遇到“ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)”怎么办?
A2: 这个错误通常表示MySQL的root用户没有设置密码或者密码输入错误,解决方法如下:
1、停止MySQL服务:使用service mysqld stop
停止MySQL服务。
2、跳过权限表启动MySQL:使用mysqld_safe skipgranttables &
命令启动MySQL,这将跳过权限表,允许你无需密码登录。
3、登录MySQL并修改密码:使用mysql u root
登录MySQL,然后执行FLUSH PRIVILEGES;
刷新权限,再执行SET PASSWORD FOR 'root'@'localhost' = PASSWORD('新密码');
修改root密码,最后再次执行FLUSH PRIVILEGES;
使更改生效。