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

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

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

  1. [root@5201351 ~]# rpm -qa|grep mariadb
  2. mariadb-libs-5.5.41-2.el7_0.x86_64
  3. [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. 谈谈使用echarts过程中踩过的坑

    小结: 1. 使用jquery获取json对象遇到的问题 由于自己对ajax用的还不熟练,之前都是拷贝别人的代码拿来用的,这次自己写的时候倒是碰到好多麻烦一一列举如下: 1.1 在$ 与ajax之间还 ...

  2. 阻止点击<a>标签链接跳转

      我们常用的在a标签中有点击事件(<a href="地址">链接</a>),其中“href”参数只要不为空,点击该链接时,页面会自动跳转:如果指定的“hr ...

  3. python 深入模块和包

    模块可以包含可执行语句以及函数的定义. 这些语句通常用于初始化模块. 它们只在 第一次 导入时执行.只在第一次导入的时候执行,第一次.妈蛋的第一次...后面再次导入就不执行了. [1](如果文件以脚本 ...

  4. linux中tar命令用法

    把常用的tar解压命令总结下,当作备忘: tar -c: 建立压缩档案 -x:解压 -t:查看内容 -r:向压缩归档文件末尾追加文件 -u:更新原压缩包中的文件 这五个是独立的命令,压缩解压都要用到其 ...

  5. PHP微信支付开发实例

    这篇文章主要为大家详细介绍了PHP微信支付开发过程,具有一定的参考价值,感兴趣的小伙伴们可以参考一下 PHP微信支付开发过程,分享给大家,供大家参考,具体内容如下 1.开发环境 Thinkphp 3. ...

  6. 4.5---判断是否是二叉排序树BST(CC150)

    public boolean checkBST(TreeNode root) { return isBST(root, Long.MIN_VALUE, Long.MAX_VALUE); } publi ...

  7. 浅析mongoEngine的document对象

    引言: from mongoengine import * connect('local')class Test(Document): name=StringField(max_length=32) ...

  8. PHP+Hadoop实现数据统计分析

    记一次完全独立完成的统计分析系统的搭建过程,主要用到了PHP+Hadoop+Hive+Thrift+Mysql实现 安装 Hadoop安装: http://www.powerxing.com/inst ...

  9. Angularjs与bootstrap.datetimepicker结合实现日期选择器

    http://www.lovelucy.info/angularjs-best-practices.html http://damoqiongqiu.iteye.com/blog/1917971 ht ...

  10. IPC-----POSIX消息队列

    消息队列可以认为是一个链表.进程(线程)可以往里写消息,也可以从里面取出消息.一个进程可以往某个消息队列里写消息,然后终止,另一个进程随时可以从消息队列里取走这些消息.这里也说明了,消息队列具有随内核 ...