安装过很多次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. C++模板学习

    一.定义函数模板 template<class T> 函数定义 举个例子比较两个数大小: template<class T> int Compare(T a,T b) { ; ...

  2. 《深入浅出WPF》笔记一

    1.项目模板 Visual Studio自动配置编译器参数,并准备好一套基本的源代码. 2.App.xaml/App.xaml.cs 声明程序的进程,并指定程序的主窗体. 3.Attribute和Pr ...

  3. 个人建了一个APPCAN移动前端开发交流QQ群258213194

    QQ群号:258213194,欢迎有兴趣的同志加一下. 二维码如下:

  4. 元素间距属性(scrollLeft,scrollWidth,clientWidth,offsetWidth,padding,margin)

    scrollHeight: 获取对象的滚动高度.scrollLeft:设置或获取位于对象左边界和窗口中目前可见内容的最左端之间的距离scrollTop:设置或获取位于对象最顶端和窗口中可见内容的最顶端 ...

  5. FineUI第十八天---表格之事件的处理

    表格之事件的处理: 1.事件参数: GridPageEventArgs:表格分页事件参数,对应onPageIndexChange事件. NewPageIndex:新页面的索引 GridSortEven ...

  6. 关于JavaScript中对象的继承实现的学习总结

    一.原型链 JavaScript 中原型链是实现继承的主要方法.其主要的思想是利用原型让一个引用类型继承另一个引用类型的属性和方法.实现原型链有一种基本模式,其代码如下. function Super ...

  7. hiho #1326 : 有序01字符串

    #1326 : 有序01字符串 时间限制:10000ms 单点时限:1000ms 内存限制:256MB 描述 对于一个01字符串,你每次可以将一个0修改成1,或者将一个1修改成0.那么,你最少需要修改 ...

  8. Git-it字典翻译

    Git-it字典翻译 下面的内容翻译自git-it/dictionary 水平有限,翻译欠佳. Git准备工作 创建一个新的文件夹(目录) $ mkdir <目录名称> 切换到这个目录 ( ...

  9. 转:JQuery实现下拉框的数据加载和联动

    <script type="text/javascript"> $(document).ready(function() { GetByJquery(); $(&quo ...

  10. ubuntu set ntpdate

    1.  安装ntpdate工具 # sudo apt-get install ntpdate 2.  设置系统时间与网络时间同步 # ntpdate cn.pool.ntp.org 3.  将系统时间 ...