• Linux(CentOS 7)环境下安装MySQL


    在CentOS中默认安装有MariaDB,但是我们需要的是MySQL,安装MySQL可以覆盖MariaDB

    MariaDB数据库管理系统是MySQL的一个分支,主要由开源社区在维护,采用GPL授权许可。开发这个分支的原因之一是:甲骨文公司收购了MySQL后,有将MySQL闭源的潜在风险,因此社区采用分支的方式来避开这个风险。MariaDB的目的是完全兼容MySQL,包括API和命令行,使之能轻松成为MySQL的代替品。

    首先安装MySQL的Yum Repository

    Yum帮我们管理好了各种rpm包的依赖,是基于rpm的软件包管理器,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软体包,无须繁琐地一次次下载、安装.

    所有的操作都是切换到root用户下进行
    安装MySQL官方的Yum Repository

    [root@localhost ~]# wget -i -c http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm

      下载rpm包

      [root@localhost ~]# yum -y install mysql57-community-release-el7-10.noarch.rpm

        安装MySQL服务

        [root@localhost ~]# yum -y install mysql-community-server

          执行安装服务的时间比较长,耐心等待,中间有一次询问y/n?输入y回车

          启动mysql服务:

          [root@localhost ~]# systemctl start  mysqld.service

            查看mysql运行状态:

            [root@localhost ~]# systemctl status mysqld.service

              可以看到mysql服务的运行状态,出现下面的信息,其中Active后面代表状态启功服务后为active (running),停止后为inactive (dead)

              [root@localhost ~]# systemctl status mysqld.service
              ● mysqld.service - MySQL Server
                 Loaded: loaded (/usr/lib/systemd/system/mysqld.service; enabled; vendor preset: disabled)
                 Active: active (running) since 三 2018-02-14 10:12:13 CST; 3min 31s ago
                   Docs: man:mysqld(8)
                         http://dev.mysql.com/doc/refman/en/using-systemd.html
                Process: 1424 ExecStart=/usr/sbin/mysqld --daemonize --pid-file=/var/run/mysqld/mysqld.pid $MYSQLD_OPTS (code=exited, status=0/SUCCESS)
                Process: 935 ExecStartPre=/usr/bin/mysqld_pre_systemd (code=exited, status=0/SUCCESS)
               Main PID: 1427 (mysqld)
                 CGroup: /system.slice/mysqld.service
                         └─1427 /usr/sbin/mysqld --daemonize --pid-file=/var/run/mysqld/mysqld.pid...
              
              214 10:11:53 localhost.localdomain systemd[1]: Starting MySQL Server...
              214 10:12:13 localhost.localdomain systemd[1]: Started MySQL Server.
              

              也可以重新启动服务

              root@localhost ~]# service mysqld restart

                停止服务

                [root@localhost ~]# systemctl stop mysqld.service

                  安装完成后默认有一个root用户,初始密码已经设置好,我们需要获得这个初始密码登录后再对其进行修改

                  为了加强安全性,MySQL5.7为root用户随机生成了一个密码,在error log中,关于error log的位置,如果安装的是RPM包,则默认是/var/log/mysqld.log。
                  只有启动过一次mysql才可以查看临时密码

                  通过下面的命令查看初始密码,冒号后面的字符就是密码

                  grep 'temporary password' /var/log/mysqld.log

                    登录root用户

                    [root@localhost ~]# mysql -u root -p

                      提示输入密码,输入初始密码,使用该密码之后需要设置自己的密码,但是mysql对密码有要求,我们想要设置简单的密码必须要修改约束,修改两个全局参数:
                      validate_password_policy代表密码策略,默认是1:符合长度,且必须含有数字,小写或大写字母,特殊字符。设置为0判断密码的标准就基于密码的长度了。一定要先修改两个参数再修改密码

                      mysql> set global validate_password_policy=0; 

                        validate_password_length代表密码长度,最小值为4

                        mysql> set global validate_password_length=4;

                          修改密码为root,之后就可以使用该密码登录了

                          mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'root';

                            在CentOS中mysql的主要配置所在的目录:

                            1. /etc/my.cnf 这是mysql的主配置文件
                            2. /var/lib/mysql mysql数据库的数据库文件存放位置
                            3. /var/log mysql数据库的日志输出存放位置

                            防火墙开放 3306 端口

                            语法命令如下:启用区域端口和协议组合

                            firewall-cmd [--zone=<zone>] --add-port=<port>[-<port>]/<protocol> [--timeout=<seconds>]
                            

                            此举将启用端口和协议的组合。
                            端口可以是一个单独的端口 或者是一个端口范围 -。
                            协议可以是 tcp 或 udp

                            查看 firewalld 状态

                            systemctl status firewalld
                            

                            开启 firewalld

                            systemctl start firewalld
                            

                            开放端口

                            // --permanent 永久生效,没有此参数重启后失效
                            firewall-cmd --zone=public --add-port=3306/tcp --permanent 
                            
                            firewall-cmd --zone=public --add-port=1000-2000/tcp --permanent 
                            
                            

                            重新载入

                            firewall-cmd --reload
                            

                            查看

                            firewall-cmd --zone=public --query-port=80/tcp
                            

                            删除

                            firewall-cmd --zone=public --remove-port=80/tcp --permanent
                            
                          • 相关阅读:
                            调用webservice接口报错
                            Java设计模式之使用反序列化的方式实现单例模式
                            Java设计模式之使用枚举类的方式创建单例
                            使用饿汉模式创建单例模式
                            Java 查看运行生成的字节码文件 反汇编
                            Java设计模式之--单例模式-使用懒汉模式创建
                            git无法 cherry pick到其他分支
                            Android之Handler用法总结
                            Java之观察者模式
                            Android之Activity与Service通信
                          • 原文地址:https://www.cnblogs.com/haixiang/p/10194941.html
                          Copyright © 2020-2023  润新知