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 是系统配置文件的存放目录。例如:JDK、Mysql、tomcat、redis配置文件等。
/usr 应用程序存放目录。例如: JDK、Mysql、tomcat、redis、nginx等应用程序都会安装到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 同时创建hehe和haha和lele文件夹
删除空文件夹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 (压缩包名字)
可通过tomcat中conf中文件下的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命令查看