文档章节

Centos 使用 mysql 服务

诸葛孔明亮
 诸葛孔明亮
发布于 2016/11/04 17:09
字数 1040
阅读 33
收藏 1
点赞 0
评论 0

前言

    由于数据库一直用的是 阿里云的 RDS,公司的网访问阿里云又是龟速,所以用了一会还是决定在本地搭建一台 mysql 服务器。

    mysql 被 oracle 收购之后,下载 mysql 就需要 oracle 账号了,社区版变成了两种 mysql-community-server 和 mariadb,mariadb 据说是 mysql 社区为了防止 oracle 不再开源 mysql 而建的一个分支,完全兼容 mysql。

    yum 上面一般都是这个 mariadb,mysql-community-server 则需要从 mysql 的官网下载。

 

安装 mariadb

    yum install mariadb-server mariadb

    vim /etc/my.cof 

    添加默认编码:

    [mysql]

    default-character-set = utf8

    启动 mariadb:

    systemctl restart mariadb 

 

rpm 安装 mysql-community

    官网下载 mysql-community-server 的 rpm,默认 yum 源是没有 mysql 社区版的,需要手动添加:

    wget http://dev.mysql.com/get/mysql-community-release-el7-5.noarch.rpm

    rpm -ivh mysql-community-release-el7-5.noarch.rpm

    yum install mysql-community-server

    添加默认编码:

    vim /etc/my.cof

    [mysql]

    default-character-set = utf8

    启动 mariadb:

    systemctl restart mysqld

 

初始化

    刚安装的 mysql 提供了一个无密码的 root 用户,需要设置密码:

    mysqladmin -u root password "123456";

 

    创建数据库:

    mysqladmin -u root -p create test_database;

    这样创建了一个 test_database 的数据库;

 

    添加用户:

    mysql -u root -p 

    root 用户连接数据库,切换到 mysql 数据库:

    mysql> use mysql;

    然后将新建的用户插入到 user 表中即可:

    insert into user (host, user, password) values ('test1', 'guest', PASSWORD('111111'));

    这里注意密码需要用自带的 PASSWORD() 函数加密,这样在数据库中显示的就为密文。

    user 表中还有许多其他列,是关于用户权限的,可自行 update;

 

    这样一个简单默认配置的 mysql 数据库就搭建好了,优化才是重点,也是发挥数据库这个强大性能怪兽的钥匙,一个好的数据库架构完全可以接起一个系统很大一部分的业务逻辑,而且处理速度飞快。

    数据库给我的感觉就是放在硬盘中的内存,堆栈思想很多,数据交给 mysql,缓存交给 redis,你的系统就不会慢。

 

Mysql 权限控制-允许用户远程登录

    Mysql 为了安全性,在默认情况下用户只能允许本地登录,远程登录需要添加权限,redis 曾经就出现过因为免密码远程登录获取 root 权限的漏洞。

[root@master ~]# mysql -u root -p
Enter password:
Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 9
Server version: 5.5.52-MariaDB MariaDB Server

Copyright (c) 2000, 2016, Oracle, MariaDB Corporation Ab and others.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

MariaDB [(none)]> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '111111' WITH GRANT OPTION;  
# ALL PRIVILEGES 为全部权限(SELECT、INSERT、UPDATE、DELETE) *.* 匹配所有库,'root'@'%' root 对应公网,只允许特定 IP 可 'root'@'192.168.1.1' 

