mysql安装及加固
mysql安装
查看是否安装mysql
我们先看一下有没有安装mysql
yum list installed mysql | grep mysql

本地只安装了php链接mysql的库,没有安装mysql
如果有安装,可以使用安装的或者卸载了重新安装
添加yum源
去mysql官网查找yum源
找到最新的https://repo.mysql.com//mysql80-community-release-el7-3.noarch.rpm
下面我就来安装下yum源
sudo rpm -ivh https://repo.mysql.com//mysql80-community-release-el7-3.noarch.rpm

我们再看一下yum源是否安装成功
yum repolist | grep mysql

可以看到已经有mysql的yum源了
查看mysql的版本
yum repolist all | grep mysql

可以看到很多被禁用了,现在比较稳定的最高稳定版本是8.0了;
我们就安装这个吧
yum安装
sudo yum install mysql-community-server

下载安装完成,
查看下安装目录
whereis mysql

启动/关闭mysql
sudo systemctl start mysqld
systemctl status mysqld //查看mysql的状态

显示是启动了。
查看初始密码(如无内容直接跳过)
sudo grep 'temporary password' /var/log/mysqld.log

测试下是否真的启动成功
sudo mysql -u root -p
使用上一步得到的初始化密码登录,若没有初始化密码,则直接回车即可
修改root密码
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY '密码';

刷新MySQL的系统权限相关表
mysql> flush privileges;
退出登录,试下新密码登录,登录成功即完成了。
php链接数据库
php代码如下:
<?php echo 6666666666;
$con = mysql_connect("localhost","root","密码");
if (!$con)
{
die('Could not connect: ' . mysql_error());
}
else{
echo "login success.";
}
// some code
//mysql_close($con);
phpinfo(); ?>
访问http://192.168.189.134/phpinfo.php
提示:Could not connect: Authentication plugin 'caching_sha2_password' cannot be loaded: /usr/lib64/mysql/plugin/caching_sha2_password.so: cannot open shared object file: No such file or directory
caching_sha2_password时mysql8默认的认证方式,好像使安装的mysql没有包含这个插件,以前版本的mysql使用的是mysql_native_password,我们修改为这个模式看看
mysql> ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '密码';
刷新MySQL的系统权限相关表
mysql> flush privileges;
再访问http://192.168.189.134/phpinfo.php

