glibc安装以及安全用户角色权限

glibc安装

安装步骤

1.安装依赖库

[root@localhost ~]# yum list installed |grep libaio

2.解压查看

[root@localhost ~]# tar -xvf mysql-8.0.33-linux

glibc2.12-x86_64.tar

[root@localhost ~]# tar -xvf mysql-8.0.33-linux

glibc2.12-x86_64.tar.xz

[root@localhost ~]# ls mysql-8.0.33-linux

glibc2.12-x86_64/

3.创建⽤户

[root@localhost ~]# useradd -r -s /sbin/nologin mysql

[root@localhost ~]# id mysql

uid=27(mysql) gid=27(mysql) 组=27(mysql)

4.清空其他环境 mariadb

[root@localhost ~]# rm -rf /etc/my.cnf

5.将解压⽂件放置在根⽬录下

[root@localhost ~]# mv mysql-8.0.33-linux

glibc2.12-x86_64/ /mysql8

[root@localhost ~]# ls /mysql8/

6.切换mysql8⽬录,创建⼀个mysq

files

cd /mysql8/

mkdir mysql-files

7.修改mysql-files⽂件权限750和所属

mysql

[root@localhost mysql8]# chown mysql:mysql mysql

files/

[root@localhost mysql8]# chmod 750 mysql-files/

[root@localhost mysql8]# ls -l

8.初始化数据库,找到初始密码

[root@localhost mysql8]# ./bin/mysqld --initialize

--user=mysql --basedir=/mysql8

9.查看是否初始化成功过,可以看⽂件夹中

是否有data⽂件夹

[root@localhost mysql8]# ls

10.设置ssl安全加密连接 敏感数据

[root@localhost mysql8]# ls ./bin/*ssl*

./bin/mysql_ssl_rsa_setup

[root@localhost mysql8]# ./bin/mysql_ssl_rsa_setup

--datadir=/mysql8/data

[root@localhost mysql8]# ls ./data/

11.其他配置

[root@localhost mysql8]# cp support

files/mysql.server /etc/init.d/mysql8

[root@localhost mysql8]# ls /etc/init.d/mysql8

[root@localhost mysql8]# ls /etc/init.d/

# 默认情况下,启动⽂件认识安装⽬录在/usr/local/⽬录下

[root@localhost mysql8]# sed -n '/^basedir=/p'

/etc/init.d/mysql8

[root@localhost mysql8]# sed -i

'/^basedir=/cbasedir=/mysql8' /etc/init.d/mysql8

[root@localhost mysql8]# sed -n '/^basedir=/p'

/etc/init.d/mysql8

[root@localhost mysql8]# sed -n '/^datadir=/p'

/etc/init.d/mysql8

[root@localhost mysql8]# sed -i

'/^datadir=/cdatadir=/mysql8/data'

/etc/init.d/mysql8

[root@localhost mysql8]# sed -n '/^datadir=/p'

/etc/init.d/mysql8

12.启动服务 不能使⽤systemctl

ot@localhost mysql8]# service mysql8 start

[root@localhost mysql8]# ls /mysql8/data/*.err

13.常⻅问题

1. 为什么要删除/etc/my.cnf⽂件

```

数据库初始化时候,会⾃动找my.cnf配置,但是原有的mariadb配

置⽂件,会失败

```

2. mysql-files⽂件夹

```

⽬前么有⽤,必须创建,可能导致⽆法启动,数据的备份和还原,导

⼊和到处所指定的默认⽬录

```

3. 判断数据库初始化成功

```

数据库的安装容易出错的地⽅是初始化,⽆法正常启动,确认⽅式

安装⽬录下是否⽣成data⽬录

```

4. 为什么要修改mysql.server放在/etc/init.d⽬录下

```

不放也可以,但是就⽆法使⽤service mysql8 start启动

只能使⽤bin/mysqld可执⾏⽂件启动

```

5. 为什么需要修改basedir和datadir

```

glibc是⼆进制绿⾊版本,默认配置很多,需要修改

```

6. 开机启动

```shell

[root@localhost mysql8]# chkconfig --list

注:该输出结果只显示 SysV 服务,并不包含

原⽣ systemd 服务。SysV 配置数据

可能被原⽣ systemd 配置覆盖。

要列出 systemd 服务,请执⾏ 'systemctl list

unit-files'。

查看在具体 target 启⽤的服务请执⾏

'systemctl list-dependencies [target]'。

netconsole 0:关 1:关 2:关 3:关 4:关 5:关 6:关

network 0:关 1:关 2:开 3:开 4:开 5:开 6:关

# 添加开机启动

[root@localhost mysql8]# chkconfig --add mysql8

#查看启动该列表

[root@localhost mysql8]# chkconfig --list

注:该输出结果只显示 SysV 服务,并不包含

原⽣ systemd 服务。SysV 配置数据

可能被原⽣ systemd 配置覆盖。

要列出 systemd 服务,请执⾏ 'systemctl list

unit-files'。

查看在具体 target 启⽤的服务请执⾏

'systemctl list-dependencies [target]'。

# 启动2345

[root@localhost mysql8]# chkconfig mysql8 on

[root@localhost mysql8]# chkconfig --list

注:该输出结果只显示 SysV 服务,并不包含

原⽣ systemd 服务。SysV 配置数据

可能被原⽣ systemd 配置覆盖。

要列出 systemd 服务,请执⾏ 'systemctl list

unit-files'。

查看在具体 target 启⽤的服务请执⾏

'systemctl list-dependencies [target]'。

mysql8 0:关 1:关 2:开 3:开 4:开 5:开 6:关

netconsole 0:关 1:关 2:关 3:关 4:关 5:关 6:关

network 0:关 1:关 2:开 3:开 4:开 5:开 6:关

# 3是字符界⾯,5是图形界⾯

```

