CentOS7版本安装mysql

文章目录

  • 1.安装mysql的前置条件
  • 2.清理原有的mysql数据库
  • 3.查看是否安装mariadb
  • 4.安装mysql依赖包
  • 5.解压缩mysql包
  • 6.安装目录赋权限(注:R必须是大写)
  • 7.创建MySQL组
  • 8.将mysql目录的权限授给mysql用户和mysql组
  • 9.创建mysql安装初始化配置文件
  • 10.初始化mysql
  • 11.启动MySQL服务
  • 12.mysql加入系统进程中
  • 13.修改随机登录密码
  • 14.设置允许远程登录
  • 15.防火墙设置
  • 16.配置环境变量

通过mysql的tar包的方式。
看完此文章,如遇到问题和疑问,可以私信我。

1.安装mysql的前置条件

  1. 如果你是虚拟机上的CentOS系统,需要先配置好yum的镜像仓库地址(如果是云服务器的系统,则不是必须配置好)
  2. 提前下载好Linux版本的mysql版本(例如:mysql-8.0.21-el7-x86_64.tar.gz)
  3. 安装xshell(SSH远程连接(虚拟机本地的系统可以直接在虚拟机的系统操作,不是很必要))和FileZilla Client(向服务器的CentOS直接传文件的软件)。这些软件安装相同功能的也可以,不必要一样的。
  4. 在CnetOS目录下建一个放置你压缩包的目录(记住这个目录)。我的mysql-8.0.21-el7-x86_64.tar.gz上传放在了/root/software/目录下(没有software,自己新建)。

2.清理原有的mysql数据库

通过一下命令查找出已安装的mysql、软件包和依赖包:

[root@VM-12-15-centos ~]# rpm -pa | grep mysql

显示结果:
mysql80-community-release-el7-1.noarch
mysql-community-server-8.0.11-1.el7.x86_64
mysql-community-common-8.0.11-1.el7.x86_64
mysql-community-libs-8.0.11-1.el7.x86_64
mysql-community-client-8.0.11-1.el7.x86_64
使用以下命令依次删除上面的程序:

[root@VM-12-15-centos ~]# yum remove mysql-xxx.xxx

删除mysql的配置文件,卸载不会自动删除配置文件,首先使用如下命令查找出所用的配置文件;

[root@VM-12-15-centos ~]# find / -name mysql

可能得显示结果如下:
/etc/logrotate.d/mysql
/etc/selinux/targeted/active/modules/100/mysql
/etc/selinux/targeted/tmp/modules/100/mysql
/var/lib/mysql
/var/lib/mysql/mysql
/usr/bin/mysql
/usr/lib64/mysql
/usr/local/mysql
根据需求使用以下命令 依次 对配置文件进行删除(可以不进行操作),例如(-rf命令一定确保文件没有实际用处了使用):

[root@VM-12-15-centos ~]# rm -rf /etc/logrotate.d/mysql

3.查看是否安装mariadb

因为mariadb是mysql的分支子集,不删除的话对安装mysql会有影响冲突。
执行命令:

[root@VM-12-15-centos ~]# rpm -qa | grep mariadb

在这里插入图片描述
这样显示是没有文件,有的话执行命令:

[root@VM-12-15-centos ~]# rpm -e --nodeps mariadb-xxxx

卸载后,可以再通过查找命令,看一下是否卸载成功(以下执行的相似的命令,也可以这样查看)。

4.安装mysql依赖包

执行命令:

[root@VM-12-15-centos ~]# yum install libaio

CentOS7版本安装mysql_第1张图片

5.解压缩mysql包

前置条件中,已将通过传送文件的软件将mysql压缩包传送到你新建的目录。
查看你的压缩包:
进入相应的文件夹

[root@VM-12-15-centos ~]# cd /root/software/

查看文件夹有什么东西:
CentOS7版本安装mysql_第2张图片
输入解压命令:
tar -zxvf 需要解压的文件名 -C 解压文件放在哪个目录
例如:

[root@VM-12-15-centos software]#tar -zxvf /root/software/mysql-8.0.21-el7-x86_64.tar.gz -C /usr/local

这里会执行一段时间,执行成功后,进入/usr/local/目录,通过ls查看是否有mysq-xxx的文件夹。
文件夹改名命令:

[root@VM-12-15-centos local]# mv /usr/local/mysql-8.0.21-el7-x86_64 mysql

CentOS7版本安装mysql_第3张图片
创建mysql数据存放目录mysqldb,执行命令(这些命令都是一行一行执行的,下面的都是如此,别全复制粘贴过去):

[root@VM-12-15-centos lcoal]# cd /usr/local/mysql/
[root@VM-12-15-centos mysql]# mkdir /usr/local/mysql/mysqldb

在这里插入图片描述

[root@VM-12-15-centos mysql]# ls -al

CentOS7版本安装mysql_第4张图片

6.安装目录赋权限(注:R必须是大写)

[root@VM-12-15-centos mysql]# chmod -R 777 /usr/local/mysql/
[root@VM-12-15-centos mysql]# chmod -R 777 /usr/local/mysql/mysqldb/

