LAMP之MySQL的安装及基础命令

前面我们介绍了apache httpd server ,而在企业网站平台中,为了提供更丰富.强大的web应用功能,还需要后台数据库网页编程语言等多种角色的支持,这里我们来安装一下MySQL数据库MysqL一个真正的多线程,多用户关系型数据库服务,凭借其高性能、高可靠、和易于使用的特性,成为数据库中的佼佼者,为了确保数据库的完整性、可定制性,我们采用MysqL 5.x版本的源码安装方式。

一、MysqL的编译安装
1.防止端口冲突,查看是否有rpm方式安装的MysqL

LAMP之MySQL的安装及基础命令


安装ncurses-devel 可以让MysqL在字符终端使用

LAMP之MySQL的安装及基础命令


MysqL5.5需要安装cmake,需要耐心等待

LAMP之MySQL的安装及基础命令


2.创建运行用户,使之不能本地登陆,可以不创建宿主目录

LAMP之MySQL的安装及基础命令


3.解包、配置、编译、安装MysqL

LAMP之MySQL的安装及基础命令


-DCMAKE_INSTALL_PREFIX :指定MysqL安装目录
-DSYSconfdIR:指定初始化参数文件目录
-DDEFAULT_CHARSET:指定认使用字符集 如:utf8
-DDEFAULT_COLLATION:指定认使用的字符集校对规则 utf_general_ci 是适用于UTF-8字符集的通用规则
-DWITH_EXTRA_CHARSETS:指定额外支持的其他字符集编码

LAMP之MySQL的安装及基础命令


4.安装后的调整
对目录权限设置

LAMP之MySQL的安装及基础命令


建立配置文件

LAMP之MySQL的安装及基础命令


初始化数据库

LAMP之MySQL的安装及基础命令


设置环境变量 ,立即使之生效

LAMP之MySQL的安装及基础命令


添加为系统服务

LAMP之MySQL的安装及基础命令


启动MysqL服务,并查看是否启动,端口为3306(可以在/etc/mys.cnf中更改)

LAMP之MySQL的安装及基础命令


LAMP之MySQL的安装及基础命令


LAMP之MySQL的安装及基础命令


LAMP之MySQL的安装及基础命令


二、访问MysqL及基本命令
MysqL一个典型的c/s架构的应用,需要客户端软件,但在linux中最简单、易用的客户端是其自带MysqL的命令工具。
1.连接数据库,以root用户登陆
连接不上数据库提示没有MySQL命令,建立软链接至系统的bin下,解决

LAMP之MySQL的安装及基础命令


以密码登陆加选项-p MysqL -u 用户名 -p
验证成功后,显示MysqL> 每一条sql语句后以“;”结尾,MySQL命令不区分大小写,exit退出MysqL环境。
2.使用MysqL
show master logs; 查看当前数据库服务的日志文件信息。

LAMP之MySQL的安装及基础命令


查询当前数据库有哪些库

LAMP之MySQL的安装及基础命令


查看当前库中有哪些表

LAMP之MySQL的安装及基础命令


查看表结构

LAMP之MySQL的安装及基础命令


创建新的库
create database cto;

LAMP之MySQL的安装及基础命令


创建表
create table 表名 (字段1 名称 类型,字段2 名称 类型,......,primary key(主键名))
创建表users 包含user_name(不为空),user_passwd(认空),两列,主键为user_name

LAMP之MySQL的安装及基础命令


删除一个

LAMP之MySQL的安装及基础命令


删除一个

LAMP之MySQL的安装及基础命令


插入数据记录
insert into 表名(字段1,字段2.....) values(字段1的值,字段2的值....)

LAMP之MySQL的安装及基础命令


如果插入新数据时包括表中所有字段值,则指定字段可以省略,

LAMP之MySQL的安装及基础命令


查询数据记录
select 字段1,字段2,..... from 表名 where 条件表达式
*代表所有

LAMP之MySQL的安装及基础命令


LAMP之MySQL的安装及基础命令


修改数据记录
update 表名 set 字段名1=字段值1[, 字段名2=字段值2] where 条件表达式

LAMP之MySQL的安装及基础命令


LAMP之MySQL的安装及基础命令


数据库中各种用户信息存储在MysqL.user中,可以为其中用户设置密码

LAMP之MySQL的安装及基础命令


也可以使用linux工具MysqLadmin设置

