• MySQL优化和Linux的环境配置


     MySQL如何优化

    表的设计合理化(符合3NF)

    添加适当索引(index) [四种: 普通索引、主键索引、唯一索引unique、全文索引]

    SQL语句优化

    分表技术(水平分割、垂直分割)

    读写[: update/delete/add]分离

    存储过程 [模块化编程,可以提高速度]

    mysql配置优化 [配置最大并发数my.ini, 调整缓存大小 ]

    mysql服务器硬件升级

    定时的去清除不需要的数据,定时进行碎片整理(MyISAM)

     

    sql语句调优

     

    其中使用优先--------sql语句调优>添加索引>分表分库技术>读写分离

     

     

    虚拟机

    虚拟机简介

    虚拟机:是一台虚拟的计算机,是由软件虚拟出来的一台计算机。

     

    虚拟机的安装

    传送门:https://blog.csdn.net/qq_42545206/article/details/82790699

     

    安装Linux操作系统

    传送门:https://blog.csdn.net/qq_39655200/article/details/81159863

     

    Linux目录结构

     

     

    /  Linux系统的根目录

       /etc 是系统配置文件的存放目录。例如:JDKMysqltomcatredis配置文件等。

    /usr 应用程序存放目录例如: JDKMysqltomcatredisnginx等应用程序都会安装到usr目录。

    /root 系统管理员root家目录,类似于Windows的桌面,登录成功后最新看到的就是桌面。

    Linux的常用命令

    目录操作

    查看当前目录   pwd

    操作文件夹    cd [选项][参数]

    打开指定目录cd  [目录名称]//注意cd后面有空格.

    打开当前用户的主目录 cd  ~

    返回上级目录cd  ..

    返回进入目录cd  -

    打开根目录cd  /

    浏览目录下的文件列表ls [选项]

    ls -l以列的形式查看当前目录下的文件列表

    ls -a查看当前目录下所有的文件,包含隐藏文件

    ls -la以列的形式查看当前目录下所有的文件,包含隐藏文件

    创建文件目录命令mkdir [选项] 目录名称

    mkdir  [目录名称] 新建文件目录

    mkdir  -p  [目录名称]  递归新建多级目录  

    示例:mkdir -p hehe/haha/lele  同时创建hehehahalele文件夹

    删除空文件夹rmdir

    删除文件/目录   rm -rf强制删除

    rm -ri询问是否删除

    注意:如果命令中不跟 r 参数,无法删除目录,只能删除文件

    复制文件/目录

    cp -r 目录1 目录2递归复制 目录1所有的文件和文件夹到目录2  

    cp -ri 目录1 目录2执行复制时覆盖原有目录前询问用户  

    8:移动文件,修改文件名

    mv 文件1 文件2  (修改文件名)

    mv 目录1 目录2  (将目录1的文件移动到目录2)

     

    安装jdk

     卸载:使用java version查看虚拟机是否有jdk环境,存在先卸载:

               

    1. 首先我的系统是CenOS7,安装完成后,先打开终端,切换到管理员账号,命令如下图

     

    2. 找出带java关键字的安装包,命令是:rpm -qa|grep java,会出现如下结果:

     

     

    3. 运行如下命令进行卸载,命令是: yum -y remove java*

    安装

    上传到ftp,然后解压安装  tar -zxvf  jdk-8u221-linux-x64.tar

    配置环境变量,打开 vi /etc/profile 在文件结尾添加  注意是使用“”分隔

    export JAVA_HOME=/home/soul/tools/jdk1.8

    export JRE_HOME=$JAVA_HOME/jre

    export PATH=$PATH:$JAVA_HOME/bin

    export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

        让文件生效            source  /etc/profile

    目录以及子目录授予root权限  chown root:root -R   /home/soul/tools/jdk1.8

    查看jdk是否安装成功    java –version 或者  java  或者javac

     

    安装tomcat

    下载Tomcat8压缩包 进入 http://tomcat.apache.org/download-80.cgi

     

     

    ftp工具把压缩包上传到linux

    解压Tomcat命令

     tar -zxvf  apache-tomcat-8.5.43.tar.gz    (压缩包名字)

    可通过tomcatconf中文件下的server.xml配置

    vi  /home/tomcat/apache-tomcat-8.5.16/conf/server.xml

    配置防火墙,开放8080端口

    firewall-cmd --zone=public --add-port=8080/tcp --permanent

    firewall-cmd --reload

    启动tomcat  找到解压文件夹下的bin里面的stratup.sh

    sh  startup.sh   

    安装MySQL

    1.下载链接:https://pan.baidu.com/s/1qfLS8_KjbzQoMHgSmxYkfg 提取码:va73

    2.通过客户端工具Xftp上传tar包

    3.打开终端解压tar文件:tar -xvf mysql-5.7.23-1.el7.x86_64.rpm-bundle.tar

     

     

    卸载冲突的RPM组件

    在我们安装mysql相关组件的时候,如果不将此冲突的组件删除掉,我们是安装不成功的。

    查看postfix和mariadb-libs相关的组件:

    rpm -qa | grep postfix

    rpm -qa | grep mariadb

    卸载postfix和mariadb-libs.卸载你运行命令出现的版本!

    rpm -ev postfix-2.10.1-7.el7.x86_64

    rpm -ev mariadb-libs-5.5.60-1.el7_5.x86_64

    安装相应的依赖

    yum -y install libaio

    yum -y install net-tools

    yum -y install perl

    安装mysql组件

    解压mysql后得到很多rpm文件。不需要这么多,只需要安装以下四个组件就可以:

    rpm文件版本可能不一样,请到你的目录文件输入ll命令查看再根据对应的文件名修改!

    rpm -ivh mysql-community-common-5.7.23-1.el7.x86_64.rpm

    rpm -ivh mysql-community-libs-5.7.23-1.el7.x86_64.rpm

    rpm -ivh mysql-community-client-5.7.23-1.el7.x86_64.rpm

    rpm -ivh mysql-community-server-5.7.23-1.el7.x86_64.rpm --nodeps

    修改MySQL密码

    mysql安装完成之后我们是没有设置密码的,但是mysql为我们设置了一个临时的密码,

    我们可以查看mysql的日志知道这个临时密码,查看临时密码前确保数据库启动。

    1)启动数据库

    mysql是否启动: service mysqld status

    启动mysql:     service mysqld start

    停止mysql:     service mysqld stop

    重启mysql:    service mysqld restart

    2)查看临时密码:    grep password /var/log/mysqld.log

     

    得知临时密码是:MbhBdbeh?1ee  临时密码登录数据库。

    (数据库的密码需要满足以下条件:大小写字母,数字和特殊符号

    登录mysql(命令:mysql -p),输入临时密码

    设置新密码:  set password = password("Root_123");

    退出当前登录:quit;

    重新登录,此时就能用新密码登录了,然后就可以进行数据库操作了。

    设置密码不成功,不符合密码策略。报这个错是因为密码设置强度策略,你设置的密码太简答了。

    Your password does not satisfy the current policy requirements

    8、允许远程连接:开启mysql远程访问权限,允许远程连接

    mysql -u root -p

    use mysql;

    update user set host = '%' where user = 'root';

    flush privileges;

     

     

    测试连接mysql

    连接时报10060错误,可能是因为没有开启防火墙。在终端输入以下命令关闭防火墙。

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

    firewall-cmd --reload;

    主机输入你的ip地址   不知道的用ifconfig或者ip addr命令查看

     

     

  • 相关阅读:
    [转][黄忠成]Object Builder Application Block (1)
    C#.NET里面抽象类和接口有什么区别
    MVC中AOP思想的体现(四种过滤器)并结合项目案例说明过滤器的实际用法
    NHibernate之(24):探索NHibernate二级缓存(下)
    使用 ES (elasticsearch) 搜索中文
    elasticsearch 中文 term & completion suggester
    uwsgs loading shared libraries: libicui18n.so.58 异常处理
    tensorflow with gpu 环境配置
    Java 多线程执行
    SpringBoot log4j2 异常
  • 原文地址:https://www.cnblogs.com/Soul-xs/p/12150623.html
Copyright © 2020-2023  润新知