我好久没有写这个系列了,也确实不知道写什么。回首我学习数据库的路,最开始搞Oracle的时候其实没有搞懂Oracle,也不知道学了什么,后来学习MySQL尤其是InnoDB才大概入了门了。我最开始学习MySQL的时候直接看的是《高性能MySQL》,真的是写的比较深,学了好多好多回才知道了。不过不可否认这本书能用来入门,但是需要多看好多回。

我加了几个群,但是发现很多人总喜欢问:MySQL怎么装,我为什么改了密码没办法登录了,基本都是些可以说是很入门的问题。那我就想说说这些问题。

一 安装

MySQL安装基本分为三种办法:RPM安装,通用二进制包和源码编译安装。

RPM安装

RPM安装很简单,只需要从mysql.com上下载集成包,名字一般为:MySQL-[version]-[OS].[platform].rpm-bundle.tar。这里面有好几个rpm包,下面图中是5.5的:

只需要安装client和server就可以了。安装好之后就可以执行mysql命令了。

这样安装以后会把数据目录放到/var/lib/mysql下面,只需要根据自己的需要迁移就可以了。

通用二进制包安装

通用二进制包我认为就是提前编译好的mysql,压缩包解压以后做一个软连接就可以了:

ln -s /root/software/mysql-5.5.-linux2.-x86_64 /usr/local/mysql

这样之后,修改一下环境变量,把这个路径放到PATH里就可以了。

源码编译安装

源码编译安装速度比较慢,但是有个好处就是可以定制功能,还能把tcmalloc这种神器编译到里面。

cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_DATADIR=/data/mysql -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DEXTRA_CHARSETS=all -DENABLED_LOCAL_INFILE=

这样就可以了,还有多少选项,可以好好利用搜索引擎。如果是mysql5.7的编译,还需要使用boost,下载带boost的包,编译的时候使用这个命令就可以:

cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DEXTRA_CHARSETS=all -DENABLED_LOCAL_INFILE= -DCMAKE_EXE_LINKER_FLAGS="-ltcmalloc" -DWITH_BOOST=./boost

如果cmake没有问题,就可以直接执行make && make install,执行结束后,MySQL就安装好了。

到这里安装就完全结束了,至于配置,我就不想写了,太没意思了。

下面说说用户吧。MySQL大概有两种常用的登录方式:Unix套接字,TCP方式。

Unix套接字主要用于服务器本地登录,TCP登录一般用于远程登录。

怎么说呢?root@localhost和root@'%'实际上可以认为是两个不同的用户,虽然都是一个用户,但是可以分配不同的权限,不同的密码。因此在改密码的时候,一定要注意用户的登录方式。比如有些同仁刚刚学习的时候,总会搞不清楚这个,改了密码之后就登录不上去了。

所以建议创建用户的时候,使用grant all on *.* to 'root'@'%' identified by 'root';这样的语句,这样比较简单的看出来授权给什么用户了。

今天就写到这里把。

