Mysql

作者: 天边010 | 来源:发表于2017-06-01 15:41 被阅读0次

阿里云服务器安装

查看是否已安装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,检查表结构是否合理

相关文章

网友评论

      本文标题:Mysql

      本文链接:https://www.haomeiwen.com/subject/uqdefxtx.html