首先确认阿里云的服务器的镜像是公共镜像的CentOs 7系列的版本 (之前构建的是其他人上传的,不是纯净的环境,不然容易出问题)

安装之前先翻到最后看下踩坑点。

一. 开始安装

  1. 下载mysql的包,我下载的是下面的版本

centos 查看 mysql数据库 服务名 查看mysql服务器_初始化

 

 

   2. 上传到目录 /usr/local/

centos 查看 mysql数据库 服务名 查看mysql服务器_初始化_02

 

 

   3. 解压命令:

tar -zxvf mysql-5.7.32-linux-glibc2.12-x86_64.tar.gz

  4. 更改解压后目录的名字

mv mysql-5.7.32-linux-glibc2.12-x86_64.tar.gz mysql-5.7.32

  5. 创建mysql的用户和用户组 (我不知道为什么要创建这样的普通用户,我看其他人也有这一步,所以跟着做了)

groupadd mysql #创建mysql用户组
 useradd -r -g mysql mysql #在mysql用户组下创建mysql用户

  

  6. 更改权限,创建文件夹

mkdir /usr/local/mysql-5.7.32/data   #data文件夹用于存放数据库表之类的数据
 mkdir /data/mysql  #这个文件下放一些日志文件什么的
 chown -R mysql.mysql /usr/local/mysql-5.7.32  #把mysql-5.7.32文件夹以及其子文件夹和文件的权限都给mysql用户
 chown -R mysql.mysql /data/mysql  #将mysql文件夹及其子文件夹和文件权限都给mysql用户

  

  7. 修改配置文件 (注意:不知道在哪个步骤这个文件就生成了,我为了避免改动,我就将这个文件先备份起来,重新创建了一个新的my.cnf文件,在新文件中更改)

mv /etc/my,cnf /etc/my.cnf_bak  #将原文件更名 
 touch my.cnf  #创建新文件
  vi /etc/my.cnf  #vi模式

  

  内容如下

[mysqld]
# data文件路径
datadir=/usr/local/mysql-5.7.32/data
basedir=/usr/local/mysql-5.7.32
port=3306
user=mysql
character-set-server=utf8
explicit_defaults_for_timestamp=true

[mysqld_safe]
# 日志文件路径
log-error=/data/mysql/mysqld.log
pid-file=/data/mysql/mysqld.pid

  

  8. 安装依赖包和初始化

yum install libaio   #安装依赖包,我试过不安装,然后报错了...

  8.1 初始化

./mysqld --defaults-file=/etc/my.cnf --basedir=/usr/local/mysql-5.7.32/ --datadir=/usr/local/mysql-5.7.32/data/ --user=mysql --initialize

  8.2 记住初始化成功后会给一个默认的密码,一定要记住,不然待会就登录不了了

centos 查看 mysql数据库 服务名 查看mysql服务器_初始化_03

  9. 将mysql加到系统服务中

cp /usr/local/mysql-5.7.32/support-files/mysql.server /etc/init.d/mysql

 

10. 设置开机启动

chkconfig mysql on

11. 将mysql添加到环境变量中,以后可以在其他目录下启动mysql

vi /etc/profile

export PATH=$PATH:/usr/local/mysql-5.7.32/bin  #将这一行放在profile文件中

source /etc/profile   #使文件立刻生效

 

  12.启动mysql

service mysql start

  13. 登录mysql

mysql -u root -p

centos 查看 mysql数据库 服务名 查看mysql服务器_初始化_04

 

 14. 输入刚才给的默认密码,这里它是隐藏的,你只管输入,反正也不会给你显示,敲完后回车,如果成功了就是下下面的样子

centos 查看 mysql数据库 服务名 查看mysql服务器_初始化_05

 

 

15.修改密码 (前提是要启动mysql,并且是登录状态,如上图一样在mysql> 这个下面输入下面的指令)

SET PASSWORD = PASSWORD('123456');
ALTER USER 'root'@'localhost' PASSWORD EXPIRE NEVER;
FLUSH PRIVILEGES;

centos 查看 mysql数据库 服务名 查看mysql服务器_服务器_06

 

 

 

   16. 远程登录,如果不设置,外部在访问的时候就连接不上

centos 查看 mysql数据库 服务名 查看mysql服务器_初始化_07

 

 在登录状态下输入以下命令

use mysql                                            #访问mysql库
update user set host = '%' where user = 'root';      #使root能再任何host访问
FLUSH PRIVILEGES;

centos 查看 mysql数据库 服务名 查看mysql服务器_mysql_08

 

 

centos 查看 mysql数据库 服务名 查看mysql服务器_服务器_09

 

 

二. 问题踩坑总结

  1. 我是参考其他文章写的,他们的目录结构和我的不一样,导致我初始化的时候一些命令和别人就不一样,有时候多带了一个斜杠导致初始化失败

  2. 还有一个是目录的权限问题,我是先用root创建的大目录,更改权限后,又创建了一些小目录,然后就忘了赋mysql的权限,

   导致启动就报错,因为它要写入,但是又没有权限

  3. 我碰见最大的一个问题就是我第一次我已经装好了jdk和redis, 在装mysql的时候就各种报错,我试过tar,gz的安装,也试过yum安装,

   最后都乱了,不仅mysql没装上,我服务器ll命令查看文件,都提示没有这个命令,咨询了阿里云的客服,客服很耐心跟我说可能是因为我的镜像不是纯净的,

   在装mysql的时候把一些配置文件给整没了,所以才有了开头我指的需要检查是否构建的是纯净的环境,最后我是重新构建的,各种服务也是重新装的。

  4. 最后最后注意,如果是对阿里云不熟悉的朋友,要注意,你自己部署好了服务,全都是正常的,外部访问又访问不了的话,

   第一你要检查你的防火墙有没有开放对应的端口,我索性把防火墙关闭了,因为是自己学习,问题不大。

   第二去阿里云的官网,在自己的服务器实例中往安全组中新增对应的端口,这样外部才可以访问。

     我第一次都不知道有这些,自己搞了好久才知道有这个玩意,去添加安全组还添加错了,本来是上海的,结果整到伦敦去了,

     所以出了问题,慢慢看,不行就咨询阿里云的客服,服务器一般来说没什么大问题,只是我们设置不对。

  5. 还有一些坑我没写,因为我没出现哪些问题,比如我没有添加那个时间的配置,然后就报错了,后面我加上了就没有错。

   还有像开机启动的配置,有的人出现没有权限执行的情况,这个我没出现,按照步骤来,问题应该不大。