MySQL入门(四)的更多相关文章

  1. <MySQL>入门四 事务控制语言 TCL

    -- TCL /* Transcation Control Language 事务控制语言 事务:一个或一组sql语句组成一个执行单元,这个执行单元要么全部执行,要么全部不执行 案例:转账 name ...

  2. MySQL概述及入门(四)

    MySql概述及入门(四) 什么是MySQL的锁? 数据库锁定机制,就是数据库为了保证数据的一致性,而使各种共享资源在被并发访问变得有序所设计的一种规则,简单说,就是不让别人动 总的来说,MySQL各 ...

  3. 【数据库】4.0 MySQL入门学习(四)——linux系统环境下MySQL安装

    1.0 我的操作系统是CentOS Linux release 7.6.1810  (Core) 系统详细信息如下: Linux version 3.10.0-957.1.3.el7.x86_64 ( ...

  4. 21分钟 MySQL 入门教程(转载!!!)

    21分钟 MySQL 入门教程 目录 一.MySQL的相关概念介绍 二.Windows下MySQL的配置 配置步骤 MySQL服务的启动.停止与卸载 三.MySQL脚本的基本组成 四.MySQL中的数 ...

  5. MYSQL入门全套(第三部)

    MYSQL入门全套(第一部) MYSQL入门全套(第二部) 索引简介 索引是对数据库表中一个或多个列(例如,employee 表的姓名 (name) 列)的值进行排序的结构.如果想按特定职员的姓来查找 ...

  6. MySQL入门笔记

    MySQL入门笔记 版本选择: 5.x.20 以上版本比较稳定 一.MySQL的三种安装方式: 安装MySQL的方式常见的有三种: ·          rpm包形式 ·          通用二进制 ...

  7. python学习笔记--Django入门四 管理站点--二

    接上一节  python学习笔记--Django入门四 管理站点 设置字段可选 编辑Book模块在email字段上加上blank=True,指定email字段为可选,代码如下: class Autho ...

  8. MySQL入门转载

    21分钟 MySQL 入门教程 http://www.cnblogs.com/mr-wid/archive/2013/05/09/3068229.html 目录 一.MySQL的相关概念介绍 二.Wi ...

  9. Thinkphp入门 四 —布局、缓存、系统变量 (48)

    原文:Thinkphp入门 四 -布局.缓存.系统变量 (48) [控制器操作方法参数设置] http://网址/index.php/控制器/操作方法 [页面跳转] [变量调节器] Smarty变量调 ...

  10. mysql 入门 基本命令

    MYSQL入门学习之一:基本操作  1.登录数据库    www.2cto.com     命令:mysql -u username –p (mysql -h主机地址 -u用户名 -p用户密码)   ...

随机推荐

  1. Oracle数据库,用户的创建及表的创建

    安装完成之后,打开浏览器,输入https://127.0.0.1:1158/em 链接至登录数据库界面 用户名:sys     口令为安装时设置的密码(一定牢记) 链接身份为:SYSDBA(以系统管理 ...

  2. JS疑难点和GC原理

    js解析与序列化json数据(一)json.stringify()的基本用法: 对象有两个方法:stringify()和parse().在最简单的情况下,这两个方法分别用于把JavaScript对象序 ...

  3. 面试问题整理笔记系列 一 Java线程类

    1.sleep()和wait()区别 sleep() 方法:线程主动放弃CPU,使得线程在指定的时间内进入阻塞状态,不能得到CPU 时间,指定的时间一过,线程重新进入可执行状态.典型地,sleep() ...

  4. 初学C++之自定义类型名简化

    说明:本人使用的是vc++ IDE:vs2013 我在自定义一些类时,有时会取一些很长的名字,但是这不利于使用,这个时候就可以使用类型名简化. class MathAddBBBB { }; using ...

  5. Spring中的事务

    Spring配置文件中关于事务配置总是由三个组成部分,分别是DataSource.TransactionManager和代理机制这三部分,无论哪种配置方式,一般变化的只是代理机制这部分. DataSo ...

  6. ConcurrentHashMap原理分析

    当我们享受着jdk带来的便利时同样承受它带来的不幸恶果.通过分析Hashtable就知道,synchronized是针对整张Hash表的,即每次锁住整张表让线程独占,安全的背后是巨大的浪费,而现在的解 ...

  7. 我所知道的Javascript

    javascript到了今天,已经不再是我10多年前所认识的小脚本了.最近我也开始用javascript编写复杂的应用,所以觉得有必要将自己的javascript知识梳理一下.同大家一起分享javas ...

  8. treeview bootstrap 多级下拉树

    bootstrap-treeview.js1是一款强大的树菜单插件,本文演示bootstrap-treeview.js15种不同的调用方法.它可一次性加载数据,也可异步加载.支持Checkbox,se ...

  9. sizzle源码分析 (2)ID 类 tag querySelectorAll 快速匹配

    不是所有的选择器都需要去分词,生成相应的匹配函数,这样流程比较复杂,当浏览器具备原生的方法去匹配元素是,没有理由不优先匹配,下面看看进入Sizzle后,它是怎么优先匹配这些元素的: function ...

  10. C/C++构建系统 GNU autotool

    我们在网上经常可以看到c/c++开源的项目,其中很多都是使用GNU的构建系统进行配置和编译的,如果按照规范构造这些的步骤,有一定的门槛和复杂度,下文把关于auotools系列的工具和概要的流程简要汇总 ...