设为首页 收藏本站
查看: 831|回复: 0

[经验分享] LAMP之MySQL的安装及基础命令

[复制链接]

尚未签到

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

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

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

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

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

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

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

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

  建立配置文件
DSC0007.jpg

  初始化数据库
DSC0008.jpg

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

  添加为系统服务
DSC00010.jpg

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

DSC00012.jpg

DSC00013.jpg

DSC00014.jpg

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

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

  查询当前数据库有哪些库
DSC00017.jpg

  查看当前库中有哪些表
DSC00018.jpg

  查看表结构
DSC00019.jpg

  创建新的库
  create database cto;
DSC00020.jpg

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

  删除一个表
DSC00022.jpg

  删除一个库
DSC00023.jpg

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

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

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

DSC00027.jpg

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

DSC00029.jpg

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

  也可以使用linux工具mysqladmin设置
DSC00031.jpg

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

DSC00033.jpg

  三、维护数据库
  MySQL数据库的维护工作主要包括用户权限的设置,数据库的备份与恢复
  1.数据库的用户授权
  MySQL中root用户具有对所有库表的全部权限,频繁使用会带来风险,所以设置一些低权限的用户
  grant语句专门用来设置数据库用户的访问权限,当用户不存在时,会创建新用户,否则,将用于修改用户信息。

  grant 权限列表  on 库名,表名 to 用户名@来源地址  [>  权限列表:多个权限用“,”分割,如:select,insert,update。使用all表示所有权限
  库名列表:可以使用通配符“ ”  例如使用cto.表示授权对象为auth库中的所有表
  

用户名@来源地址:谁能连接在那连接,来源地址可以是域名,IP,还可以使用“%”,代表某个区域或网段内的所有地址,如%.cto.com,192.168.1.%  
identified by :设置密码,省略则密码为空
  
给小明设置查询cto库所有表的权限
  
![](http://i2.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=)
  
![](http://i2.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地址
  
![](http://i2.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 用户名@来源地址
  
![](http://i2.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 用户名@来源地址
  
![](http://i2.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】 .....  >    /备份路径/备份文件名
  
![](http://i2.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】 .....  >    /备份路径/备份文件名
  
![](http://i2.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   >    /备份路径/备份文件名
  
![](http://i2.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参数即可;可以创建新的,也可以覆盖备份
  
![](http://i2.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 提高执行速度
  查看备份文件 其中/..../ 、以--开头的是注释,可以筛选一下
DSC00034.jpg

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

DSC00036.jpg

DSC00037.jpg

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



运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-606901-1-1.html 上篇帖子: mysql主主同步模式 下篇帖子: 关于mysql mof提权研究
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表