linux shell脚本 mysql_shell 脚本实战笔记(11)--Mysql在linux下的安装和简单运维

前言:

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

安装流程:

*). 安装mysql-server

1). 借助yum检索相关的mysql rpm包

yum search mysql

5e525b3f555421d28f3ec8f7c880142b.png

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

2). 安装mysql-server

yum install mysql-server.x86_64 -y

5ae0b1ca9d5f23518968ad6d4151c08b.png

默认mysql-client也安装好

3). 启动mysql服务

/etc/init.d/mysqld start

4). 管理用户

mysql -u root -p

root用户的默认密码为空

5f90f654ee6cf22d831598a6f38b11b3.png

5). 添加用户权限

GRANT ALL PRIVILEGES ON . TO @'' IDENTIFIED BY ''

11704547f4c4773c0701476c7fe2e391.png

如图所示, 把在所有库的所有的表的所有权限赋予给(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')的联合主键

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

968e8538b340a52f7ba1521ba874d401.png

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

ac20c7e1856d1a36f17c7d6436ba1db7.png

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

2d4e14e5cd4facd13c510f85023c71ff.png

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

b14d67c185994e02fb40ded6d13db5cb.png

进行验证:

d7025c553ec3f74f138b1a2cb86dbeba.png

6). 进程分析

简单ps下相关进程

befd54b5673fea4284b9414745d4bf52.png

进程: 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, 这样也相当的方便

53a16caf3354c8e405bfe4eca5dcfa74.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值