LAMP之MySQL的安装及基础命令


删除数据记录
delete from 表名 where 条件表达式

LAMP之MySQL的安装及基础命令


LAMP之MySQL的安装及基础命令


三、维护数据库
MysqL数据库的维护工作主要包括用户权限的设置,数据库的备份与恢复
1.数据库用户授权
MysqL中root用户具有对所有库表的全部权限,频繁使用会带来风险,所以设置一些低权限的用户
grant语句专门用来设置数据库用户的访问权限,当用户不存在时,会创建新用户,否则,将用于修改用户信息。
grant 权限列表 on 库名,表名 to 用户名@来源地址 [ identified by '密码' ]
权限列表:多个权限用“,”分割,如:select,insert,update。使用all表示所有权限
库名列表:可以使用通配符“ ” 例如使用cto.表示授权对象为auth库中的所有表

用户名@来源地址:谁能连接在那连接,来源地址可以是域名,IP,还可以使用“%”,代表某个区域或网段内的所有地址,如%.cto.com,192.168.1.%
identified by :设置密码,省略则密码为空
给小明设置查询cto库所有表的权限
![](https://s1.51cto.com/images/blog/201801/12/31b7f711dffdcb5fbb76c9a68ee64d16.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)
![](https://s1.51cto.com/images/blog/201801/12/d84dbefbf88301ee4d5ae861cd1678ff.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)
通常企业中数据库服务器是相互独立的,通常做法是,建立一个或几个网站专用的库,并授予权限,并限制IP地址
![](https://s1.51cto.com/images/blog/201801/12/bc5be598d8c9f824f0dcb2b24a772000.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)
2.查看权限
show grants for 用户名@来源地址
![](https://s1.51cto.com/images/blog/201801/12/24c51d2aa13a1767194c3ec7077a7d32.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)
3撤销权限
撤销的用户任然可以连接到MysqL,但禁止对对应的数据库操作
revoke 权限列表 on 数据库名.表名 from 用户名@来源地址
![](https://s1.51cto.com/images/blog/201801/12/f1ef876b60bdda89f8866c38b9828e00.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)
4.数据库的备份与恢复
备份数据库可以直接打包数据库文件夹/usr/local/MysqL/data,或者直接使用MysqLdump工具
直接在linux命令行中输入
备份一个MysqLdump [选项] 库名 【表名1】 【表名2】 .....  >    /备份路径/备份文件名
![](https://s1.51cto.com/images/blog/201801/13/d25728ca0d0bfe5a2549c75366dd657a.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)
备份一个库或多个库
MysqLdump [选项]  --databases  库名1  【表名2】 .....  >    /备份路径/备份文件名
![](https://s1.51cto.com/images/blog/201801/13/122defc52f09bbfdeaff6377cb46bc47.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)
备份所有库
MysqLdump [选项]   --all-databases   >    /备份路径/备份文件名
![](https://s1.51cto.com/images/blog/201801/13/4a926a9a092318a9d987e84195421831.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)
warning的原因是因为MysqLdump认是不备份事件表的,只有加了--events 才会,加上--events --ignore-table=MysqL.events参数即可;可以创建新的,也可以覆盖备份
![](https://s1.51cto.com/images/blog/201801/13/5870820fb9802f644bd1dd6d0d96987b.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)

选项:-u 指定用户身份 -p 需要输入密码 当数据量较大时可以添加 --opt 提高执行速度
查看备份文件 其中/..../ 、以--开头的是注释,可以筛选一下

LAMP之MySQL的安装及基础命令

恢复数据库 使用MysqL导入命令
MysqL [选项] [库名] [表名] < /备份路径/备份文件

LAMP之MySQL的安装及基础命令


LAMP之MySQL的安装及基础命令


LAMP之MySQL的安装及基础命令


恢复成功
这些都是一些基本操作,简单的总结一下,下一篇是lamp平台的搭建。

相关文章

MySQL 死锁 是指两个或多个事务互相等待对方持有的锁,从而导...
在MySQL中,InnoDB引擎通过Next-Key Locking技术来解决幻读问...
在数据库事务管理中,Undo Log 和 Redo Log 是两种关键日志,...
case when概述 sql语句中的case语句与高级语言中的switch语句...
其实很简单,只是为了忘记,做个记录,用的时候方便。 不管是...
1.进入服务,找到mysql服务,在属性里找到mysql的安装路径 2...