绪论
涓滴之水可磨损大石,不是由于他力量强大,而是由于昼夜不舍地滴坠。 只有勤奋不懈地努力,才能够获得那些技巧。 ——贝多芬。新开MySQL篇章,本章非常基础包括如何在Linux上搭建(当然上面的SQL语句你在其他能执行SQL语句的软件上也能正常执行,并非一定要在Linux环境下)和mysql的基本使用,但同时需要一定的Linux基础,所以假若你没学习过Linux建议查看我的Linux专栏来巩固一定的Linux知识。我将持续更新期待你的关注。
话不多说安全带系好,发车啦(建议电脑观看)。
思维导图:
查看: rpm -qa | grep mysql
删除: rpm -qa | grep mysql | xargs yum -y remove #xargs卸载程序
cat /etc/redhat-release
访问MySQL开发者专区:https://dev.mysql.com/downloads/repo/yum/(附:可能需要注册oracle,自行注册登录下即可)
选择匹配的mysql版本下载即可,centos7可选:
mysql80-community-release-el7-1.noarch.rpm,其中:mysql80: MySQL版本号,默认是MySQL8.0版本;el7 : 其中el 是 Enterprise Linux的编写,7表⽰ Linux⼤版本号,⽐如el6 表⽰ Linux6, el7表⽰Linux7, e8表⽰Linux8, el9表⽰Linux9,;‘fc’ 则表⽰ Fedora;el7-1:表⽰MySQL仓库配置RPM包的第1次更新
通过rz指令将本地文件上传到Linux服务器中:
附:若没有rz软件则先安装:yum install -y lrzsz
查看yum源安装列表:ls /etc/yum.repos.d/
下图一开始没有mysql,也就无法安装,所以需要rpm指令让mysql安装包放进安装列表中去使能够被yum安装rpm指令: rpm -ivh 下载好的mysql rpm安装包 rpm -ivh mysql84-community-release-el7-1.noarch.rpm
当执行指令后,再次查看安装列表就多了mysql的(上图最后一个框)
正常yum直接安装:
yum install -y mysql-community-server
查看是否成功的方法查看下述文件和程序是否存在:
语法:
systemctl start mysqld
查看是否启动mysql进程(mysqld使mysql的服务端):
ps ajx | grep mysqld
登录语法:
mysql -uroot -p
此时发现需要输密码:
⾸次安装成功,密码可能为以下几种情况:
grep 'temporary password' /var/log/mysqld.log
就能查看到密码:
所以输入密码就登录上了(此处输入密码同样是不显的)
对于validate_password组件是默认安装的,实现的默认密码策略,要求密码⾄少包含1个⼤写字⺟、1个⼩写字⺟、1个数字和1个特殊字符,密码总⻓度⾄少为8个字符。
设置密码语法:
ALTER USER 'root'@'localhost' IDENTIFIED BY '输入自己的密码';
默认密码策略:密码策略分为 LOW 、 MEDIUM (默认)和 STRONG ,分别⽤0,1(默认),2表⽰。0表⽰只校验密码⻓度,⻓度最⼩为8,所以以后要设置简单密码时还需要修改密码的⻓度限制。他们分别⽤两个系统变量validate-password.policy和validate_password.length表⽰。
例:如果我们要在开发环境设置如123456的简单密码那么就要修改默认密码策略,我们只需要设置:
具体如:
show variables like 'validate_password.policy'; #查看密码策略 show variables like 'validate_password.length'; #查看当前密码⻓度限制 set global validate_password.policy=0; #策略设置为LOW set global validate_password.length=4; #密码⻓度最少为4位(系统限制不能⼩于4位)
在修改密码为’123456’即可成功
若不存在日志的话:可能是不用输入密码直接回车就能直接登录进去
倘若还不行就修改mysql的配置文件:
vim /etc/my.cnf #打开mysql配置文件 #在最后一栏配置加入选项: skip-grand-tables #跳过密码认证
如下:
重启mysql服务,让配置文件生效:
systemctl restart mysqld #重启 #或者先关闭在开启 systemctl stop mysqld systemctl start mysqld # 再打开就直接回车即可进入 mysql -uroot -p #-u后面加用户
同样在 /etc/my.cnf文件中设置
添加如下选项(设置端口、编码方式和引擎):
附:还能设置能开机启动:
systemctl enable mysqld systemctl daemon-reload
mysql -h 127.0.0.1 -P 3306 -u root -p -h:指明登录部署了mysql的服务主机 -P:指明访问的端口 -u:指明登录用户 -p:指明要输入密码
create database helloworld; #创建数据库:create database 数据库名 show databases;#查看已存在的数据库,一般会默认存在些
附:建立数据库,本质就是创建一个文件
use helloworld; #使用表 create table student( #创建初始表格 name varchar(32), age int, gender varchar(2) ); show tables;#查看创建好的表 insert into student(name,age,gender) value('张三',20,'男'); #插入数据到表格中: select * from student;#查看表的内容
附:在数据库库中创建表格也就相当于Linux下创建一个文件(mysqld服务端执行的)!
3. 对此mysql帮我们解决了:程序员就不用再去关心数据文件了,只用去想要对文件做什么,然后通过mysql完成即可。
附:mysql的数据是按逻辑存储的,通过行列的方式来存储数据的(二维结构),按行进行插入。
服务器、数据库、表的关系相当于下图:
所谓安装数据库服务器,只是在机器上安装了一个数据库管理系统程序,这个管理程序可以管理多个数据库,一般开发人员会针对每一个应用创建一个数据库。
大致分为三层
存储引擎是:数据库管理系统如何存储数据、如何为存储的数据建立索引和如何更新、查询数据等技术的实现方法。
Mysql的核心就是插件时的存储引擎,它是支持各种存储引擎的。
查看能使用的所有存储引擎语法:
show engines \G;
本章完。预知后事如何,暂听下回分解。
如果有任何问题欢迎讨论哈!
如果觉得这篇文章对你有所帮助的话点点赞吧!
持续更新大量MySQL细致内容,早关注不迷路。