7.创建MySQL组

创建mysql用户,并且设置密码(mysql123456,自己记住就行,不能是太简单的密码,像是123456,否则会报错)

[root@VM-12-15-centos mysql]# groupadd mysql
[root@VM-12-15-centos mysql]# useradd mysql
[root@VM-12-15-centos mysql]# passwd mysql123456

8.将mysql目录的权限授给mysql用户和mysql组

[root@VM-12-15-centos mysql]# chown -R mysql:mysql /usr/local/mysql

查看:

[root@VM-12-15-centos local]# ll

CentOS7版本安装mysql_第5张图片

9.创建mysql安装初始化配置文件

[root@VM-12-15-centos mysql]# vi /etc/my.cnf

vi编辑没有颜色,vim如果下载了,使用vim,有颜色区分。

[root@VM-12-15-centos mysql]# vim /etc/my.cnf

添加下面的命令,并保存退出(复制粘贴后,修改basedir和datadir路径,按Esc件,输入:wq,保存并退出)

[mysqld]
# 设置3306端口
port=3306
# 设置mysql的安装目录
basedir=/usr/local/mysql
# 设置mysql数据库的数据的存放目录
datadir=/usr/local/mysql/mysqldb
# 允许最大连接数
max_connections=10000
# 允许连接失败的次数。这是为了防止有人从该主机试图攻击数据库系统
max_connect_errors=10
# 服务端使用的字符集默认为UTF8
character-set-server=utf8
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
# 默认使用“mysql_native_password”插件认证
default_authentication_plugin=mysql_native_password
[mysql]
# 设置mysql客户端默认字符集
default-character-set=utf8
[client]
# 设置mysql客户端连接服务端时默认使用的端口
port=3306
default-character-set=utf8

通过以下命令,查看my.cnf文件。
CentOS7版本安装mysql_第6张图片

10.初始化mysql

首先,进入mysql的bin目录下:

[root@VM-12-15-centos mysql]# cd /usr/local/mysql/bin/
[root@VM-12-15-centos bin]# ./mysqld --initialize --console

这里有时会出现错误:
错误一:
在这里插入图片描述
这个错误的意思,你没有下载那个依赖。
如果安装mysql出现了以上的报错信息.这是却少numactl,这个时候如果是Centos就执行

[root@VM-12-15-centos bin]# yum -y install numactl

ubuntu的就执行

sudo apt-get install numactl

就可以解决这个问题。
没问题的话,执行初始化启动命令。

[root@VM-12-15-centos bin]# ./mysqld --initialize --console

后记住随机密码(一般在最后面,多数是很乱的英文字母),一会修改密码会用到。

11.启动MySQL服务

[root@VM-12-15-centos bin]# cd …/support-files/
[root@VM-12-15-centos support-files]# ./mysql.server start

这里很可能会出现错误。
错误类型一:
在这里插入图片描述
在mysql安装目录下重新授权后,再次字形启动MySQL命令:

[root@VM-12-15-centos support-files]# chmod -R 777 /usr/local/mysql

错误类型二:
在这里插入图片描述
通过命令

[root@VM-12-15-centos support-files]# ps -ef | grep mysql

查看是否已有mysql在启动。
CentOS7版本安装mysql_第7张图片可以看到有两个相关进程,命令kill -9 端口号(如图中的14099)杀掉进程!
再次启动服务。
看是否会显示启动成功提示信息。

12.mysql加入系统进程中

[root@VM-12-15-centos support-files]# cp mysql.server /etc/init.d/mysqld

重启MySQL服务:

[root@VM-12-15-centos support-files]# service mysqld restart

13.修改随机登录密码

在bin目录下执行(此处建议用手动输入,复制粘贴有时会出现错误)

[root@VM-12-15-centos bin]# ./mysql -u root -p

输入刚才记住的随机密码,点击Enter进入,会出现mysql>。
输入(其中最后的root是你的root账户的数据库密码,更改为你的密码即可):

mysql> alter user ‘root’@‘localhost’ IDENTIFIED WITH mysql_native_password BY ‘root’;

14.设置允许远程登录

输入一行,执行一行。

mysql> use mysql
mysql> update user set user.Host=’%'where user.User=‘root’; <此处复制可能会出问题>
mysql> flush privileges;

再输入quit退出。
重启服务即可。

[root@VM-12-15-centos bin]# service mysqld restart

15.防火墙设置

方法一:
1.设置防火墙通过端口3306.

方法二:
关闭防火墙。

[root@VM-12-15-centos bin]# systemctl stopfirewalld.service

16.配置环境变量

[root@VM-12-15-centos bin]# vi /etc/profile

在文件的最后加上如下两行:

export PATH=$PATH:/usr/local/mysql/bin
export PATH=$PATH:/usr/local/mysql/support-files

按Esc键,输入:wq(保存退出)。
执行:

[root@VM-12-15-centos bin]# source /etc/profile

至此,安装mysql成功,可以再Navicat xx for MySQL数据库管理软件,进行此数据库的连接。

如有疑问,可以私信我。

你可能感兴趣的:(JAVA,mysql,spring,boot,linux)