在CentOS 7上安装MySQL 5.7是一个常见的任务,特别是在开发和生产环境中,以下是一个详细的指南,涵盖从下载到配置的各个方面,确保你能顺利地完成安装并启动MySQL服务。
一、准备工作
1、更新系统:在开始之前,确保你的CentOS系统是最新的,打开终端并运行以下命令:
sudo yum update y
2、检查是否已安装MySQL:为了避免版本冲突,先检查系统上是否已经安装了MySQL。
rpm qa | grep mysql
二、下载MySQL 5.7安装包
1、选择Linux版本:访问MySQL官方下载页面,选择适用于Linux的64位tar包。
2、下载tar包:点击下载链接,等待下载完成。
三、上传并解压安装包
1、上传到服务器:将下载的tar包上传到服务器的根目录或你创建的目录下,usr/local。
2、解压安装包:进入存放tar包的目录并解压。
tar xf mysql5.7.38linuxglibc2.12x86_64.tar.gz
四、卸载系统自带的MariaDB
1、查找系统自带的mariadb:大多数CentOS系统会自带一个mariadb版本,需要先卸载。
rpm qa | grep mariadb
2、卸载mariadb:使用以下命令卸载mariadb。
sudo yum remove mariadblibs5.5.601.el7 y
五、安装MySQL 5.7
1、解压并重命名目录:解压后生成的目录重命名为mysql。
mv mysql5.7.38linuxglibc2.12x86_64 mysql
2、创建mysql用户和组:为了安全起见,为MySQL创建一个专用用户和组。
groupadd mysql useradd r g mysql s /bin/false mysql
3、更改文件权限:将mysql目录的所有权更改为mysql用户和组,并赋予执行权限。
chown R mysql:mysql /usr/local/mysql chmod R 755 /usr/local/mysql
4、创建快捷方式:为了方便使用,可以创建一些快捷方式。
echo "export PATH=$PATH:/usr/local/mysql/bin" >> ~/.bash_profile source ~/.bash_profile
5、生成临时密码:查看MySQL日志文件以获取临时生成的密码。
grep 'A temporary password' /var/log/mysqld.log
6、登录MySQL并修改密码:使用临时密码登录并修改root密码。
mysql u root p ALTER USER 'root'@'localhost' IDENTIFIED BY 'NewPassword!';
六、配置MySQL服务
1、复制启动文件:将mysql的启动脚本复制到init.d目录。
cp /usr/local/mysql/supportfiles/mysql.server /etc/init.d/mysqld
2、添加my.cnf配置文件:编辑my.cnf配置文件,设置字符集和绑定地址等。
[mysqld] datadir=/usr/local/mysql/data socket=/usr/local/mysql/mysql.sock user=mysql charactersetserver=utf8 collationserver=utf8_general_ci bindaddress = 0.0.0.0
3、启动MySQL服务:启动MySQL服务并设置为开机自启。
systemctl start mysqld systemctl enable mysqld
七、开放远程连接
1、授权远程访问:允许root用户从任何主机连接。
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'NewPassword!' WITH GRANT OPTION; FLUSH PRIVILEGES;
2、配置防火墙:开放3306端口以允许外部访问。
firewallcmd permanent addport=3306/tcp firewallcmd reload
八、测试与验证
1、测试远程连接:使用数据库客户端工具(如MySQL Workbench)或命令行工具测试远程连接。
mysql h your_server_ip u root p
2、建库建表测试:创建数据库和表,测试中文字符集支持。
CREATE DATABASE testdb; USE testdb; CREATE TABLE testtable (id INT, name VARCHAR(255)); INSERT INTO testtable (id, name) VALUES (1, '测试'); SELECT * FROM testtable;
九、FAQs
Q1:如何更改MySQL的默认存储引擎?
A1:可以通过修改my.cnf配置文件来更改默认存储引擎,在[mysqld]部分添加以下行:
defaultstorageengine=INNODB
然后重启MySQL服务。
Q2:如何备份和恢复MySQL数据库?
A2:可以使用mysqldump工具进行备份和恢复,备份命令如下:
mysqldump u root p database_name > backup.sql
恢复命令如下:
mysql u root p database_name < backup.sql
通过以上步骤,你应该能够在CentOS 7上成功安装并配置MySQL 5.7,如果在过程中遇到任何问题,可以参考MySQL官方文档或社区论坛寻求帮助。