前言:

  linux中安装mysql以及配置的管理, 基础的运维和管理还是需要会一些的. 这边作下笔记, 以求天天向上(^_^).

安装流程:
*). 安装mysql-server
1). 借助yum检索相关的mysql rpm包
yum search mysql

mysql-server.x86_64 正是我们想要的

2). 安装mysql-server
yum install mysql-server.x86_64 -y

默认mysql-client也安装好

3). 启动mysql服务
/etc/init.d/mysqld start

4). 管理用户
mysql -u root -p
root用户的默认密码为空

5). 添加用户权限
GRANT ALL PRIVILEGES ON <database_name>.<table_name> TO <username>@'<ip>' IDENTIFIED BY '<password>'

如图所示, 把在所有库的所有的表的所有权限赋予给(username='hiveuser', password='hivepass'), 而且登录地址不受限.
其实, 权限表, 在mysql.user表中定义

mysql> show create table mysql.user\G;
Create Table: CREATE TABLE `user` (
  `Host` char(60) COLLATE utf8_bin NOT NULL DEFAULT '',
  `User` char(16) COLLATE utf8_bin NOT NULL DEFAULT '',
  `Password` char(41) CHARACTER SET latin1 COLLATE latin1_bin NOT NULL DEFAULT '',
  # 中间省略....
  PRIMARY KEY (`Host`,`User`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_bin COMMENT='Users and global privileges'

注意: PRIMARY KEY为('Host', 'User')的联合主键

用户验证, 密码为加密密码

mysql-server部署在tw-node6机器上, 在另一台及其tw-node7登录进行验证

但本地mysql client去连mysql server缺总是失败?

看来'%'并不包含本地, 需要额外的添加ip为'localhost'的才行

进行验证:

6). 进程分析
简单ps下相关进程

进程: mysqld 是真正的mysql服务进程
进程: mysqld_safe, 其实是mysqld服务进程的监控脚本, 用于启动, 并且在mysqld退出以后, 重启服务, 该角色类似于大名鼎鼎的supervise

[root@tw-node6 ~]# file /usr/bin/mysqld_safe
/usr/bin/mysqld_safe: POSIX shell script text executable
[root@tw-node6 ~]# file /usr/libexec/mysqld
/usr/libexec/mysqld: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.18, stripped

而/etc/init.d/mysqld就是调用/usr/bin/mysqld_safe, 从而间接启动mysqld服务的

7). 配置管理
在编辑/etc/my.cnf

