安装过很多次mysql了,却没好好总结过,每次安装完了都忘,下次还要重新Google,这次总结下,自己以后也有的查。

1.安装采用的的rpm包的方式,安装前要先看系统内是否安装了旧版本的MySql和mariadb数据库,如果安装了要先卸载掉。

具体命令为:rpm -qa|grep mariadb 和 rpm -qa|grep mysql,搜索mysql的时候会区分大小写,所以可以改变下MySQL的大小写,多搜索几次。如果安装了,必须使用rpm -e 卸载掉,例如:

[root@5201351 ~]# rpm -qa|grep mariadb
mariadb-libs-5.5.41-2.el7_0.x86_64
[root@5201351 ~]# rpm -e mariadb-libs-5.5.41-2.el7_0.x86_64 --nodeps

然后用:find / -name mysql 命令搜索一下看是不是还有残留文件,如果有可以直接删掉。

2.下载新版本的安装包,5.7的网址为:http://dev.mysql.com/downloads/file/?id=462161,MySQL8的下载链接:https://dev.mysql.com/downloads/file/?id=476386,我使用的rpm的安装包,所以下载的是rpm的完整依赖压缩包,扩展名为tar,

mysql8的下载链接:https://cdn.mysql.com//Downloads/MySQL-8.0/mysql-8.0.11-1.el7.x86_64.rpm-bundle.tar

下载完成后解压:tar -xf mysql-5.7.12-1.el7.x86_64.rpm-bundle.tar,这个地方注意,解压参数不能添加zv 不然会报错,这个好像和mysql官方的tar的压缩方式有关。

解压之后会释放很多个rpm的安装包,其中有四个是必须安装的,而且有依赖关系。

安装之前先检查是否安装了libaio和perl,如果没安装的话,要先把这个装上,不然安装依赖的时候不会报错,安装最后service的时候会报错。

具体的错误信息为:

mysql最小模式下,必须安装的是:

mysql-community-common-5.7.9-1.el7.x86_64.rpm

mysql-community-libs-5.7.9-1.el7.x86_64.rpm             --(依赖于common)
mysql-community-client-5.7.9-1.el7.x86_64.rpm          --(依赖于libs)
mysql-community-server-5.7.9-1.el7.x86_64.rpm         --(依赖于client、common)

在安装的时候第一次没事,后期换过一次系统,再次安装的时候出现了HAS1校验错误的问题,安装更新了好多东西还是没解决,最后使用:-ivh参数忽略警告直接安装。

如果安装过程中出现以下错误:Header V3 DSA/SHA1 Signature, key ID 5072e1f5: NOKEY,安装时需要指定参数:--force --nodeps

安装命令比如:rpm -ivh mysql-community-client-8.0.11-1.el7.x86_64.rpm --force --nodeps

如果后期要用python之类的语言连接mysql,那再把:mysql-community-devel-5.7.12-1.el7.x86_64.rpm装上,不然后期还得安装,安装完成之后,这个安装包最好保留,因为后期指不定还安装什么东西呢。

3.以上安装完成之后,mysql已经安装完成了,接下来生成mysql的默认密码,

命令:mysql_install_db --datadir=/var/lib/mysql   //必须指定datadir,执行后会生成~/.mysql_secret密码文件,注:这是个以点号开头的文件,默认是隐藏的,使用:ls -la就能看到了。

或者执行:mysqld --initialize                         //新版的推荐此方法,执行生会在/var/log/mysqld.log生成随机密码

这两个都可以生成初始密码,但注意位置不同,上面的是在root目录下.mysql_secret文件中,下面的是在日志文件中。

4.修改权限组:chown mysql:mysql /var/lib/mysql -R

  启动时出现:mysqld: error while loading shared libraries: libnuma.so.1: cannot open shared object file: No such file or directory

  需要安装:yum -y install numactl.x86_64

5.启动MySQL服务:systemctl start mysqld.service。

6.根据3中使用的方式不同,查看生成随机密码,然后登陆就好了,命令:mysql -u root -p 随机密码

7.因为是使用随机密码登陆的,最开始要先修改密码,其他的命令不能执行,否则会返回错误:You must reset your password using ALTER USERstatement before executing this statemen。

修改密码命令:

  1.SET PASSWORD = PASSWORD('123456');

  2. ALTER USER `root`@`localhost` PASSWORD EXPIRE NEVER;

   mysql8: ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '你的密码';

  3. FLUSH PRIVILEGES ;

然后退出重新登陆,就可以正常操作了。

如果想开启远程登录,先要检查本地的3306端口是否开放了,具体命令为:

  测试端口是否打开:firewall-cmd --query-port=3306/tcp

  打开指定端口:firewall-cmd --add-port=3306/tcp

  允许远程登录的操作为:

  mysql>use mysql;

  mysql>update user set host = '%' where user = 'root';

  mysql>flush privileges;

执行完这些操作,就可以用sqlyog等工具远程登录了。

这样安装完毕之后配置文件在:/etc/my.cnf。注:linux下配置文件名字为my.cng,window下叫my.ini。

如果想配置成本地面密码登录,可以修改配置文件,添加如下部分:

[client]
host=localhost  #限定的IP
user='root'  #用户名
password='passwd'  #密码
socket=/data/mysql/mysql.sock #此部分可以不添加,如果写错了,可能会导致客户端连接服务器的时候出现mysql.sock找不到的错误。