## 14 .mysql glibc版本后续设置

1. 修改密码1

```shell

[root@localhost mysql8]# ./bin/mysqladmin -uroot

password '123' -p

Enter password:

2. 修改密码2

```shell

mysql> set password='456';

mysql> flush privileges;

[root@localhost mysql8]# ./bin/mysql -uroot -p456

3. 将mysql的bin⽬录添加到环境变量中

```shell

[root@localhost mysql8]# sed -i '$aexport

PATH=/mysql8/bin/:$PATH' /etc/profile

[root@localhost mysql8]# sed -n '$p'

/etc/profile

export PATH=/mysql8/bin/:$PATH

[root@localhost mysql8]# source /etc/profile

[root@localhost mysql8]# which mysql

/mysql8/bin/mysql

[root@localhost mysql8]# mysqld

4. 配置⽂件

```shell

[root@localhost mysql8]# fg

vim ./my.cnf

[mysqld]

basedir=/mysql8

datadir=/mysql8/data

socket=/tmp/mysql.sock

#重启服务

[root@localhost mysql8]# service mysql8 restart

# 查看套接字⽂件

[root@localhost mysql8]# ll /tmp/

# 有套接字⽂件,就可以链接mysql服务

[root@localhost mysql8]# mysql -uroot -p456

14. 安全配置 ⽣产环境

[root@localhost mysql8]# mysql_secure_installation

# ⼀路y下去 改密码,不允许远程等等

[root@localhost mysql8]# mysql -uroot -p456

安全用户角色权限

$PATH

搞系统设置设置⾥头path

⽬标包含mysql 可执⾏⽂件,那么就是由使⽤

在终端使⽤

./bin/mysql -h192.168.71.164 -P3306 -uroot -proot

1.远程登录前提条件是mysql.user表中的host属性为%,如果是

localhost就不允许远程登录,update mysql.user set host="%"

where user="root",flush privileges;

2.远程管理,可以使⽤图形化⼯具,sqlyog,navicat,掌握命令⼯

具,客户端⼯具 mysql

3.mysql -h192.168.71.129 -P3306 -uzhangmin -pZhang_min123

-h 主机 ip或者是域名 如果是localshost或者是127.0.0.1可省略

-P 端⼝ 默认是3306,如果是默认的,可以省略-u ⽤户名

-p 密码,可以不换⾏直接输⼊,也可以换⾏ 不回显输⼊密码

创建账户

create user 'zhangmin'@'%' identified by

'Zhang_min123';

给权限

grant all on *.* to 'zhangmin'

创建库

create database if not exists test;

创建表

use test;

create table user(

id int primary key,

username varchar(45) not null,

password varchar(45) not null

);

添加数据

insert into test.user values(1,"zhangsan","123");

insert into test.user values(2,"lisi","456");

insert into test.user values(3,"wamngwi","789");

insert into test.user values(4,"zhaoliu","aaa");

添加lilaosi账号,修改密码,查看mysql.user中的lilaosi的信息

mysql> create user 'lilaosi'@'%' identified by

'lilaoshi_123';

ERROR 1819 (HY000): Your password does not satisfy

the current policy requirements

mysql> create user 'lilaosi'@'%' identified by

'Lilaoshi_123';

mysql> alter user 'lilaosi'@'%' identified by

'Lilaosi_123';

mysql> select host,user from mysql.user;

使⽤root账号,为lilaosi账号添加test库存中所有的表的所有权限

grant all on test.* to 'lilaosi';

# lilaosi就获得了test库中所有的表的操作权限,但是,由于

root没有个lilaosimysql库的权限,所以lilaosi账号⽆法查看

mysql库

1.密码安全策略

查看密码策略

mysql> show variables like 'validate%';

修改策略

mysql> set global validate_password.length=0;

mysql> set global validate_password.policy=LOW;

mysql> show variables like 'validate%';

2.⽤户

创建⽤户

练习

创建三个账号,abc[abcd],ccc[a1b2c3] ,ddd[231343]

<mysql> create user 'efg'@'%' identified by 'efg';

ERROR 1819 (HY000): Your password does not satisfy

the current policy requirements

mysql> create user 'efgh'@'%' identified by 'efgh';

mysql> select host,user from mysql.user;

删除⽤户

mysql> drop user 'zhangmin';

mysql> select user from mysql.user;

修改⽤户

mysql> alter user 'zhangmin' identified by

'abc123';

练习

abc。ccc。ddd三个账号的密码修改为1234

查看⽤户

3.⻆⾊

创建⻆⾊

mysql> create role 'a';

mysql> show grants for 'a';

4.权限

刷新权限

mysql> flush privileges;

为root账号添加权限

mysql> grant system_user on *.* to "root";

mysql> show grants for 'root';

修改权限

mysql> show grants for "efgh";

删除权限

mysql> revoke all on *.* from "efgh";

mysql> show grants for "efgh";

  • 5
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值