1. 环境准备
Linux操作系统:CentOS Linux release 7.9.2009 (Core)
mysql版本:mysql-5.7.28-1.el7.x86_64.rpm-bundle.tar
mysql5.7版本包资源:
链接:https://pan.baidu.com/s/15BqpcaGMU1XXuPd2T8oTQQ
提取码:2mgy
1.1 安装前先统一设置以下系统时间
[root@localhost ~]#timedatectl set-timezone Asia/Shanghai
1.2 删除centos7自带的mariadb数据库
查看centos7默认的mariadb数据库:
[root@localhost ~]# rpm -qa | grep mariadb
如果有,先删除centos7自带的mariadb数据库(加上 --nodeps为删除相关依赖):
[root@localhost ~]# rpm -e mariadb-libs-5.5.41-2.el7_0.x86_64 --nodeps
2. 安装mysql
下载好mysql安装包并上传到服务器。
2.1 安装
-
进入mysql安装包存放目录并解压mysql的rpm安装包:
[root@localhost mysql]# tar -xvf mysql-5.7.28-1.el7.x86_64.rpm-bundle.tar
-
mysql安装顺序
[root@localhost mysql]# rpm -ivh mysql-community-common-5.7.28-1.el7.x86_64.rpm [root@localhost mysql]# rpm -ivh mysql-community-libs-5.7.28-1.el7.x86_64.rpm [root@localhost mysql]# rpm -ivh mysql-community-libs-compat-5.7.28-1.el7.x86_64.rpm [root@localhost mysql]# rpm -ivh mysql-community-client-5.7.28-1.el7.x86_64.rpm [root@localhost mysql]# rpm -ivh mysql-community-server-5.7.28-1.el7.x86_64.rpm [root@localhost mysql]# rpm -ivh mysql-community-devel-5.7.28-1.el7.x86_64.rpm
2.2 异常处理
- 错误1
错误:依赖检测失败: /usr/bin/perl 被 mysql-community-server-5.7.28-1.el7.x86_64 需要perl(Getopt::Long) 被 mysql-community-server-5.7.28-1.el7.x86_64 需要 perl(strict) 被 mysql-community-server-5.7.28-1.el7.x86_64 需要
解决方案:
执行 yum install -y perl-Module-Install.noarch[root@qy10213 mysql]# yum install -y perl-Module-Install.noarch
- 错误2:
警告:mysql-community-server-5.7.28-1.el7.x86_64.rpm: 头V3 DSA/SHA1 Signature, 密钥 ID 5072e1f5: NOKEY
错误:依赖检测失败:
net-tools 被 mysql-community-server-5.7.28-1.el7.x86_64 需要
解决方案:
执行 yum install -y net-tools[root@qy10213 mysql]# yum install -y net-tools
3. mysql初始化
完成以上步骤后,进行以下操作。
3.1 mysql构建步骤
-
进行mysql的初始化:
[root@localhost mysql]# mysqld --initialize --user=mysql
-
启动:设置系统自启动
[root@localhost mysql]# systemctl start mysqld.service
mysql其它相关命令(此处可不用执行,需要时自行选择)
重启mysql:[root@localhost mysql]# systemctl restart mysqld.service
关闭mysql:[root@localhost mysql]# systemctl stop mysqld.service
-
查看启动状态:
[root@localhost mysql]# systemctl status mysqld.service
-
查看mysql自带root用户的默认密码:
[root@localhost mysql]# cat /var/log/mysqld.log
-
进入mysql,并输入刚刚查看到的密码进入mysql
[root@localhost mysql]# mysql -uroot -p
修改root密码为root(密码根据自己情况定义):mysql> set password=password('设置的新密码');
然后可以退出并用新设置的密码重新登录。 -
如果不想使用root账户进行登录,也可以新创建一个用户
首先使用root账户进入mysql [root@localhost mysql]# mysql -uroot -p 新建一个用户test,密码为123456 mysql> mysql> CREATE USER 'test'@'localhost' IDENTIFIED BY '123456' 给test用户授权,使我们可以远程登录mysql服务器(all 代表所有权限) mysql> grant all on *.* to 'test'@'%' identified by '123456'; 使更改生效 mysql> FLUSH PRIVILEGES;
3.2 设置防火墙
关闭防火墙,防止多台主机不能相互通信
- 执行关闭命令(如果有iptables则关闭,没有会给出提示)
[root@localhost mysql]# systemctl stop iptables [root@localhost ~]# systemctl stop firewalld
- 禁用防火墙,防止开机再打开
[root@localhost ~]# systemctl disable firewalld.service
4. mysql外部访问设置
-
查看是否支持外部访问
进入mysql中查询账号mysql> select user,host,Insert_priv from mysql.user;
当host为localhost或指定ip地址,说明当前账号只能在本机或对应ip地址主机能登录成功。
当host为“%”时表示当前局域网内任意主机均支持登录。
-
设置允许远程连接
mysql> update mysql.user set host = '%' where user = 'root'; 刷新系统权限相关表使修改后的权限生效: mysql> flush privileges;
5. mysql的默认安装信息
- 查看mysql安装地址(以下2个命令都可以):
[root@qy10213 mysql]# mysql_config --variable=pkglibdir [root@qy10213 mysql]# mysql_config --variable=pkgbasedir
- mysql配置文件存放地址:一般是 /etc/my.cnf