标签:权限列表 mysql测试图形工具
修改数据库管理员本机登录密码[root@localhost ~]# mysqladmin -hlocalhost -uroot -p
password "新密码"
恢复数据管理员本机登录的密码
vim /etc/my.cnf
[mysqld]
#validate_password_policy=0
#validate_password_length=6
skip-grant-tables
:wq
#systemctl restart mysqld
#mysql
mysql> update mysql.user
-> set
-> authentication_string=password("123123")
-> where
-> user="root" and host="localhost";
mysql> flush privileges;
mysql>quit
vim /etc/my.cnf
[mysqld]
validate_password_policy=0
validate_password_length=6
#skip-grant-tables
:wq
#systemctl restart mysqld
#mysql -uroot -p123123
mysql>
+++++++++++++++++++++++++
用户授权
*默认只允许数据库管理员从本机登录。
*默认只有数据库管理员在本机登录才有授权权限。
给谁授权: 管理者(运维工作人员) 使用者(网站服务器)
授权命令
mysql> grant 权限列表 on 数据库名 to 用户名;
mysql> grant 权限列表 on 数据库名 to 用户名@"客户地
址" identified by "密码" with grant option;
权限列表
all 所有权限
select,insert,update(name,age)
数据库名的表示方式:
*.* 所有库所有表
库名.* 某个库
库名.表 某张表
用户名:授权时自定义的
客户地址表示方式
% 所有主机
192.168.4.% 网段
192.168.4.7 ip地址
主机名 pc101.tedu.cn
域名 %.tedu.cn
identified by "密码" 登录密码 (可选项)
with grant option 有授权权限 (可选项)
添加yaya用户可以在本机登录,对所有库表有完全权限但不能授
权,登录密码654321
mysql> grant all on *.* to yaya@"localhost"
-> identified by "654321";
mysql> select user(); 显示当前登录的用户和客户端地址
mysql> show grants; 显示当前登录用户的访问权限
添加plj用户可以在x.x.x.254登录,对所有库表有完全权限并有
授权权限,登录密码654321
mysql> grant all on *.* to plj@"192.168.4.254"
identified by "654321" with grant option;
MySQL [(none)]> grant all on bbsdb.* to student
identified by "654321";
授权user1用户可以在网络中的任意主机连接数据库服务器,连
接后仅对userdb库下user表有查询 插入 更新权限 更新时只能
更新name字段的值,登录密码 123456;
grant select ,insert ,update(name) on userdb.user to
user1@"%" identified by "123456";
授权信息储存在mysql库下的表里
user 存储已有的授权用户
db 记录授权用户对库访问权限
tables_priv 记录授权用户对表访问权限
columns_priv 记录授权用户对表中字段的访问权限
查看一样的授权用户和登录客户端地址
select user,host from mysql.user;
管理用户查看授权用户的访问权限
mysql> show grants for 用户名@"客户端地址";
权限撤销
mysql> revoke 权限列表 on 库名 from 用户名@"客户
端地址";
撤销plj用户在x.x.x.254登录的授权权限
revoke grant option on *.* from
plj@"192.168.4.254";
撤销plj用户在x.x.x.254登录后删除表记录的权限
revoke delete on *.* from plj@"192.168.4.254";
撤销plj用户在x.x.x.254登录后所有的权限
revoke all on *.* from plj@"192.168.4.254";
删除授权用户
mysql> delete from mysql.user where user="plj" and
host="192.168.4.254"; flush privileges;
mysql> drop user plj@"192.168.4.254";
授权用户修自己的登录密码
SET PASSWORD=PASSWORD('新密码');
数据库管理重置授权用户的登录密码
SET PASSWORD for 用户@"客户端地址"=PASSWORD('
新密码');
练习
1 删除以上所有的授权用户。
2 允许254 主机可以使用数据库管理员连接数据库服务器,并拥
有管理员的权限。
grant all on *.* to root@"192.168.4.254" identified
by "123123" with grant option;
3 不允许数据库管理员在数据库服务器本机登录。
delete from mysql.user where
-> user="root" and host="localhost"; flush privileges;
4 授权webadmin用户对webdb有完全权限,并有授权权限,
在网络中所有主机都可以连接数据库服务登录密码123456
grant all on webdb.* to webadmin@"%"
-> identified by "123456" with grant option;
grant insert on mysql.* to webadmin@"%";
5 测试以上授权
6 删除以上授权并只允许数据库管理员从服务器本机登录。
grant all on *.* to root@"localhost" identified by
"123123" with grant option;
delete from mysql.user where
-> host!="localhost";
mysql> flush privileges;
+++++++++++++++++++++++++++++++++
安装mysql服务图形管理工具 phpmyadmin
137 rpm -q httpd php
138 rpm -q php-mysql
139 yum -y install httpd php php-mysql
140 rpm -q httpd php php-mysql
141 systemctl start httpd
142 systemctl status httpd
143 systemctl enable httpd
144 systemctl is-enabled httpd
145 echo 123 > /var/www/html/test.html
147 yum -y install elinks
148 elinks --dump http://localhost/test.html
149 vim /var/www/html/test.php
<?php
echo "hello boy";
?>
:wq
150 elinks --dump http://localhost/test.php
154 tar -zxvf phpMyAdmin-2.11.11-all-
languages.tar.gz
167 mv phpMyAdmin-2.11.11-all-languages
/var/www/html/phpmyadmin
168 cd /var/www/html/
171 chown -R apache:apache phpmyadmin/
172 cd phpmyadmin/
174 cp config.sample.inc.php config.inc.php
# vim config.inc.php
17 $cfg['blowfish_secret'] = 'plj123';
31 $cfg['Servers'][$i]['host'] = 'localhost';
:wq
mysql -uroot -p123123
mysql> create database gamedb;
mysql> grant all on gamedb.* to
gameuser@"localhost" identified by "123456";
mysql -hlocalhost -uroot -p123123
firefox http://192.168.4.12/phpmyadmin
gameuser
123456
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
数据备份与恢复
1 为什么对数据做备份?使用备份文件恢复数据。
2 数据备份方式?
物理备份:拷贝库或表对应的系统文件
193 tar -zcvf /opt/mysql.tar.gz
/var/lib/mysql/mysql/*
180 cp -r /var/lib/mysql/mysql /opt/mysql.bak
181 ls /opt/
182 ls /opt/mysql.bak/
183 rm -rf /var/lib/mysql/mysql
184 systemctl status mysqld
185 quit
186 cp -r /opt/mysql.bak/ /var/lib/mysql/mysql
187 cd /var/lib/mysql
188 ll
189 chown -R mysql:mysql /var/lib/mysql/mysql
190 systemctl restart mysqld
191 mysql -uroot -p123123
逻辑备份:执行备份时,根据已有的库、表、记录,生成对应的
sql 命令,把SQL保持到指定的文件里。
3 数据备份策略
完全备份:备份所有数据
一台数据库服务器的所有数据
一个库的所有数据
一张表的所有数据
差异备份:备份自完全备份后,所有新产生的数据
增量备份:备份自上次备份后,所有新产生的数据
完全
差异
增量
单独使用完全备份
完全备份+差异备份
完全备份+增量备份
方式 策略
完全备份+差异备份
周期 时间 regtab 备份文件名
1 完全 18 10 1.sql 10
2 差异 18 2 2.sql 2
3 18 5 3.sql 7
4 18 3 4.sql 10
5 4 5.sql 14
6 7 6.sql 21
7 差异 1 7.sql 22
方式 策略
完全备份+差异备份
周期 时间 regtab 备份文件名
1 完全 18 10 1.sql 10
2 增量 18 2 2.sql 2
3 18 5 3.sql 5
4 18 3 4.sql 3
5 4 5.sql 4
6 7 6.sql 7
7 增量 1 7.sql 1
完全备份
周期 时间 regtab 备份文件名
1 完全 18 10 1.sql 10
2
delete from t1;
2 18 2 2.sql 2
3 18 5 3.sql 5
4 18 3 4.sql 3
5 4 5.sql 4
6 7 6.sql 7
7 完全 1 7.sql 1
生产环境中 使用
周期性计划任务 备份脚本
30 18 * * 1 /shell/allbak.sh
++++++++++++++++++++++++++++++++
完全备份数据
mysqldump -hlocalhost -uroot -p123123 数据库名 >
目录名/名.sql
数据库名的表示方式:
--all-databases 一台数据库服务器的所有数据
库名 一个库的所有数据
库名 表名 一张表的所有数据
-B 库名1 库名2 一起备份多个库的所有数据
#mysqldump -hlocalhost -uroot -p123123 userdb t2 >
/opt/t2.sql
完全数据恢复
mysql -uroot -p123123 数据库名 < 备份文件
#mysql -uroot -p123123 userdb < /opt/t2.sql
编写脚本allbakt2.sh 功能:
把服务器上userdb库t2表的所有记录备份到本机/mybak文件夹里。使用系统日期做备份文件名例如 2017-05-25-t2.sql
#! /bin/bash
day=$(date +%F)
if [ ! –e /mydbbak ] ; then
mkdir /mydbbak
fi
mysqldump -uroot -pabc123 userdb > /mydbbak/$day-userdb.sql
标签:权限列表 mysql测试图形工具
原文地址:http://blog.51cto.com/13513556/2052950