CentOS 7安装mysql 技术整理

写在前面:本文学习参考了互联网上多位前辈的博文,为了表示谢意,稍后会一一列出。

https://www.cnblogs.com/qjoanven/p/7699382.html

本文主要是用RPM的方式安装mysql

1、安装前准备

   1) 查看当前发行版本:(非必需)

  cat /etc/redhat-release

  CentOS Linux release 7.3.1611 (Core)

  我的是CentOS 7.3  这个和实际安装没有必然关系 只是介绍一下环境

  2)卸载系统自带的mariaDb 数据库,如果不卸载,会在安装第一个RPM包(common)时报错,且提示库冲突,这里感谢CSDN的libaineu2004

  查看mariadb数据库:

  rpm -qa | grep mariadb

  卸载mariadb数据库:
  rpm -e --nodeps mariadb文件名

2、下载RPM安装包,做如图的选择

  

选择形如mysql-5.7.20-1.el7.x86_64.rpm-bundle.tar的包下载,这个是总包,下面是子包,为避免yum源找不到镜像,推荐下载总包。

 以下内容感谢博客园执剑长老,从他那里COPY过来的

3、下载后解压
  将 mysql-5.7.20-1.el7.x86_64.rpm-bundle.tar 复制到 / home/(在 linux 下面安装软件,一般都需要将文件拷贝到 home 目录下)

  cp mysql-5.7.20-1.el7.x86_64.rpm-bundle.tar /home/ # 复制到/home目录下
  cd /home # 进入/home目录下
  tar -xvf mysql-5.7.20-1.el7.x86_64.rpm-bundle.tar # 解压文件,解压出一系列rpm 文件
  安装rpm包
  一般只需要安装下面几个文件,所以之前不下载总包,只下载下面这几个包应该也行。

  mysql-community-client-5.7.20-1.el7.x86_64.rpm
  mysql-community-common-5.7.20-1.el7.x86_64.rpm
  mysql-community-devel-5.7.20-1.el7.x86_64.rpm
  mysql-community-libs-5.7.20-1.el7.x86_64.rpm
  mysql-community-server-5.7.20-1.el7.x86_64.rpm

  这里千万注意:上面这几个文件是存在依赖关系的,所以在安装时有对应的优先级,需要按顺序安装:

  rpm -ivh mysql-community-common-5.7.20-1.el7.x86_64.rpm
  rpm -ivh mysql-community-libs-5.7.20-1.el7.x86_64.rpm
  rpm -ivh mysql-community-client-5.7.20-1.el7.x86_64.rpm
  rpm -ivh mysql-community-server-5.7.20-1.el7.x86_64.rpm
  rpm -ivh mysql-community-devel-5.7.20-1.el7.x86_64.rpm
  安装成功后,开启 mysql 服务:

  systemctl start mysqld.service
  查看 3306 端口是否开启:

  netstat -ln | grep 3306

  

4、修改 my.cnf 配置文件

  需要找到 my.cnf 文件。my.cnf 文件的默认路径为 / etc/my.cnf。

  编辑 my.cnf:


  vim /etc/my.cnf
  插入以下代码:

  [mysqld]
  datadir=/var/lib/mysql
  socket=/var/lib/mysql/mysql.sock
  symbolic-links=0
  log-error=/var/log/mysqld.log
  pid-file=/var/run/mysqld/mysqld.pid
  validate_password=off
  default-storage-engine=INNODB
  character-set-server=utf8
  collation-server=utf8_general_ci
  注:validate_password=off 的意思是关闭密码验证插件(这一句必须加上,因为在修改密码的时候如果不加上会非常的麻烦)。

  重启 mysql 服务:

  systemctl restart mysqld.service

  至此mysql安装成功,其他配置过程见后文。

 

  4.1 修改初始密码
  mysql5.7初始化后,会产生一个 临时登录密码,前面在 my.cnf 文件中配置的日志路径是 log-error=/var/log/mysqld.log, 查看此路径下面的 mysqld.log 日志, 可以找到临时密码。


  cat /var/log/mysqld.log | grep password   # 也可以使用cat /root/.mysql_secret命令查看,不过要保证是最新的
  如下图A temporary password is generated for root@localhost:便是初始密码:

   

   使用初始密码登录mysql:

  mysql -uroot -p
  然后使用如下命令修改密码:


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

  例如设置密码为P@ssw0rd

  则 mysql>set password=password('P@ssw0rd')

  mysql> flush privileges; #刷新

  4.2 添加远程访问权限

  #登录mysql
  mysql> use mysql
  mysql> update user set host='%' where user='root';
  mysql> select host,user from user;

  

  这表示root 用户可以从任何主机/终端登录

  mysql> flush privileges;

  #退出mysql,重启mysql服务生效

5、设置防火墙

  但是你会发现仍然无法远程连接mysql 

  那么可能是这个问题 感谢CSDN的libaineu2004

  笔者注:远程连接的前提条件,先要关闭Linux的防火墙。
  CentOS 7操作防火墙的命令是:
  [root@localhost ~]# firewall-cmd --state #查看防火墙是否启用
  [root@localhost ~]# systemctl stop firewalld#关闭防火墙

 

  通过这种RPM的方式,你会发现mysql用户 和mysql用户组是自动建立好了

  而我之前在网上苦苦搜索,按照二进制的方式安装始终没有搞定,可见对于新手来讲RPM的安装方式更为简单。

 

posted @ 2018-04-03 17:43  勇敢的前行者  阅读(97)  评论(0)    收藏  举报