MariaDB [(none)]> FLUSH PRIVILEGES; # 重载授权表;

    删除用户授权,需要使用REVOKE命令,具体命令格式为: REVOKE privileges ON 数据库[.表名] FROM user-name; 具体实例,先在本机登录mysql: mysql -u root -p"youpassword" 进行授权操作: GRANT select,insert,update,delete ON TEST-DB TO test-user@"172.16.16.152" IDENTIFIED BY "youpassword"; 再进行删除授权操作: REVOKE all on TEST-DB from test-user; ****注:该操作只是清除了用户对于TEST-DB的相关授权权限,但是这个“test-user”这个用户还是存在。 最后从用户表内清除用户: DELETE FROM user WHERE user="test-user"; 重载授权表: FLUSH PRIVILEGES; 退出mysql数据库: exit

    MYSQL权限详细分类: 全局管理权限: FILE: 在MySQL服务器上读写文件。 PROCESS: 显示或杀死属于其它用户的服务线程。 RELOAD: 重载访问控制表,刷新日志等。 SHUTDOWN: 关闭MySQL服务。 数据库/数据表/数据列权限: ALTER: 修改已存在的数据表(例如增加/删除列)和索引。 CREATE: 建立新的数据库或数据表。 DELETE: 删除表的记录。 DROP: 删除数据表或数据库。 INDEX: 建立或删除索引。 INSERT: 增加表的记录。 SELECT: 显示/搜索表的记录。 UPDATE: 修改表中已存在的记录。 特别的权限: ALL: 允许做任何事(和root一样)。 USAGE: 只允许登录--其它什么也不允许做。

 

    

    

 

 

 

 

 

 

 

 

 

 

 

 

    

 

    

© 著作权归作者所有

共有 人打赏支持
诸葛孔明亮
粉丝 1
博文 63
码字总数 53931
作品 0
浦东
运维
LNMP架构介绍、MySQL安装、PHP安装与Nginx介绍

