1、安装前工作
在安装前需要确定现在这个系统有没有 mysql,如果有那么必须卸载(在 centos7 自带的是 mariaDb 数据库,所以第一步是卸载数据库)。
卸载系统自带的Mariadb:
查看mariadb数据库:
1
|
rpm - qa | grep mariadb |
卸载mariadb数据库:
1
|
rpm - e - - nodeps mariadb文件名 |
卸载已安装的mysql:
查看 mysql 数据库:
1
|
rpm - qa | grep - i mysql |
卸载 mysql 数据库:
1
|
rpm - e mysql文件名 # 如果有关联文件,不能直接卸载。可以用一下命令强制卸载:rpm -e --nodeps mysql文件名) |
删除etc目录下的my.cnf文件:
1
|
rm / etc / my.cnf |
2、rpm包安装方法
2.1 下载
下载离线包:mysql官网(https://www.mysql.com/)→DOWNLOADS、Community、MySQL Community Server
→下拉选择系统版本。
→选择形如mysql-5.7.20-1.el7.x86_64.rpm-bundle.tar的包下载,这个是总包,下面是子包,为避免yum源找不到镜像,推荐下载总包。
2.2 解压
将 mysql-5.7.20-1.el7.x86_64.rpm-bundle.tar 复制到 / home/(在 linux 下面安装软件,一般都需要将文件拷贝到 home 目录下)
1
2
3
|
cp mysql - 5.7 . 20 - 1.el7 .x86_64.rpm - bundle.tar / home / # 复制到/home目录下 cd / home # 进入/home目录下 tar - xvf mysql - 5.7 . 20 - 1.el7 .x86_64.rpm - bundle.tar # 解压文件,解压出一系列rpm 文件 |
2.3 安装rpm包
一般只需要安装下面几个文件,所以之前不下载总包,只下载下面这几个包应该也行。
mysql-community-client-5.7.20-1.el7.x86_64.rpm
mysql-community-common-5.7.20-1.el7.x86_64.rpm
mysql-community-devel-5.7.20-1.el7.x86_64.rpm
mysql-community-libs-5.7.20-1.el7.x86_64.rpm
mysql-community-server-5.7.20-1.el7.x86_64.rpm
这里千万注意:上面这几个文件是存在依赖关系的,所以在安装时有对应的优先级,需要按顺序安装:
1
2
3
4
5
|
rpm - ivh mysql - community - common - 5.7 . 20 - 1.el7 .x86_64.rpm rpm - ivh mysql - community - libs - 5.7 . 20 - 1.el7 .x86_64.rpm rpm - ivh mysql - community - client - 5.7 . 20 - 1.el7 .x86_64.rpm rpm - ivh mysql - community - server - 5.7 . 20 - 1.el7 .x86_64.rpm rpm - ivh mysql - community - devel - 5.7 . 20 - 1.el7 .x86_64.rpm |
安装成功后,开启 mysql 服务:
1
|
systemctl start mysqld.service |
查看 3306 端口是否开启:
1
|
netstat - ln | grep 3306 |
2.4 修改 my.cnf 配置文件
需要找到 my.cnf 文件。my.cnf 文件的默认路径为 / etc/my.cnf。
备份并编辑 my.cnf:
1
|
cp /etc/my,cnf /etc/my.cnf.back |
2
|
vim / etc / my.cnf |
插入以下代码:
1
2
3
4
5
6
7
8
9
10
|
[mysqld] datadir = / var / lib / mysql socket = / var / lib / mysql / mysql.sock symbolic - links = 0 log - error = / var / log / mysqld.log pid - file = / var / run / mysqld / mysqld.pid validate_password = off default - storage - engine = INNODB character - set - server = utf8 collation - server = utf8_general_ci |
注:validate_password=off 的意思是关闭密码验证插件(这一句必须加上,因为在修改密码的时候如果不加上会非常的麻烦)。
重启 mysql 服务:
1
|
systemctl restart mysqld.service |
初始化表,需要保证存在mysql用户(不确定需不需要,待定,我安装时这一步失败了也可以使用临时密码登录):
1
|
/ usr / sbin / mysqld - - initialize - - user = mysql |
至此mysql安装成功,其他配置过程见后文。
3、tar.gz包安装方法
3.1 下载
→mysql官网(https://www.mysql.com/)→DOWNLOADS、Community、MySQL Community Server
→下拉选择系统版本→选择形如mysql-5.7.20-linux-glibc2.12-x86_64.tar.gz的包下载,图示如下:
未完待续,有机会按这种方式安装再补上
4、后续处理
4.1 修改初始密码
mysql5.7初始化后,会产生一个 临时登录密码,前面在 my.cnf 文件中配置的日志路径是 log-error=/var/log/mysqld.log, 查看此路径下面的 mysqld.log 日志, 可以找到临时密码。
1
|
grep 'temporary password' /var/log/mysqld .log |
2
|
cat / var / log / mysqld.log | grep password<br> # 也可以使用cat /root/.mysql_secret命令查看,不过要保证是最新的 |
如下图A temporary password is generated for root@localhost:便是初始密码:
使用初始密码登录mysql:
1
|
mysql - uroot - p |
然后使用如下命令修改密码:
1
|
mysql> set password = password( '新密码' ); |
1
|
# 或者set PASSWORD = PASSWORD('新密码'); 也可以 |
1
|
mysql> flush privileges; #刷新 |
4.2 添加远程访问权限
1
2
3
4
5
6
|
#登录mysql mysql> use mysql mysql> update user set host = '%' where user = 'root' ; mysql> select host,user from user; mysql> flush privileges; #退出mysql,重启mysql服务生效 |