centos7下MySQL5.7的安装与配置

下载

下载地址

MySQL 5.7 - CentOS 7 - 图1

MySQL 5.7 - CentOS 7 - 图2

根据系统和版本选择红框中的四个RPM包下载即可,然后放到centos7系统中的/opt目录下,等待稍后安装。

MySQL 5.7 - CentOS 7 - 图3

安装前的准备

1. 检查系统中是否已经安装mariadb

当系统中存在mariadb时,安装mysql5.7会出现冲突,所以检查是否存在。

命令:

  1. rpm -qa | grep mariadb

MySQL 5.7 - CentOS 7 - 图4

如果出现上图所示mariadb-libs-5.5.60-1.el7_5.x86_64输出,说明已经安装。我们在安装mysql5.7之前要卸载它。

命令:

  1. rpm -e --nodeps mariadb-libs

卸载并检查:

MySQL 5.7 - CentOS 7 - 图5

什么都不输出,表示已经卸载完成。

2. 检查系统中是否缺少libaio和net-tools

安装mysql需要依赖libaionet-tools,所以安装之前需要进行缺省检查

命令:

  1. rpm -qa | grep libaio
  1. rpm -qa | grep net-tools

MySQL 5.7 - CentOS 7 - 图6

如图所示,这两个包都已经存在,所以不需要其他额外的操作,若缺少,应自行安装。

安装:

  • libaio:作用是为了支持同步I/O。对于数据库之类的系统特别重要,因此在linux上安装数据库软件,就需要安装libaio。(不安装mysql的server端安装会失败)
    1. # 1. 搜索
    2. yum search libaio
    3. # 2. 安装
    4. yum install libaio-devel.x86_64 -y
    5. # 3. 检查
    6. rpm -qa | grep libaio

3. 检查/tmp目录权限

命令:

  1. ll / | grep tmp

MySQL 5.7 - CentOS 7 - 图7

可以看到此目录权限为所有权限。

安装

下载阶段,我们已经把从mysql官网下载的4个rpm包放置于/opt目录,现在依次执行下面的命令进行安装。(按照顺序)

i 表示安装,v表示展现信息,h带进度条

  1. rpm -ivh mysql-community-common-5.7.28-1.el7.x86_64.rpm
  2. rpm -ivh mysql-community-libs-5.7.28-1.el7.x86_64.rpm
  3. rpm -ivh mysql-community-client-5.7.28-1.el7.x86_64.rpm
  4. rpm -ivh mysql-community-server-5.7.28-1.el7.x86_64.rpm

MySQL 5.7 - CentOS 7 - 图8

查看版本检验是否安装成功:

  1. [root@localhost opt]# mysqladmin --version
  2. mysqladmin Ver 8.42 Distrib 5.7.28, for Linux on x86_64
  3. # 至此,表示mysql已经成功安装。

配置

1. 服务初始化

  1. mysqld --initialize --user=mysql

执行命令后,没有任何提示消息,因为信息位于日志文件中;

初始化命令执行后,在日志信息最后可以看到生成的mysql的初始密码,我们应该记住这个密码。方便接下来进行登录和修改密码。

我们使用以下命令来查看初始化的日志信息,以判断是否初始化成功以及成功之后的初始密码。

  1. cat /var/log/mysqld.log

MySQL 5.7 - CentOS 7 - 图9

2. 启动mysql服务

只有启动了mysql服务,才可以进行登录操作。

  1. systemctl start mysqld
  2. # 查看服务状态
  3. systemctl status mysqld

MySQL 5.7 - CentOS 7 - 图10

登录

执行下面的登录命令,密码为服务初始化时生成的随机密码

  1. mysql -uroot -p

MySQL 5.7 - CentOS 7 - 图11

登录成功!

修改密码

使用初始密码登录的mysql没有任何权限,所以我们需要修改为我们自己设定的密码才可以进行数据库的操作。

  1. ALTER USER 'root'@'localhost' IDENTIFIED BY 'new_password';

MySQL 5.7 - CentOS 7 - 图12

修改密码后退出mysql然后重新登录即可进行所有想做的数据库操作

  1. quit

查看mysql服务是否时开机自启

  1. systemctl list-unit-files | grep mysqld

字符编码问题

  1. vim /etc/my.cnf

按 i 进入编辑模式,在文件最后一行加上character_set_server=utf8

按 esc 输入:wq,保存退出。

重启服务:

  1. systemctl restart mysqld