千家信息网

LAMP之MySQL的安装及基础命令

发表于:2025-02-05 作者:千家信息网编辑
千家信息网最后更新 2025年02月05日,前面我们介绍了apache httpd server ,而在企业网站平台中,为了提供更丰富.强大的web应用功能,还需要后台数据库和网页编程语言等多种角色的支持,这里我们来安装一下MySQL数据库。
千家信息网最后更新 2025年02月05日LAMP之MySQL的安装及基础命令
前面我们介绍了apache httpd server ,而在企业网站平台中,为了提供更丰富.强大的web应用功能,还需要后台数据库和网页编程语言等多种角色的支持,这里我们来安装一下MySQL数据库。    MySQL是一个真正的多线程,多用户的关系型数据库服务,凭借其高性能、高可靠、和易于使用的特性,成为数据库中的佼佼者,为了确保数据库的完整性、可定制性,我们采用MySQL 5.x版本的源码安装方式。

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

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

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

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

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

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

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

建立配置文件

初始化数据库

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

添加为系统服务

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




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

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

查询当前数据库有哪些库

查看当前库中有哪些表

查看表结构

创建新的库
create database cto;

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

删除一个表

删除一个库

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

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

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


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


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

也可以使用linux工具mysqladmin设置

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


三、维护数据库
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 提高执行速度
查看备份文件 其中/..../ 、以--开头的是注释,可以筛选一下

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



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

数据 数据库 用户 备份 字段 权限 文件 地址 命令 密码 字符 来源 用户名 服务 字符集 文件名 目录 路径 工具 条件 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 铁建通服务器 数据库应用的特点是 超星发现数据库好不好 软件开发的数据库端 分布式数据库学习体会 服务器生存怎么快速变成大佬 腾讯云服务器安全性怎么样 南宁智慧法治文化展馆软件开发 奉贤区正规软件开发有哪些 ssm数据库怎么插入 金铲铲之战选择服务器爆满 网络安全法第六十四条裁量标准 在数据库中数据库的独立性是指 金慧科技网络技术 山西it软件开发品牌企业 梧州网络安全相关培训学历要求低 服务器显卡外接风扇声音巨大 怀柔区大型软件开发资费 苏州调度服务器挂式 数据库网状模型教学设计 池州电力软件开发哪家好 用假软件开发票案件 软件开发 框架方案 四川回收服务器cpu 互联网软件开发模型 高中信息技术 网络安全 初中生手抄报复杂好看网络安全 北辰区网络安全第一次会议 服务器故障检测报告 海康数据管理服务器
0