环境
-
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; |