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安装完成了,愉快地玩耍吧!

相关推荐
gis分享者2 天前
麒麟V10系统,postgres+postgis安装,保姆级教程,包含所有安装包
postgresql·安装·postgis·麒麟系统
至天5 天前
MacPorts 中安装高/低版本软件方式,以 RabbitMQ 为例
macos·rabbitmq·安装·降级·升级·macports·checksums
弗锐土豆6 天前
在windows系统中使用labelimg对图片进行标注之工具安装及简单使用
windows·安装·下载·使用·labelimg
bohu8310 天前
分布式事务seata(AT)与nacos整合-笔记1
笔记·nacos·seata·安装·at
mack1 个月前
mysql5.7.44 64位版本下载
mysql5.7
qq_172805591 个月前
RUST学习教程-安装教程
开发语言·学习·rust·安装
胡西风_foxww1 个月前
linux下编译安装memcached
linux·数据库·缓存·编译·安装·memcached·libevent
胡西风_foxww1 个月前
Linux下编译安装Nginx
linux·运维·nginx·编译·安装·openssl·pcre
子不语1 个月前
C#程序开发,检测当前电脑已经安装的软件目录
开发语言·c#·安装·列表·软件
小李飞刀李寻欢2 个月前
anaconda 安装笔记Ubuntu20
前端·笔记·ubuntu·安装·anaconda