[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
user=mysql
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0 [mysqld_safe]
log-error=/var/log/mysqld.logskip-name-resolve
pid-file=/var/run/mysqld/mysqld.pid

这边的省略了很多配置项
比如在[mysqld]下的skip-grant-tables, 当管理员忘记帐号密码的时候, 可以借助这个来恢复.
比如在[mysqld]下的skip-name-resolve, 避免域名解析, 防止外部机器连接mysql-server后, 导致慢查询
socket=/var/lib/mysql/mysql.sock, 即mysql.sock, 用于可以借助mysql.sock来连接mysql服务
比如 mysql -S /var/lib/mysql/mysql.sock, 这样也相当的方便

shell 脚本实战笔记(11)--Mysql在linux下的安装和简单运维的更多相关文章

  1. shell 脚本实战笔记(9)--linux自动批量添加用户

    前言: 添加linux用户帐号,这个相对简单, 在面对集群, 许多机器的时候, 我们该如何去做和实现? 这篇短文, 简单讲解一些思路, 尽可能地涉及周边的一些知识点. 不光是运维人员会面临这个问题, ...

  2. shell 脚本实战笔记(10)--spark集群脚本片段念念碎

    前言: 通过对spark集群脚本的研读, 对一些重要的shell脚本技巧, 做下笔记. *). 取当前脚本的目录 sbin=`dirname "$0"` sbin=`cd &quo ...

  3. mysql在linux下的安装

    安装环境:系统是 centos6.5 1.下载 下载地址:http://dev.mysql.com/downloads/mysql/5.6.html#downloads 下载版本:我这里选择的5.6. ...

  4. mysql在linux下的安装(5.7版本以后)

    1.添加mysql组和mysql用户,用于设置mysql安装目录文件所有者和所属组. ①groupadd mysql ②useradd -r -g mysql mysql 2.将二进制文件解压到指定的 ...

  5. OpenCV入门笔记(一) Linux下的安装

    关于OpenCV,有中文的官方站点.里面翻译了官网的教程和API等.中文官方Tutorials见这里:[Tutorials] 一.Ubuntu下的安装 能够选择直接从库里安装,或者手动编译安装,请參考 ...

  6. Mysql 在Linux下的安装

    1.获取mysql源码 wget http://dev.mysql.com/get/Downloads/MySQL-5.5/mysql-5.5.49.tar.gz 3.添加mysql用户和用户组,创建 ...

  7. shell 脚本实战笔记(4)--linux磁盘分区重新挂载

    背景: Hadoop的HDFS文件系统的挂载, 默认指定的文件目录是/mnt/disk{N}. 当运维人员, 不小心把磁盘挂载于其他目录, 比如/mnt/data, /mnt/disk01, /mnt ...

  8. shell 脚本实战笔记(1)--source/fork/exec的区别

    在linux shell编程中, 随着脚本处理规模的变大, 会嵌套调用子进程. 但父进程以不同的方式调用子进程, 其结果和背后的机制不尽相同.这边就简单描述下source/fork/exec调用子进程 ...

  9. shell 脚本实战笔记(2)--环境变量PATH的恩怨情仇

    在linux环境下, 相信大家对环境变量PATH, 多多少少有所接触, 这边讲讲PATH的在linux的前世因缘. 先讲讲一个列子 假如我们在为一个新的应用配置其PATH路径中时,  不小心忽略了原先 ...

随机推荐

  1. nohup 与 &

    &的意思是在后台运行, 什么意思呢?  意思是说, 当你在执行 ./a.out & 的时候, 即使你用ctrl C,  那么a.out照样运行(因为对SIGINT信号免疫). 但是要注 ...

  2. API接口自动化之1 常见的http请求

    常见的HTTP请求 就我所想到的,目前如果想做http/https请求接口自动户化,要处理的一些区别 get请求post请求 httphttps 单个值键值对键值对的搭配方式 POST请求体,后续讲一 ...

  3. 《Robot Framework自动化测试修炼宝典》道长

    1. Python下载https://www.python.org/downloads 2. Setuptools下载https://pypi.python.org/pypi/setuptools用原 ...

  4. C#异常信息获取

    try { ; / i; } catch (Exception ex) { /** * 1.异常消息 * 2.异常模块名称 * 3.异常方法名称 * 4.异常行号 */ String str = &q ...

  5. splay板子

    1, splay的一些基本操作. 使用前要插入$-INF,+INF$保证每个点的前驱后继存在. $get$函数在$x$存在时, 调用后, 根为$x$, 否则根为$x$的前驱或后继 const int ...

  6. CentOS7 install apache

    1. yum install httpd 2. config /etc/httpd/conf/httpd.conf <VirtualHost *:80>  ServerName www.l ...

  7. jquery添加类

    一.addClass() 方法向被选元素添加一个或多个类. 1.对P元素添加一个intro类.<!DOCTYPE html><html><head lang=" ...

  8. HDU-1548 A strange lift(单源最短路 或 BFS)

    Problem Description There is a strange lift.The lift can stop can at every floor as you want, and th ...

  9. spting Boot 创建一个springBoot项目

    spting Boot 创建一个springBoot项目 1)学习springBoot使用软件:IDEA软件(前面的文章有安装idea的过程). 也可以使用另一种方法在https://start.sp ...

  10. 在linux中,如何增加、修改、删除、暂停和冻结用户名

    在Linux中,如何增加.修改.删除.暂停和冻结用户名 在操作增加.修改和删除用户名前,先认识linux中两个最重要的文件,它们就是账号管理最重要文件“/etc/passwd”与“etc/shadow ...