MySQL安装

  • 对于MySQL数据库的安装,要使用rpm安装方式进行安装。

RPM:全称为 Red-Hat Package Manager,RPM软件包管理器,是红帽Linux用于管理和安装软件的工具。

  • 通过rpm,进行MySQL数据库的安装,主要的步骤如下:

检测当前系统是否安装过MySQL相关数据库

  • 需要通过rpm相关指令,来查询当前系统中是否存在已安装的mysql软件包,执行指令如下:
1
2
3
rpm -qa                         查询当前系统中安装的所有软件
rpm -qa | grep mysql 查询当前系统中安装的名称带mysql的软件
rpm -qa | grep mariadb 查询当前系统中安装的名称带mariadb的软件
  • 通过rpm -qa查询到系统通过rpm安装的所有软件,可以通过管道符|配合着grep进行过滤查询。

content-601

  • 通过查询,发现在当前系统中存在mariadb数据库,是CentOS7中自带的,

    这个数据库和MySQL数据库是冲突的,所以要想保证MySQL成功安装,需要卸载mariadb数据库。

卸载现有的MySQL数据库

  • 在rpm中,卸载软件的语法为:
1
rpm -e --nodeps  软件名称
  • 通过指令,卸载 mariadb,具体指令为:
1
rpm -e --nodeps  mariadb-libs-5.5.60-1.el7_5.x86_64

content-602

  • 执行完毕之后, 再次查询 mariadb,就查不到了,因为已经被成功卸载了。

上传MySQL安装包并解压

上传MySQL安装包

  • 将MySQL的安装包上传到Linux系统的根目录/下面。

content-603

content-604

解压到/usr/local/mysql

  • 执行如下指令:
1
2
mkdir /usr/local/mysql
tar -zxvf mysql-5.7.25-1.el7.x86_64.rpm-bundle.tar.gz -C /usr/local/mysql

content-605

按照顺序安装rpm安装包

1
2
3
4
5
6
7
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)升级现有软件及系统内核。

content-606

MySQL启动

  • MySQL安装完成之后,会自动注册为系统的服务,服务名为mysqld。

    可以通过systemctl指令来查看mysql的状态、启动mysql、停止mysql。

1
2
3
systemctl status mysqld     查看mysql服务状态
systemctl start mysqld 启动mysql服务
systemctl stop mysqld 停止mysql服务

content-607

说明:

​ 可以设置开机时启动mysql服务,避免每次开机启动mysql。执行如下指令:

​ systemctl enable mysqld

  • 可以通过如下两种方式,来判定mysql是否启动:
1
2
3
4
netstat -tunlp                  查看已经启动的服务
netstat -tunlp | grep mysql 查看mysql的服务信息

ps –ef | grep mysql 查看mysql进程

content-608

备注:

A. netstat命令用来打印Linux中网络系统的状态信息,可让你得知整个Linux系统的网络情况。

​ 参数说明:

​ -l 或 –listening:显示监控中的服务器的Socket;
​ -n 或 –numeric:直接使用ip地址,而不通过域名服务器;
​ -p 或 –programs:显示正在使用Socket的程序识别码和程序名称;
​ -t 或 –tcp:显示TCP传输协议的连线状况;
​ -u 或 –udp:显示UDP传输协议的连线状况;

B. ps命令用于查看Linux中的进程数据。

MySQL登录

查阅临时密码

  • MySQL启动起来之后,就可以测试一下登录操作,但是要想登录MySQL,需要一个访问密码,而刚才在安装MySQL的过程中,并没有设置访问密码,那这个访问密码是多少呢?
    实际上,对于rpm安装的mysql,在mysql第一次启动时,会自动生成root用户的访问密码,并且输出在mysql的日志文件/var/log/mysqld.log中,可以查看这份日志文件,从而获取到访问密码。

  • 可以执行如下指令:

    cat /var/log/mysqld.log

content-609

  • 这种方式,可以看到所有的日志数据,文件比较大时,很不方便查看数据。

    可以通过管道符|配合grep来对数据进行过滤。

  • cat /var/log/mysqld.log | grep password

    可以通过上述指令,查询日志文件内容中包含password的行信息。

content-60-10

登录MySQL

  • 获取到root用户的临时密码之后,就可以登录mysql数据库,修改root的密码,为root设置一个新的密码。

    并且还需要开启root用户远程访问该数据库的权限,这样就可以在windows上来访问这台MySQL数据库。

  • 执行如下指令:

1
2
3
4
5
6
7
8
9
10
11
①. 登录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,再次通过新的密码进行登录。

content-60-11

  • 也可以使用安装在windows系统中的sqlyog或者Navicat来远程连接linux上的MySQL。

content-60-12

  • 注意: 要想在windows上能够访问MySQL,还需要开放防火墙的3306端口,执行如下指令:
1
2
firewall-cmd --zone=public --add-port=3306/tcp --permanent
firewall-cmd --reload

content-60-13