CentOS7安装MySQL5.7

软件配置

linux系统版本:centos7.9 华为云

mysql版本:mysql-5.7.38

安装步骤

卸载MariaDB和历史MySQL

当前服务器可能已安装了MariaDB和MySQL,需要先卸载,以免后面安装时有冲突。

bash 复制代码
# 查看是否已安装mariadb
[root@hecs-403280 ~]# rpm -aq|grep mariadb
mariadb-libs-5.5.68-1.el7.x86_64

# 上面表示安装过mariadb,需要卸载,--nodeps表示卸载时忽略依赖
[root@hecs-403280 ~]# rpm -e --nodeps mariadb-libs-5.5.68-1.el7.x86_64

# 检查是否卸载完成,结果为空表示卸载完成
[root@hecs-403280 ~]# rpm -aq|grep mariadb

# 检查是否本地已经安装了mysql
[root@hecs-403280 ~]# rpm -qa | grep mysql

# 如果存在,卸载以前的mysql
[root@hecs-403280 ~]# rpm -e 已经存在的MySQL全名

下载及安装MySQL

下载安装包:

bash 复制代码
# 在线下载
wget https://repo.huaweicloud.com/mysql/Downloads/MySQL-5.7/mysql-5.7.38-linux-glibc2.12-x86_64.tar.gz

下载提示找不到文件时,请在浏览器访问https://repo.huaweicloud.com/mysql/Downloads/MySQL-5.7,并找到对应的版本。可能当前这个版本不存在了,找一个相近的版本即可。

华为云速度还是挺快的,安装包600多兆,我这里用了8分多钟下载完成。

解压安装包:

bash 复制代码
# 解压到指定目录
[root@hecs-403280 ~]# tar -zxvf ~/mysql-5.7.38-linux-glibc2.12-x86_64.tar.gz -C /usr/local/

# 修改文件名
[root@hecs-403280 ~]# cd /user/local
[root@hecs-403280 local]# mv mysql-5.7.38-linux-glibc2.12-x86_64 mysql

配置mysql配置文件:

bash 复制代码
# 新建my.cnf文件到/etc/my.cnf
[root@hecs-403280 ~]# vim /etc/my.cnf

我这里是因为没有/usr/local/mysql/support-files/my.cnf文件所以才新建的,如果你的目录已经有my.cnf文件,直接将已存在的my.cnf文件复制到/etc/my.cnf即可。

my.cnf文件内容如下:

bash 复制代码
[mysql]
default-character-set=utf8

[mysqld]
default-storage-engine=INNODB
character_set_server=utf8

创建mysql用户和组:

bash 复制代码
# 新增用户组
[root@hecs-403280 ~]# groupadd mysql

# 新增用户并放入指定组
[root@hecs-403280 ~]# useradd -g mysql mysql

# 设置用户密码
[root@hecs-403280 ~]# passwd mysql

# 将mysql基础目录更改拥有者
[root@hecs-403280 ~]# chown -R mysql:mysql /usr/local/mysql/

初始化mysql数据库:

bash 复制代码
[root@hecs-403280 ~]# cd /usr/local/mysql/bin/
[root@hecs-403280 bin]# ./mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data
./mysqld: error while loading shared libraries: libaio.so.1: cannot open shared object file: No such file or directory
[root@hecs-403280 bin]# yum -y install libaio

如果执行初始化命令后,提示缺少对应的依赖,安装依赖即可,操作如下图所示:

安装完成后,再次执行初始化命令:

bash 复制代码
[root@hecs-403280 bin]# ./mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data

没有报错了,记录生成的临时密码,复制出来,后面登录mysql时要用到,如下图所示:

给数据库加密:

bash 复制代码
[root@localhost bin]# ./mysql_ssl_rsa_setup --datadir=/usr/local/mysql/data

该步骤用以支持ssl安全连接。

配置全局环境变量:

bash 复制代码
[root@localhost ~]# vim /etc/profile

最后添加一行:

bash 复制代码
export PATH=/usr/local/mysql/bin:$PATH

使环境变量生效:

bash 复制代码
[root@localhost ~]# source /etc/profile

启动MySQL

后台运行mysql:

bash 复制代码
# 启动mysql服务,&表示后台运行
[root@localhost bin]# ./mysqld_safe --user=mysql &

出现如下图所示数字,即表示启动成功。Logging...这里会阻塞,control+c退出即可。

查看mysql是否启动成功:

bash 复制代码
[root@localhost bin]# ps -ef|grep mysql

如下图即表示启动成功:

登录客户端:

bash 复制代码
[root@localhost bin]# ./mysql -uroot -p
Enter password: # 这里输入自动生成的密码

如下图表示登录成功:

修改密码:

bash 复制代码
mysql> set password=password('新密码');

请务必不要使用简单密码,最好是通过工具生成随机密码,并保管好。

设置mysql的远程访问:

bash 复制代码
mysql> grant all privileges on *.* to root@'%' identified by '新密码' WITH GRANT OPTION;
mysql> flush privileges;

注意此处的"新密码"可以与之前设置的root用户密码不同。

开放端口:

因为我的是云服务,所以开放3306端口只需要在云服务控制台配置即可,如果你需要手动配置linux暴露端口,参考下面。

bash 复制代码
[root@localhost bin]# firewall-cmd --zone=public --add-port=3306/tcp --permanent
success
[root@localhost bin]# firewall-cmd --reload
success

开机自启动

配置启动文件:

bash 复制代码
[root@hecs-403280 ~]# cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql

[root@hecs-403280 ~]# vim /etc/init.d/mysql

修改为以下内容:

bash 复制代码
basedir=/usr/local/mysql
datadir=/usr/local/mysql/data

添加开机自启动服务:

bash 复制代码
[root@localhost bin]# chkconfig --add mysql

# 设置mysql服务自启动
[root@localhost bin]# chkconfig mysql on

至此mysql安装完成了,愉快地玩耍吧!

相关推荐
AlbertS7 小时前
使用 Let’s Encrypt 获取免费SSL证书
nginx·免费·centos7·ssl证书·let’s encrypt
向上吧! 少年25 天前
docker-comapose安装部署mysql
mysql·docker·部署·docker-compose·安装
CS_GaoMing1 个月前
Centos7 JDK 多版本管理与 Maven 构建问题和注意!
java·开发语言·maven·centos7·java多版本
wzkttt1 个月前
MacOS Sequoia安装geant4.10.07
macos·安装·geant4
PeterJXL1 个月前
Git - 初识版本库
git·安装
代码星辰1 个月前
Elasticsearch——介绍、安装与初步使用
elasticsearch·搜索引擎·安装
OceanSky61 个月前
SDKMAN!安装Maven
maven·安装·版本切换·sdkman
CoolTiger、1 个月前
VirtualBox+Vagrant快速搭建Centos7系统【最新详细教程】
centos7·vagrant·virtualbox
杰克逊的日记2 个月前
1 elasticsearch安装
大数据·elasticsearch·搜索引擎·安装
玖石书2 个月前
ollama安装(ubuntu20.04)
llm·安装·ollama