Linux 下安装 Mysql 数据库

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

环境

| 软件 | 版本|
| ———— | ———— |
|linux | centOS 7|
| jdk | 8 |
| mysql| 5.7.24 |

准备

安装前,我们可以通过 rpm -qa | grep mysql 检测系统是否自带安装 MySQL,如果当前系统有安装且期望卸载的话,可以通过下面两种删除模式进行删除:

  • 普通删除模式:rpm -e mysql
  • 强力删除模式:rpm -e --nodeps mysql

安装

下载和安装

1、下载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])

2、安装

1
2
3
4
5
rpm -ivh mysql57-community-release-el7-9.noarch.rpm

准备中... ################################# [100%]
正在升级/安装...
1:mysql57-community-release-el7-9 ################################# [100%]

3、下载安装依赖包

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
正在解决依赖关系
....

第一次下载这里会比较慢,no cache

基本操作

1、验证是否安装成功

  • mysqladmin –version

    mysqladmin Ver 8.42 Distrib 5.7.22, for Linux on x86_64

  • mysql -V

    mysql Ver 14.14 Distrib 5.7.24, for Linux (x86_64) using EditLine wrapper

2、启动 MySQL

sudo systemctl start mysqld

3、查看 MySQL 运行状态

sudo systemctl status mysqld

4、停止 MySQL

sudo systemctl stop mysqld

5、重启 MySQL

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 数据库过程中,系统会自动生成一个临时密码,获取方式为:

grep ‘temporary password’ /var/log/mysqld.log

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

rm -rf /var/lib/mysql

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

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;
作者

卫恒

发布于

2019-06-05

更新于

2022-04-23

许可协议

评论