扩展

1:针对单个IP做IP白名单(mysql8),每个IP要执行一次,不能一次性允许多个IP;

CREATE USER 'writer'@'114.55.15.20' IDENTIFIED BY 'BZRiIrC5hjP';
grant all privileges on data_warehouse.* to writer@'114.55.15.20' ;

以上是以rpm的方式进行安装。

安装过程中参考了很多人的博客,因为有的随手关闭了,不能一一在此写明,在此对各位表示感谢。

Centos以rpm方式进行安装MySql的更多相关文章

  1. windows上mysql解压缩版本、centos上rpm方式的安装、初始化等

    一.windows版本: https://dev.mysql.com/doc/refman/5.7/en/windows-install-archive.html 启动或者暂停mysql服务: htt ...

  2. CentOS 6.5下RPM方式(重新)安装MySQL 5.7.21从头到尾篇

    强烈推荐参阅这一篇教程  https://www.cnblogs.com/kevingrace/p/8340690.html 下面我写的仅供参考 今天把Mysql5.1升级到了5.7,浪费了一天为了避 ...

  3. CentOS 7下源码安装MySQL 5.7

    网上说linux安装mysql服务分两种安装方法: ①源码安装,优点是安装包比较小,只有几十M左右,缺点是安装依赖的库多,安装编译时间长,安装步骤复杂容易出错: ②使用官方编译好的二进制文件安装,优点 ...

  4. Centos 7 官网下载安装mysql server 5.6

    Centos 7 官网下载安装 mysql server # wget http://dev.mysql.com/get/mysql-community-release-el7-5.noarch.rp ...

  5. CentOS 6.5以上版本安装mysql 5.7 完整版教程(修订版)

    转载自:https://codeday.me/collect/20170524/21861.html 1: 检测系统是否自带安装mysql # yum list installed | grep my ...

  6. 二进制方式快速安装MySQL数据库命令集合

    二进制方式快速安装MySQL数据库命令集合 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 1.安装mysql ls mysql ...

  7. CentOS双机中Docker下安装Mysql并配置互为主从模式

    CentOS双机中Docker下安装Mysql并配置互为主从模式 目录 1.搜索镜像... 1 2.拉取镜像... 1 3.绑定端口: 1 4.配置文件(修改/etc/mysql/my.cnf文件): ...

  8. centOS Linux下用yum安装mysql

    centOS Linux下用yum安装mysql      第一篇:安装和配置MySQL   第一步:安装MySQL   [root@192 local]# yum -y install mysql- ...

  9. centos 7 rpm方式安装mysql

    一.下载rpm 二.安装 1.用rz上传到centos上,目录为/home/upload 2.解压 tar -xvf mysql-5.7.25-1.el7.x86_64.rpm-bundle.tar ...

随机推荐

  1. Redis学习笔记七:独立功能之排序

    sort 命令可以对列表键.集合键或有序集合键的值进行排序.sort 命令并不修改数据库值,只是输出有序. 127.0.0.1:6379> rpush numbers 9 8 7 6 1 2 3 ...

  2. Try-Catch机制使用场景分析

    (一)在什么场景下加Try-Catch机制   1)以业务逻辑功能为单位,在最上层加Try-Catch机制.为什么要这样做呢?这主要是增加程序的健壮性,防止因抛出异常过多,导致程序崩溃. try { ...

  3. iOS开发——高级篇——内存分析,Instruments

    一.内存分析 1.静态内存分析(Analyze)不运行程序,直接对代码进行内存分析,查看代码是否有内存泄露优点:分析速度快,并且可以对所有的代码进行内存分析缺点:分析结果不一定准确(没有运行程序,根据 ...

  4. leetcode 32. Longest Valid Parentheses

    Given a string containing just the characters '(' and ')', find the length of the longest valid (wel ...

  5. Sqli-LABS通关笔录-6

    第六关跟第五关一样的是布尔型盲注技术. 只是在部分有出路 添加一个单引号.程序无反应.双引号和斜杠可使其报错. 这一关让我学到了 1.管他三七二十七报错看看语句再说. THE END

  6. [RouterOS] ROS对接碧海威或PA等流控实现完美流控详细教程(附脚本全免费)

    前言: 经常在群里看到不少朋友争论海蜘蛛 ROS 维盟 爱快 碧海威 流控大师 Woyos等等软路由,哪个好.实际上,网络产品是复杂的,现在的软路由功能上已经远远不是单独的路由了.每种产品都有他本身的 ...

  7. 前端之css、JavaScript和DOM

    css position 一般组合 relative+absolute,以relative为父元素,absolute依照relative进行定位. opcity: 0.5 透明度 z-index: 层 ...

  8. django ATOMIC_REQUESTS

    在数据库配置中,如果配置了此属性为True,如下: DATABASES = { 'default': { 'ENGINE': 'django.db.backends.xxx', 'NAME': '', ...

  9. ndk学习6: 使用gdb调试ndk程序一

    生成debug版程序 方法一: 使用ndk-build编译时,加上如下参数NDK_DEBUG=1,之后生成so文件之外,还会生成gdbobserver,gdb.setup调式文件   方法二: 修改A ...

  10. Border Tree笔记

    最近在学这个东西(当然不是行道树了QAQ..),感觉挺鬼畜的,整个人都不太好了..(特别是鬼畜的sone爷代码与讲稿),感觉他写的并不是普及向算法...?