链接mysql成功。
mysql基本操作
1)数据库相关SQL的语句 a)显示当前用户下的数据库 show databases; b)创建数据库(语法参考? create database) create database pms; create database if not exists pms; create database if not exists pms character set utf8;
说明:在mysql中一个用户下可以有很多数据库(DB)
c)使用或打开数据库 use database; 查看当前正在使用的数据库:select database(); d)删除数据库(语法? drop database) drop database pms; drop database if exists pms;
2)MySQL中表的相关操作?(DDL) a)创建表(语法? create table) create table if not exists pet( id int primary key auto_increment, name varchar(100) not null ); 当需要查看某张表的创建语句时,可以使用 show create table pet 当需要显示表结构时可以使用: desc pet b)修改表(语法?alter table);不作为重点,自己了解 c)删除表(语法?drop table) drop table if exists pet;
3)MySQL表中数据的操作?(DML) 1)向表中写入数据(insert) insert into pet values (null,'A'); insert into pet(id,name) values (null,'B'); insert into pet(name)values('C'); insert into pet(name)values('D'),('E'); 2)查询表中数据(select) select * from pet; select id,name from pet; select id,name from pet where id=10;
分页查询:limit 语句的应用(语法参考?select) select * from pet limit 2; --2为row_count(表示要取几条数据) select * from pet limit 4,2; --4表示offset,2表示 row_count select * from pet limit 2 offset 4;
mysql加固
禁止 Mysql 以管理员帐号权限运行
以普通帐户安全运行 mysqld,禁止以管理员帐号权限运行 MySQL 服务。在 /etc/my.cnf 配置文件中进行以下设置
user=mysql
口令安全
检查账户默认密码和弱密码。口令长度需要至少八位,并包括数字、小写字母、大写字母和特殊符号四类中的至少两种类型,且五次以内不得设置相同的口令。密码应至少每 90 天进行一次更换。
下面命令修改密码
mysql> update user set password=password('test!p3') where user='root';
mysql> flush privileges;
弱密码很容易被爆破,所以密码复杂的要够,生命周期要限制,定期更换。
关闭远程访问
这种仅限于应用和数据库在同一台主机的情况,如果不同主机,那就不能禁止远程访问了
关闭远程访问可以通过禁止远程 TCP/IP 连接,通过在 MySQL 服务器的启动参数中添加--skip-networking参数使 MySQL 服务不监听任何 TCP/IP 连接,增加安全性。
参考资料
https://help.aliyun.com/knowledge_detail/49568.html
mysql安装及加固的更多相关文章
- centos mysql 实战 第一节课 安全加固 mysql安装
centos mysql 实战 第一节课 安全加固 mysql安装 percona名字的由来=consultation 顾问+performance 性能=per con a mysql ...
- linux Mysql 安装及配置
1.准备 cmake-3.6.0.tar.gz bison-3.0.4.tar.gz mysql-5.7.13.tar.gz (http://dev.mysql.com/get/Downloads/M ...
- mysql安装一 --- 源码包安装
1.登陆http://www.mysql.com/ 或者 www.oracle.com 2. 3. 4. 上面如果不能加载,禁用代理软件 5. 6. 7. 8. 9.上传 10.md5校验安装包的完整 ...
- Ubuntu14.04 Django Mysql安装部署全过程
Ubuntu14.04 Django Mysql安装部署全过程 一.简要步骤.(阿里云Ubuntu14.04) Python安装 Django Mysql的安装与配置 记录一下我的部署过程,也方便 ...
- mysql 安装问题
针对免安装版的mysql: 1.启动CMD,在mysql安装目录下 ~\bin\目录下,输入: mysqld -install 安装msyql服务: 2.启动MySQL服务,输入: net st ...
- 001.mysql安装(lnmp)
mysql官方网站:http://dev.mysql.com/downloads/ Linux环境:刚安装的32位的“最小化安装“的CentOS 6.7 mysql版本:本次实验安装的是mysql5. ...
- MySQL安装步骤
MySQL安装步骤 1. 下载MySQL Community Server 5.6.21,注意选择系统类型(32位/64位) 2. 解压MySQL压缩包 将以下载的MySQL压缩包解压到自定义目录下. ...
- mysql安装配置
MySQL 是最流行的关系型数据库管理系统,由瑞典MySQL AB公司开发,目前属于Oracle公司. MySQL所使用的SQL语言是用于访问数据库的最常用标准化语言. MySQL由于其体积小.速度快 ...
- LNMP平台搭建---MySQL安装篇
在前两篇中,安装了一个基本的Web服务器,但是只能提供静态网页查看,要做成动态网站,就必须要数据库或其他编程语言支持了,这里先介绍MySQL数据库的安装. MySQL是一个开源的数据库,在互联网行业应 ...
随机推荐
- [笔记] 使用otunnel从外网访问内网
需求 内网机器没有公网IP,但是可以访问外网,现在需要从外网访问内网机器. 举例,在家里机器A访问公司内网机器B. 前提 需要一台有公网IP的服务器S做中转,这样就可以打通AB两端了. A <- ...
- Unity* 实体组件系统 (ECS)、C# 作业系统和突发编译器入门
Unity* 中的全新 C# 作业系统和实体组件系统不仅可以让您轻松利用以前未使用的 CPU 资源,还可以帮助您更高效地运行所有游戏代码.然后,您可以使用这些额外的 CPU 资源来添加更多场景动态和沉 ...
- 【JulyEdu-Python基础】第 3 课:容器以及容器的访问使用
大纲 容器切片 list/tupledictset 切片 列表推导 生成器 迭代器 容器 list 列表 序列是Python中最基本的数据结构.序列中的每个元素都分配一个数字 - 它的位置,或索引,第 ...
- 【VS开发】【电子电路技术】PCI与PCIE主板插卡与插槽识别
一.PCI PCI接口分为32bit和64bit两种,32bit就是一般台式机使用的普通的pci接口(图一.图三),64bit接口比32bit接口长一些一般只出现在服务器上(图四.图五).32bit和 ...
- 【Linux开发】linux设备驱动归纳总结(五):2.操作硬件——IO内存
linux设备驱动归纳总结(五):2.操作硬件--IO内存 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx ...
- PHP Smarty模板的安装
最近开发中用到了PHP中smarty模板..作为一个长久以来的前端,开始学习PHP模板..下面将安装教程分享给大家.. 1. 下载Smarty最新版: http://www.smarty.NET/do ...
- Laravel验证问题记录
1.当购物车提交时,POST传来一个对象{address:2,item:{ {ksu_id:2,count:2},{ksu_id:2,count:2}, } 验证方法: public function ...
- 西安邀请赛-L(打表找规律)
题目链接:https://nanti.jisuanke.com/t/39279 题意:给定n个不同的数表示的序列,定义两种操作:1. 交换前一半和后一半(如果有奇数个,则中间的不管).2. 交换每个偶 ...
- PTA(Basic Level)1028.人口普查
某城镇进行人口普查,得到了全体居民的生日.现请你写个程序,找出镇上最年长和最年轻的人. 这里确保每个输入的日期都是合法的,但不一定是合理的--假设已知镇上没有超过 200 岁的老人,而今天是 2014 ...
- CSP-J 2019 T3 纪念品
\(\mathfrak{a}\).反思: 通过这道题成功发现自己的背包还是很差\(w\): 可能这是我\(gu\)了好久好久博客的报应叭 就在做这个题的时候,自己连背包\(dp\)的思想都忘了 背包可 ...