CentOS7安装MySQL5.7

软件配置

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

安装步骤

卸载MariaDB和历史MySQL

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

# 查看是否已安装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

下载安装包:

# 在线下载
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分多钟下载完成。
CentOS7安装MySQL5.7_第1张图片

解压安装包:

# 解压到指定目录
[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配置文件:

# 新建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文件内容如下:

[mysql]
default-character-set=utf8

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

创建mysql用户和组:

# 新增用户组
[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数据库:

[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

如果执行初始化命令后,提示缺少对应的依赖,安装依赖即可,操作如下图所示:
CentOS7安装MySQL5.7_第2张图片
安装完成后,再次执行初始化命令:

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

没有报错了,记录生成的临时密码,复制出来,后面登录mysql时要用到,如下图所示:
CentOS7安装MySQL5.7_第3张图片

给数据库加密:

[root@localhost bin]# ./mysql_ssl_rsa_setup --datadir=/usr/local/mysql/data

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

配置全局环境变量:

[root@localhost ~]# vim /etc/profile

最后添加一行:

export PATH=/usr/local/mysql/bin:$PATH

使环境变量生效:

[root@localhost ~]# source /etc/profile

启动MySQL

后台运行mysql:

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

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

查看mysql是否启动成功:

[root@localhost bin]# ps -ef|grep mysql

如下图即表示启动成功:
image.png

登录客户端:

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

如下图表示登录成功:
CentOS7安装MySQL5.7_第4张图片

修改密码:

mysql> set password=password('新密码');

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

设置mysql的远程访问:

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

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

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

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

开机自启动

配置启动文件:

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

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

修改为以下内容:

basedir=/usr/local/mysql
datadir=/usr/local/mysql/data

添加开机自启动服务:

[root@localhost bin]# chkconfig --add mysql

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

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

你可能感兴趣的:(#,环境搭建,mysql5.7,centos7,安装,安装mysql)