阿里云服务器安装
查看是否已安装mysql
yum list installed mysql*
下载mysql
cd /home/soft/
wget http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm
编译
rpm -qa | grep mysql
rpm -ivh mysql-community-release-el7-5.noarch.rpm
查看结果
cd /etc/yum.repos.d/
image.png
安装
sudo yum install mysql-server
查看安装结果
rpm -qa | grep mysql
启动
service mysqld restart
进入mysql
mysql -u root -p
设置root密码
mysql> use mysql;
mysql> update user set password=password('wqhl@20180604') where user='root';
mysql> exit;
重启
service mysqld restart
设置外部访问
mysql -u root -p
mysql> use mysql;
mysql> GRANT ALL PRIVILEGES ON *.* TO 'admin'@'%' identified by 'wqhl@20180604' with grant option; //创建一个admin的用户,密码是:wqhl@20180604
mysql> flush privileges; //刷新权限
//查看结果
mysql> select distinct concat('User:''',user,'''@''',host,''';') as query from mysql.user;
mysql> exit
重启
service mysqld restart
停止系统防火墙
sudo systemctl stop firewalld.service
sudo systemctl disable firewalld.service
安全组规则设置
登录阿里云--进入控制台--安全组--配置规则(默认有一条规则,直接在上面追加一条即可,也可以自己新增一条)
试试使用工具远程连接测试即可
时间
-- 取一开的开始时间
SELECT str_to_date(DATE_FORMAT(NOW(),'%Y-%m-%d'),'%Y-%m-%d %H:%i:%s');
-- 取第二天的开始时间
select DATE_ADD(str_to_date(DATE_FORMAT(NOW(),'%Y-%m-%d'),'%Y-%m-%d %H:%i:%s'),INTERVAL 1 DAY)
-- 取一天的结束时间
select DATE_ADD(DATE_ADD(str_to_date(DATE_FORMAT(NOW(),'%Y-%m-%d'),'%Y-%m-%d %H:%i:%s'),INTERVAL 1 DAY),INTERVAL -1 SECOND);
索引实操
索引的基本原则
- 执行一次数据查询只能使用一个索引,就算给每个字段建立独立索引,也只能有一条索引被使用!
- 复合索引的使用要符合左边原则:给a,b,c三个字段建立一个复合索引。abc,ab,a,可以使用该索引的,其他情况都不能使用索引;
- 符合索引的建立和使用
select * from user where area=’$area’ and sex=’$sex’ order by lastlogin desc ;
1,使用字段area、sex、lastlogin 建立复合索引(注意顺序);
2,where条件字段,唯一性最好的要在最前;
3,order by的字段要在最后;
数据库的优化
开发中
1,检查程序代码是否合理
1,检查sql语句是否合理
2,检查索引是否合理
3,检查数据库表设计是否合理
线上运营中
1,检查服务器配置是否合理
2,检查索引是否合理
3,检查sql语句是否合理
4,检查程序代码是否合理
5,检查表结构是否合理