• Centos7 安装 Mysql


    Centos7 安装 Mysql

    资料

    链接:https://pan.baidu.com/s/1TTZY1qSYNj0TC7eAlA-qsA?pwd=jjjj
    提取码:jjjj

    准备

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

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

    需要通过rpm相关指令,来查询当前系统中是否存在已安装的mysql软件包,执行指令如下:

    rpm -qa							查询当前系统中安装的所有软件
    rpm -qa | grep mysql			查询当前系统中安装的名称带mysql的软件
    rpm -qa | grep mariadb			查询当前系统中安装的名称带mariadb的软件
    

    通过rpm -qa 查询到系统通过rpm安装的所有软件,太多了,不方便查看,所以我们可以通过管道符 | 配合着grep进行过滤查询。

    image-20220824214912729

    通过查询,我们发现在当前系统中存在mariadb数据库,是CentOS7中自带的,而这个数据库和MySQL数据库是冲突的,所以要想保证MySQL成功安装,需要卸载mariadb数据库。

    2). 卸载现有的MySQL数据库

    在rpm中,卸载软件的语法为:

    rpm -e --nodeps  软件名称
    

    那么,我们就可以通过指令,卸载 mariadb,具体指令为:

    rpm -e --nodeps  mariadb-libs-5.5.60-1.el7_5.x86_64
    

    image-20220824214957382

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

    3). 将资料中提供的MySQL安装包上传到Linux并解压

    image-20220824215036048

    A. 解压到/usr/local/mysql

    mkdir /usr/local/mysql
    tar -zxvf mysql-5.7.25-1.el7.x86_64.rpm-bundle.tar.gz -C /usr/local/mysql
    

    image-20220824215339724

    安装

    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)升级现有软件及系统内核

    image-20220824215323034

    启动

    MySQL安装完成之后,会自动注册为系统的服务,服务名为mysqld。那么,我们就可以通过systemctl指令来查看mysql的状态、启动mysql、停止mysql。

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

    image-20220824215527692

    说明:

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

    systemctl enable mysqld

    我们可以通过如下两种方式,来判定mysql是否启动:

    netstat -tunlp					查看已经启动的服务
    netstat -tunlp | grep mysql 
    ps –ef | grep mysql				查看mysql进程
    

    image-20220824215616946

    备注:

    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的过程中,并没有看到让我们设置访问密码,那这个访问密码是多少呢? 那实际上,对于rpm安装的mysql,在mysql第一次启动时,会自动帮我们生成root用户的访问密码,并且输出在mysql的日志文件 /var/log/mysqld.log中,我们可以查看这份日志文件,从而获取到访问密码。

    可以执行如下指令:

    1). cat /var/log/mysqld.log

    image-20220824215722495

    这种方式,可以看到所有的日志数据,文件比较大时,很不方便查看数据。我们可以通过管道符 | 配合grep来对数据进行过滤。

    2). cat /var/log/mysqld.log | grep password

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

    image-20220824215744803

    登录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代表root用户,最后的root代表root用户的密码,我这里用户名,密码都是root,中间的%号代表所有的ip地址都能远程访问,如果你要针对某一台机器开放远程访问权限,那就把%换成哪台机器的ip地址,这样就只能这台机器远程访问linux下的mysql数据库了。
    

    操作完上述的指令之后,数据库root用户的密码以及远程访问我们就配置好了,接下来,可以执行exit退出mysql,再次通过新的密码进行登录。

    image-20220824215852217

    注意: 要想在windows上能够访问MySQL,还需要开放防火墙的3306端口,执行如下指令:

    firewall-cmd --zone=public --add-port=3306/tcp --permanent
    firewall-cmd --reload
    

    image-20220824215922064

  • 相关阅读:
    对个人来说,最好的记账方法是什么?
    【leetcode】【2022/9/12】1608. 特殊数组的特征值
    基于缓冲原理计算轨迹相似度
    阿里 P8 爆出的这份大厂面试指南,看完工资暴涨 30k!
    SQL Server数据库——创建数据库
    【TES720D-KIT】青翼自研基于复旦微FMQL20S400全国产化ARM开发套件(核心板+底板)
    utc时间怎么转换北京时间?
    Python之第七章 函数 --- 基础
    .Net Framework中的AppDomain.AssemblyResolve事件的常见用法、问题,以及解决办法
    用幻灯片讲解C++手动内存管理
  • 原文地址:https://www.cnblogs.com/look-word/p/16623025.html