对于MySQL数据库的安装,我们将要使用前面讲解的第二种安装方式rpm进行安装。那么首先我们先了解一下什么rpm?
RPM:全称为 Red-Hat Package Manager,RPM软件包管理器,是红帽Linux用于管理和安装软件的工具。
我们要通过rpm,进行MySQL数据库的安装,主要的步骤如下:
1). 检测当前系统是否安装过MySQL相关数据库
需要通过rpm相关指令,来查询当前系统中是否存在已安装的mysql软件包,执行指令如下:
rpm -qa 查询当前系统中安装的所有软件
rpm -qa | grep mysql 查询当前系统中安装的名称带mysql的软件
rpm -qa | grep mariadb 查询当前系统中安装的名称带mariadb的软件
通过rpm -qa 查询到系统通过rpm安装的所有软件,太多了,不方便查看,所以我们可以通过管道符 | 配合着grep进行过滤查询。
通过查询,如果是 CentOS7的话会有一个mariadb数据库,而这个数据库和MySQL数据库是冲突的,所以要想保证MySQL成功安装,需要卸载mariadb数据库。
2). 卸载现有的MySQL数据库
在rpm中,卸载软件的语法为:
rpm -e --nodeps 软件名称
那么,我们就可以通过指令,卸载 mariadb,具体指令为:(如果有默认数据库的话)
rpm -e --nodeps mariadb-libs-5.5.60-1.el7_5.x86_64
我们看到执行完毕之后, 再次查询 mariadb,就查不到了,因为已经被成功卸载了。 我们看到执行完毕之后, 再次查询 mariadb,就查不到了,因为已经被成功卸载了。
3). 将资料中提供的MySQL安装包上传到Linux并解压
A. 上传MySQL安装包
在课程资料中,提供的有MySQL的安装包 ,我们需要将该安装包上传到Linux系统的根目录 / 下面。
B. 解压到/study/mysql
执行如下指令:
mkdir /study/mysql
tar -zxvf mysql-5.7.25-1.el7.x86_64.rpm-bundle.tar.gz -C /study/mysql
4). 安装顺序安装rpm安装包
rpm -ivh mysql-community-common-5.7.25-1.el7.x86_64.rpm
rpm -ivh mysql-community-libs-5.7.25-1.el7.x86_64.rpm
rpm -ivh mysql-community-devel-5.7.25-1.el7.x86_64.rpm
rpm -ivh mysql-community-libs-compat-5.7.25-1.el7.x86_64.rpm
rpm -ivh mysql-community-client-5.7.25-1.el7.x86_64.rpm
yum install net-tools
rpm -ivh mysql-community-server-5.7.25-1.el7.x86_64.rpm
说明:
-
因为rpm安装方式,是不会自动处理依赖关系的,需要我们自己处理,所以对于上面的rpm包的安装顺序不能随意修改。
-
安装过程中提示缺少net-tools依赖,使用yum安装(yum是一种在线安装方式,需要保证联网)
-
可以通过指令(yum update)升级现有软件及系统内核
cd /study/mysql 切换到MySQL目录下开始安装依赖
有几项依赖安装的时候可能会安装失败,需要再多下载一个对应的模块
安装第三个的时候错误信息显示 MySQL 开发包 mysql-community-devel-5.7.25-1.el7.x86_64.rpm
的安装失败,因为系统中没有安装它所依赖的 pkg-config
包。你可以通过运行以下命令来安装 pkg-config
包:
sudo yum install pkg-config
安装过程中需要输入y来同意安装
安装完成以后再重新执行命令
rpm -ivh mysql-community-devel-5.7.25-1.el7.x86_64.rpm
5失败的话安装的模块是在安装 MySQL 客户端包 mysql-community-client-5.7.25-1.el7.x86_64.rpm
时,由于缺少 libncurses.so.5
和 libtinfo.so.5
库
sudo yum install ncurses-compat-libs
7也需要对应的模块,在安装 MySQL 服务器包 mysql-community-server-5.7.25-1.el7.x86_64.rpm
时,由于缺少 Perl 及其相关模块,导致依赖检测失败。
sudo yum install perl
这个依赖包比较大,需要多等一会
出现以上信息就说明MySQL已经安装完毕了。
1.4.2 MySQL启动
MySQL安装完成之后,会自动注册为系统的服务,服务名为mysqld。那么,我们就可以通过systemctl指令来查看mysql的状态、启动mysql、停止mysql。
systemctl status mysqld 查看mysql服务状态
systemctl start mysqld 启动mysql服务
systemctl stop mysqld 停止mysql服务
说明:
可以设置开机时启动mysql服务,避免每次开机启动mysql。执行如下指令:
systemctl enable mysqld
我们可以通过如下两种方式,来判定mysql是否启动:
netstat -tunlp 查看已经启动的服务
netstat -tunlp | grep mysql 查看mysql的服务信息
ps –ef | grep mysql 查看mysql进程
1.4.3 MySQL登录
1.4.3.1 查阅临时密码
MySQL启动起来之后,我们就可以测试一下登录操作,但是我们要想登录MySQL,需要一个访问密码,而刚才在安装MySQL的过程中,并没有看到让我们设置访问密码,那这个访问密码是多少呢? 那实际上,对于rpm安装的mysql,在mysql第一次启动时,会自动帮我们生成root用户的访问密码,并且输出在mysql的日志文件 /var/log/mysqld.log中,我们可以查看这份日志文件,从而获取到访问密码。
可以执行如下指令:
cat /var/log/mysqld.log
这种方式,可以看到所有的日志数据,文件比较大时,很不方便查看数据。我们可以通过管道符 | 配合grep来对数据进行过滤。
cat /var/log/mysqld.log | grep password
这就是安装MySQL的临时密码
1.4.3.2 登录MySQL
获取到root用户的临时密码之后,我们就可以登录mysql数据库,修改root的密码,为root设置一个新的密码。并且我们还需要开启root用户远程访问该数据库的权限,这样的话,我们就可以在windows上来访问这台MySQL数据库。
执行如下指令:
①. 登录mysql(复制日志中的临时密码登录)
mysql -uroot -p
②. 修改密码
set global validate_password_length=4; 设置密码长度最低位数
set global validate_password_policy=LOW; 设置密码安全等级低,便于密码可以修改成root
set password = password('root'); 设置密码为root
③. 开启访问权限
grant all on *.* to 'root'@'%' identified by 'root';
flush privileges;
操作完上述的指令之后,数据库root用户的密码以及远程访问我们就配置好了,接下来,可以执行exit退出mysql,再次通过新的密码进行登录。
也可通过windows链接工具链接