linux:mysql
数据库介绍
mysql与php是黄金搭档(LAMP、LNMP)
常见的数据库
Oracle、Sql server、Access、Mariadb、Ds2等
安装
安装前确保计算机时间准确
源码包安装
优点:开源、编译安装
缺点:安装步骤多,易出错、编译时间长
使用编译安装方式,需要提前安装 ncurses (常用终端库)
下载:链接
1、将软件包传递到服务器上 “/usr/local/src”
扩展:解包
2、解压源码包
tar -zxvf ncurses-6.1.tar.gz
3、切换到需要安装的源码包
配置(config、configure、bootstrap) ——> 编译(make、bootstrapd) ——>安装(make install、bootstrapd install)
(1)、配置
主要指定软件的安装目录、需要的依赖在什么地方、指定不需要的依赖、配置文件的路径、通用数据存储位置等
./configure --prefix=/usr/local/ncurses
(2)、编译
make
(3)、安装
make install
二进制包安装
优点:管理简单
缺点:经过编译、不再刻意看到源代码
回顾rpm指令:
rpm -qa | grep 关键字
rpm -e 关键字 【-nodeps】:忽略查询
rpm -ivh 完整名称
rpm -Uvh 完整名称
rpm -qf 文件路径 :查询指定文件属于哪个包
举例:使用rpm安装lynx(一个纯命令的浏览器)
1、由于光盘中就有该包,所以查看光盘的挂载情况
2、安装
3、测试
参考:链接
1、下载
MySQL Cluster 是oracle自己搞的集群版的(集成了一些开源工具和增值服务)
解压后包含:
我们只需下载server包和client包
2、清理环境
centos7会自带一个mariadb
查看是否已安装
rpm -qa |grep -i mysql
rpm -qa |grep -i mariadb(centos7默认系统自带的)
rpm -e 加上包名,把mariadb包清掉
若用rpm删除失败,提示有依赖关系的软件需要安装
rpm删除时如果有依赖关系,可以用 yum remove + 包名 来删除mariadb
3、安装
rpm –ivh + 包安装所需要的包
例如:
rpm -ivh MySQL-client-5.6.42-1.el7.x86_64.rpm
rpm -ivh MySQL-server-5.6.42-1.el7.x86_64.rpm
若出现错误:
yum install libaio
原因:
缺少依赖包autoconf
解决办法:
通过yum安装autoconf
yum -y install autoconf
4、查看默认密码
server安装成功后会输出一些信息,例如:默认的密码
........
A RANDOM PASSWORD HAS BEEN SET FOR THE MySQL root USER !
You will find that password in '/root/.mysql_secret'.
........
这表明mysql安装时给root设置了一个随机的初始密码:
密码的位置放在'/root/.mysql_secret'文件中
查看该文件,可以看到我在重装mysql时新生成一个随机密码:
5、修改密码
参考:链接
1、首先登录MySQL。
2、连接权限数据库:use mysql; 。
若出现:
SET PASSWORD = PASSWORD('123456');
3、改密码:update user set password=password("shapolang") where user="root";(别忘了最后加分号) 。
4、刷新权限(必须步骤):flush privileges;
重新登录,输入新密码shapolang就ok了;
6、开启服务和登录
service mysql start mysql -u root -p
yum安装
优点:安装简单、快捷
缺点:完全丧失自定义性
yum常见命令:
yum list :列出当前已经安装和可以安装的软件包
yum 【-y】 install 软件包 :安装软件包 (-y表示允许不再确认)
yum 【-y】 update 【包名】:更新指定的包,不指定则更新全部
yum【-y】 remove 包名:卸载指定的包
举例:卸载火狐浏览器
安装mysql:
yum install mysql-server :安装mysql服务器端
mysql初始化
service mysqld start :开启mysql服务
查看默认端口号: netstat -tnlp
初始化:mysql_secure_installation
安装完成:
基本操作
服务管理
service mysqld start / stop / restart :开始 / 停止 / 重启
进入和退出
进入:mysql -u 用户名 -p
退出:exit
默认目录
数据库存储目录:/var/lib/mysql
配置文件:/etc/my.cnf
库操作
大小写均可
show database; :显示当前所有数据库
create database 数据库名;:创建数据库
drop database 数据库名;:删除数据库
use 库名; :切换数据库
表操作
show tables; :显示当前数据库中所有的表名
create table 表名 :创建一个表
{
列名称1 数据类型 【not null auto_increment】
................
primary key(主键)
};
常见数据类型:int、char、varchar(不定长字符)
主键:主键不能重复
desc 表名; :描述一个数据表(表结构)
drop table 【if exists】表名; :删除一个数据表
举例:在test数据库中创建sh表:
增加记录
语法1:insert into 表名 values(值1,值2,.........);
语法2:insert into 表名 (列1,列2,.........)values(值1,值2,.........);
更新记录
update 表名 set 列名1 = 新值1,..... where 列名 = 某值;
查询记录
select 列名称 from 表名称 where 条件;
select * from 表名 where 条件;
删除记录
delete from 表名 where 列名 = 值;
备份
全部备份:mysqldump -uroot -p密码 -A > 备份文件路径
指定库备份:mysqldump -uroot -p密码 库名 > 备份文件路径
多个库备份:mysqldump -uroot -p密码 --databases 库名1 库名2.... > 备份文件路径
案例:每分钟自动备份一次test库
编写shell脚本:
创建一个计划任务:
完成:
还原
举例:还原表sh
1、删除表sh
2、恢复表
远程管理
1、B/S管理工具:PMA(phpmyadmin)使用链接
2、C/S工具:Navicat
常见错误
mysql中出现乱码如何处理?
设置mysql链接字符集:set names utf8; 【三码一致,服务器端+传输过程中+客户端】
在使用yum安装软件时,遇到:Another app is currently holding the yum lock; waiting for it to exit...
可以通过强制关掉yum进程:rm -f /var/run/yum.pid
初次远程连接时:2003
1、先进入数据库选择mysql数据库
2、执行:select host,user from user;
3、将其中一个记录的host值改为“%”
4、权限设置
如果想root用户使用password从任何主机连接到mysql服务器的话:
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'password' WITH GRANT OPTION;
5、刷新权限表或重启mysql服务
刷新权限表:flush privileges;
6、测试
执行yum命令时报错“File contains no section headers”
解决办法:
1、删除yum.repos.d目录下所有文件
rm -f /etc/yum.repos.d/*
2、重新下载阿里yum
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
3、清理缓存
yum clean all
4、测试下载安装
yum install gcc
成功!
首次远程时:1130
问题:没有登陆权限
原因:mysql服务器 root 默认只允许 localhost 也就是 127.0.0.1 连接
方法:修改 root 用户的任何ip都可以链接,就好了
1、使用 mysql 这个库
use mysql;
2、允许任何ip链接
update user set host = '%' where user ='root';
3、刷新权限
flush privileges;
4、重启服务
systemctl restart mysql
卸载并安装
查看mysql是否安装
rpm -qa|grep mysql
卸载mysql
1、rpm包安装方式卸载
删除命令:
rpm -e –nodeps 包名
2、yum安装方式下
卸载mysql
yum remove 包名
查看mysql的其它依赖:
rpm -qa | grep -i mysql
3、卸载依赖
yum remove mysql-libs
yum remove mysql-server
yum remove perl-DBD-MySQL
yum remove mysql
安装 MariaDB
1、查看系统中是否已安装 MariaDB
rpm -qa | grep -i mariadb
返回结果类似如下内容,则表示已存在 MariaDB
为避免安装版本不同造成冲突,请执行以下命令移除已安装的 MariaDB
yum -y remove 包名
2、在 /etc/yum.repos.d/
下创建 MariaDB.repo
文件
vi /etc/yum.repos.d/MariaDB.repo
# MariaDB 10.4 CentOS repository list - created 2019-11-05 11:56 UTC
# http://downloads.mariadb.org/mariadb/repositories/
[mariadb]
name = MariaDB
baseurl = http://yum.mariadb.org/10.4/centos7-amd64
gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB
gpgcheck=1
按 “Esc”,输入 “:x”,保存文件并返回
3、安装 MariaDB
yum -y install MariaDB-client MariaDB-server
4、启动 MariaDB 服务
systemctl start mariadb
5、设置 MariaDB 为开机自启动
systemctl enable mariadb
6、验证 MariaDB 是否安装成功
systemctl enable mariadb
7、初始化
mysql_secure_installation
linux:mysql的更多相关文章
- Linux:mysql编译安装
mysql安装包有源码包和二进制包.源码包安装时需要编译.二进制包安装时不需要编译. 二进制格式的包名字很长,都带有版本号.适应平台.适应的硬件类型等,而源码格式仅仅就是一个版本号的tar包. 源代码 ...
- MySQL:MySQL的安装
一.Linux:MySQL的源码安装 1.安装前的准备 在安装之前需要安装一下必备的包和工具 gcc/g++:MySQL5.6开始,需要使用g++进行编译. cmake:MySQL5.5开始,使用cm ...
- .Neter玩转Linux系列之六:Linux下MySQL的安装、配置、使用
一.Linux安装MySQL (1)下载安装包:https://dev.mysql.com/downloads/mysql/ (2)解压并安装 命令:tar zxvf 文件名 解压完成之后,重名一下文 ...
- 回顾:Linux环境 Mysql新建用户和数据库并授权
回顾:Linux环境 Mysql新建用户和数据库并授权 一.新建用户 //登录Mysql @>mysql -u root -p @>密码 //创建用户 mysql> insert i ...
- linux学习之centos(三):mysql数据库的安装和配置
前言:mysql简介 说到数据库,我们大多想到的是关系型数据库,比如mysql.oracle.sqlserver等等,这些数据库软件在windows上安装都非常的方便,在Linux上如果要安装数据库, ...
- Linux下mysql出错:ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)
安装: 1.新开的云服务器,需要检测系统是否自带安装mysql # yum list installed | grep mysql 2.如果发现有系统自带mysql,果断这么干 # yum -y re ...
- 远程登陆linux连接mysql root账号报错:2003-can't connect to MYSQL serve(转)
远程连接mysql root账号报错:2003-can't connect to MYSQL serve 1.远程连接Linux系统,登录数据库:mysql -uroot -p(密码) 2.修改roo ...
- Linux:数据库服务(Mysql安装及链接、远程链接、genelog)
yum search + 服务:查询服务是否存在: yum remove + 服务:卸载服务: 使用 service 操作服务时,服务的名称后要加上字符 d,如启动:service my ...
- linux安装mysql服务分两种安装方法:
linux安装mysql服务分两种安装方法: ①源码安装,优点是安装包比较小,只有十多M,缺点是安装依赖的库多,安装编译时间长,安装步骤复杂容易出错: ②使用官方编译好的二进制文件安装,优点是安装速度 ...
随机推荐
- MarkDown笔记一
目录 目录 字体 标题 下划线标题 #号标题 加重与斜体 高亮 删除线 上标与下标 脚注 转义字符 分割线 段落 空行 结尾两个空格 区域引用 每行> 每段> 可嵌套 目录 把文档中所有标 ...
- Django(43)restful接口规范
restful接口规范 什么是接口规范?接口规范就是为了采用不同的后台语言,也能使用同样的接口获取到同样的数据.如何写接口:接口规范是规范化书写接口的,写接口要写url.响应数据 注:如果将 ...
- Ascend昇腾计算
Ascend昇腾计算 Ascend昇腾计算,是基于昇腾系列处理器构建的全栈AI计算基础设施及应用,包括昇腾系列芯片.系列硬件.芯片使能.AI框架.应用使能等.华为Atlas人工智能计算解决方案,基于昇 ...
- CUDA C++编程手册(总论)
CUDA C++编程手册(总论) CUDA C++ Programming Guide The programming guide to the CUDA model and interface. C ...
- LLVM编译器架构
LLVM编译器架构 LLVM概述 LLVM项目是模块化和可重用的编译器及工具链技术的集合.尽管名称如此,LLVM与传统虚拟机关系不大.名称" LLVM"本身不是缩写.它是项目的全名 ...
- 循环IRNNv2Layer实现
循环IRNNv2Layer实现 IRNNv2Layer实现循环层,例如循环神经网络(RNN),门控循环单元(GRU)和长期短期记忆(LSTM).支持的类型为RNN,GRU和LSTM.它执行循环操作,该 ...
- JSP三大指令是什么?
JSP页面中的指令JSP指令用来设置整个JSP页面相关的属性,如网页的编码方式和脚本语言等.语法规则:<%@ 指令名 属性=值 属性=值 ... %>指令可以有很多个属性,它们以键值对的形 ...
- CArray CList CMap 插入与遍历效率对比
前言:程序中经常用到不定量数组,选择上可以使用CArray,CList,CMap,而这三者插入及遍历的效率,未测试过,随着数据量越来越大,需要做程序上的优化,于是比较下三种类型的插入盒遍历的效率. 一 ...
- 聊一聊.NET Core结合Nacos实现配置加解密
背景 当我们把应用的配置都放到配置中心后,很多人会想到这样一个问题,配置里面有敏感的信息要怎么处理呢? 信息既然敏感的话,那么加个密就好了嘛,相信大部分人的第一感觉都是这个,确实这个是最简单也是最合适 ...
- leetcode5697. 检查二进制字符串字段
5697. 检查二进制字符串字段给你一个二进制字符串 s ,该字符串 不含前导零 . 如果 s 最多包含 一个由连续的 '1' 组成的字段 ,返回 true .否则,返回 false . 示例 ...