glmapper

Linux 下安装 Mysql 数据库

字数统计: 957阅读时长: 4 min
2019/01/05 Share

最近在搞 Apollo ,熟悉的同学应该知道,Apollo 需要依赖 Mysql。本以为很容易搞定,但是却踩了一路坑,眼高手低,也参考了网上很多博客,果然是残缺就是美!本篇就简单记录一下这个过程,以便后面参考。

环境

  • linux:centOS 7

  • jdk:8

  • Mysql:5.7.24

准备

安装前,我们可以检测系统是否自带安装 MySQL:

1
rpm -qa | grep mysql

如果你系统有安装,那可以选择进行卸载,有两种模式:

  • 普通删除模式

    1
    rpm -e mysql
  • 强力删除模式

    1
    rpm -e --nodeps mysql

    如果使用上面命令删除时,提示有依赖的其它文件,则用该命令可以对其进行强力删除

安装

  • 下载mysql安装包
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
wget https://dev.mysql.com/get/mysql57-community-release-el7-9.noarch.rpm

-2018-06-06 16:41:46-- https://dev.mysql.com/get/mysql57-community-release-el7-9.noarch.rpm
正在解析主机 dev.mysql.com (dev.mysql.com)... xxxx
正在连接 dev.mysql.com (dev.mysql.com)|xxxxx|:443... 已连接。
已发出 HTTP 请求,正在等待回应... 302 Found
位置:https://repo.mysql.com//mysql57-community-release-el7-9.noarch.rpm [跟随至新的 URL]
--2018-06-06 16:41:48-- https://repo.mysql.com//mysql57-community-release-el7-9.noarch.rpm
正在解析主机 repo.mysql.com (repo.mysql.com)... xxxxx
正在连接 repo.mysql.com (repo.mysql.com)|xxxx|:443... 已连接。
已发出 HTTP 请求,正在等待回应... 200 OK
长度:9224 (9.0K) [application/x-redhat-package-manager]
正在保存至: “mysql57-community-release-el7-9.noarch.rpm”

100%[==========================================================>] 9,224 --.-K/s 用时 0s

2018-06-06 16:41:48 (169 MB/s) - 已保存 “mysql57-community-release-el7-9.noarch.rpm” [9224/9224])
  • 安装
1
2
3
4
5
rpm -ivh mysql57-community-release-el7-9.noarch.rpm

准备中... ################################# [100%]
正在升级/安装...
1:mysql57-community-release-el7-9 ################################# [100%]
  • 下载安装依赖包
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
yum install mysql-server

已加载插件:fastestmirror, langpacks
mysql-connectors-community | 2.5 kB 00:00:00
mysql-tools-community | 2.5 kB 00:00:00
mysql57-community | 2.5 kB 00:00:00
(1/3): mysql-connectors-community/x86_64/primary_db | 20 kB 00:00:00
(2/3): mysql-tools-community/x86_64/primary_db | 41 kB 00:00:00
(3/3): mysql57-community/x86_64/primary_db | 144 kB 00:00:00
Loading mirror speeds from cached hostfile
* base: mirrors.cn99.com
* extras: mirrors.cn99.com
* updates: mirrors.cn99.com
正在解决依赖关系
....

第一次下载这里会比较慢

  • 验证是否安装成功

    • mysqladmin –version
    1
    mysqladmin  Ver 8.42 Distrib 5.7.22, for Linux on x86_64
    • mysql -V
    1
    mysql  Ver 14.14 Distrib 5.7.24, for Linux (x86_64) using  EditLine wrapper
  • 启动MySQL

    1
    sudo systemctl start mysqld
  • 查看 MySQL 运行状态

    1
    sudo systemctl status mysqld
  • 停止 MySQL

    1
    sudo systemctl stop mysqld
  • 重启 MySQL

    1
    sudo systemctl restart mysqld

关于密码

Mysql 5.7 默认安装之后 root 是有密码的,获取 MySQL 的临时密码 为了加强安全性,MySQL 5.7 为 root 用户随机生成了一个密码,在 error log 中,关于 error log 的位置,如果安装的是 RPM 包,则默认是 /var/log/mysqld.log 。 只有启动过一次 mysql 才可以查看临时密码。

在利用 YUM 安装 mysql 数据库过程中,系统会自动生成一个临时密码,获取方式为:

1
grep 'temporary password' /var/log/mysqld.log
  • 没有密码

    如果以前安装过 mysql,这时的 mysqld.log 中就不会有 temporary password
    这时就需要删除 mysql 残留的数据:

    1
    rm -rf /var/lib/mysql

    执行完毕后需要重新启动MySQL服务:

    1
    sudo systemctl restart mysqld

    这时就可以通过上面的命令去查找数据库生成的临时密码了

mysql 1130 错误

可能是你的帐号不允许从远程登陆,只能在 localhost。这个时候只要在 localhost 的那台电脑,登入 mysql 后,更改 “mysql” 数据库里的 “user” 表里的 “host” 项,从”localhost”改称”%”

1
2
3
mysql -u root -pvmwaremysql>use mysql;
mysql> update user set host = '%' where user = 'root';
mysql> select host, user from user;

使得我们当前的账户和密码能够应用的所有的远程主机连接:

1
2
> GRANT ALL PRIVILEGES ON . TO 'myuser'@'%' IDENTIFIED BY 'mypassword' WITH GRANT OPTION;
> FLUSH PRIVILEGES;

原文作者:GuoLei Song

原文链接:http://www.glmapper.com/2019/01/05/mysql-on-linux/

发表日期:January 5th 2019, 5:09:15 pm

更新日期:August 1st 2019, 10:16:03 pm

版权声明:转载请注明出处

CATALOG
  1. 1. 环境
  2. 2. 准备
  3. 3. 安装
  4. 4. 关于密码
  5. 5. mysql 1130 错误