LNMP架构介绍 和LAMP不同的是,提供web服务的是Nginx 并且php是作为一个独立服务存在的,这个服务叫做php-fpm Nginx直接处理静态请求,动态请求会转发给php-fpm ***LNMP(Linux-Nginx-MySQL...

杉下 ⋅ 01/10 ⋅ 0

MySQL安装与应用【Linux下的安装与配置】

Linux下的安装与配置 如果所安装的Linux系统没有内置的MySQL,笔者建议在Linux中使用RPM包来安装MySQL,同样这也是MySQL官方提供的建议。笔者接触最多的Linux系统是Radhat的“近亲”:CentO...

晨曦之光 ⋅ 2012/03/09 ⋅ 0

Mysql主从复制

Mysql主从复制 背景: Mysql可以实现主从复制,在学习了Mysql主从复制后,将一些如何主从复制过程记录下来,供以后复习使用。 准备: 在做Mysql的主从复制前需要做一些准备工作: 1、同步时间...

657188918 ⋅ 2017/11/13 ⋅ 0

使用Flask结合python实现多台服务的内存监控

使用Flask结合python实现多台服务的内存监控 简介:使用flask结合python可以很好的实现服务资源的监控,而且Flask是一个使用 Python 编写的轻量级 Web 应用框架。其 WSGI 工具箱采用 Werkze...

听雨x ⋅ 2017/11/29 ⋅ 0

yum安装最新的mysql

通常在使用Yum安装MySQL时,centos6默认安装的是伴随OS发布的旧MySQL版本,centos7安装的MariaDB。之前要安装最新的MySQL版本,你必须去Oracle的MySQL主页,下载最新的发布版本,然后编译安装...

hiwill ⋅ 2015/09/09 ⋅ 0

Zabbix监控系列之环境搭建——LAMP

好久没有发表博文了,感觉有点对不住51CTO和自己,嘿嘿~~ 近期公司要安装监控服务器,正好趁此机会,将流程系统梳理下,制成文档,分享众人!我觉得这事儿利人利己,也便于自己以后复习使用!...

longsir1989 ⋅ 2016/08/03 ⋅ 0

使用RPM包离线安装MariaDB 10.0.20 , 基于CentOS 6.6-x86-64

使用RPM包[离线]安装 MariaDB 10.0.20,基于CentOS 6.6-x86-64 Minimal 湘中朱生 2015-07-01 于深圳福田 QQ: 872007255 MariaDB交流群: 198111730 文档说明: 1. 网上有很多关于MariaDB/Mysql...

湘中朱生 ⋅ 2015/07/04 ⋅ 1

CentOS下无法正常获取MySQL数据库表数据的问题

之前,由于客户要求在centOS下安装系统应用,因此有机会接触了一下CentOS,顺便也了解了下CentOS的常规操作,还有在CentOS下的MySQL相关操作。 目前技术框架使用JSF(richfaces、facelets)+...

晨曦之光 ⋅ 2012/03/09 ⋅ 0

二进制编译安装mysql(centos6、7)和源码编译bind

一、二进制编译安装mysql centos6、7大体上都是相同的,只是有几步不同也都标记出来了,具体步骤如下: ①下载安装包并导入到centos里进行解压。 ②创建软连接或者修改mariadb-10.2.8-linux-...

LUksl ⋅ 2017/10/16 ⋅ 0

Wordpress与Discuz

httpd访问的资源有两种,静态资源以及动态资源;静态资源有我们常见的图片,jsp,音乐,音频等,而动态资源指的是一些需要经过编译执行代码来实现的资源类型,需要数据库MySQL或MariaDB来辅助...

wujunqi1996 ⋅ 2017/09/05 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

Linux kernel脉络和主干总结

写在前面 前人常说,对Linux操作系统/内核的理解,是计算机行业从业者的内功,决定了你在技术领域想走多远。但内核的庞大以及学习曲线之陡峭,总让我在学习途中觉得犹如“管中窥豹”。 随着工...

Markz0928 ⋅ 11分钟前 ⋅ 0

在gcc中使用intel风格的内联汇编

很简单,内联汇编使用asm(“.intel_syntax noprefix/n”)声明一下,以后的内联汇编就可以用intel风格了,构建可执行文件时给gcc加上-masm=intel参数。 先写一个小程序测试一下: [cpp] view...

simpower ⋅ 21分钟前 ⋅ 0

NIO 之 ByteBuffer实现原理

相关文章 BIO、NIO、AIO 内部原理分析 NIO 之 Selector实现原理 NIO 之 Channel实现原理 前言 Java NIO 主要由下面3部分组成: Buffer Channel Selector 在传统IO中,流是基于字节的方式进行...

轨迹_ ⋅ 30分钟前 ⋅ 0

Jenkins docker权限问题

环境Ubuntu Server 工具 jenkins-war:2.89.2 报错信息 Cannot connect to the Docker daemon. Is the docker daemon running on this host?Build step 'Execute shell' marked build as fai......

Pulsar-V ⋅ 30分钟前 ⋅ 0

180621-一个简单的时间窗口设计与实现

如何设计一个计数的时间窗口 时间窗口,通常对于一些实时信息展示中用得比较多,比如维持一个五分钟的交易明细时间窗口,就需要记录当前时间,到五分钟之前的所有交易明细,而五分钟之前的数...

小灰灰Blog ⋅ 53分钟前 ⋅ 0

Android之Dalvik、ART、JIT、AOT

Android之Dalvik、ART、JIT、AOT 本文内容:Dalvik、ART、JIT、AOT之间关系 本文定位:知识记录 学习过程记录,加深理解,提升文字组合表达能力。也希望能给学习的同学一些灵感 本文整理于[...

lichuangnk ⋅ 57分钟前 ⋅ 0

Thrift RPC实战(五) thrift连接池

Thrift本身没有提供连接池,我们可以用Apache Commons Pool2来实现一个 一、定义对象工厂 BasePooledObjectFactory<T> extends BaseObject implements PooledObjectFactory<T> public class......

lemonLove ⋅ 57分钟前 ⋅ 0

git 命令简写

简写 命令 g git gst git status gd git diff gdc git diff --cached gdv git diff -w "$@" | view - gl git pull gup git pull --rebase gp git push gc git commit -v gc! git commit -v ......

charley158 ⋅ 今天 ⋅ 0

Java中的锁使用与实现

1.Lock接口 锁是用来控制多个线程访问共享资源的方式,一般来说,一个锁能够防止多个线程同时访问共享资源。 在Lock出现之前,java程序是靠synchronized关键字实现锁功能的,而Java SE5之后,...

ZH-JSON ⋅ 今天 ⋅ 0

Intellij IDEA神器常用技巧四-类和方法注释模板设置

IDEA自带的注释模板不是太好用,我本人到网上搜集了很多资料系统的整理了一下制作了一份比较完整的模板来分享给大家,我不是专业玩博客的,写这篇文章只是为了让大家省事。 这里设置的注释模...

Mkeeper ⋅ 今天 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部