mysq 数据库03 账号管理/日志管理/解决乱码问题

提示:【mysq 01】:主窗口    【mysq 01-1】:副窗口

一、创建新账户并授权: 必须是超户root

1、创建新账户并授权:grant 命令

【mysq 01】:

登陆位置:ip地址(仅以此ip远程登录)/localhost(仅服务器本地本地登录)/%任意位置,远程本地均可。

库和表定位:*.* 所有库中的所有表;mysql.*   mysql库中的所有表

授权:即赋予账户何种权限:①all所有权限②select查③create增④update改⑤drop删库或表/dalete删内容

通配符:①%任意一个或多个字符②_任意一个字符

例1、grant all on *.* to 'zzz'@'192.168.71.143' identified by '123123';

例2、grant all on mysql.* to 'aaa'@'localhost' identified by '123123';

例3、grant select on mysql.* to 'aaa'@'%' identified by '123123';

查看最新用户列表:select user,host,password from mysql.user;

登录账户:【mysq 01-1】:

1、mysql -uzzz -p123123 -h localhost  标绿可不写,均为默认服务器本地登录

mysql -uzzz -p123123 -h 192.168.71.143   此账户以此ip远程登录mysql

案例1

【mysq 01】:创建aaa用户

grant all on mysql.* to 'aaa'@'192.168.71.143' identified by '123123';     新建账号aaa并只给其执行mysql库的所有表权限

【mysq 01-1】:登aaa账户 mysql -uaaa -p123123 -h 192.168.71.143;

show databases;    查看数据库中都有哪些库

use mysql;    选则mysql库

show tables;  执行后发现近可查看mysql库数据,看不到其他库中数据

select * from mysql.proc;    查看mysql库中的proc表

二、查看/修改/撤销账号权限  必须是超户root

1、查看账号权限:show grants;命令

语法:show grants for '账号名'@'来源位置';

show grants for 'aaa'@'locaihost'; 查看用户名aaa且以本地登录的账号权限

show grants for 'aaa'@'192.168.71.143';

show grants for 'aaa'@'%';

2、撤销账号权限: revoke命令       revoke    on    from  

语法:revoke 权限 on 库名.表明 from '账号名'@'来源位置';

①revoke drop,update on mysql.proc from 'aaa'@'192.168.71.143';

②flush privileges  立即刷新权限,必须刷新

检验:show grants for 'aaa'@'192.168.71.143';   查看aaa权限

三、用户账号管理     ①②③④  

3.1、重命名账号(给账号改名):rename 命令

语法:rename user '旧名'@'登录来源' to '新名'@'登录来源';

(提示:可以只改账号名,也可以只改登录来源,也可以账号名和登录来源都该)

select user,host,password from mysql.user;   查看当前所有账户,发现已改

3.2、修改账户密码:

3.2.1方案一:不能直接用update,因update修改后内容未加密无法登录

正确用法:update套用password('新密码')参数

语法:update mysql.user set password=password('新密码') where user='账户名';

【mysq 01】:

①update mysql.user set password=password('123') where user='yun';

②flush privileges  立即刷新权限,必须刷新

【mysq 01-1】:③检验登录:mysql -uyun -p123 -h 192.168.71.143;

3.2.2方案二:给当前登陆账户修改密码(不用update

【mysq 01】:语法:set password=password('新密码');

①select user();   查看当前登录用户,得知当前用户为root

②set password=password('123');  将新密码改为123

③flush privileges  立即刷新权限,必须刷新

【mysq 01-1】:④检验登录:mysql -uroot -p123 -h 192.168.71.143;

3.2.3方案三:给其他账户修改密码(不用update)必须是超户root

语法:set password for '用户名'@'登陆来源' =password('新密码');

【mysq 01】:

①select user();    查看当前登录用户,得知当前用户为root

②set password for 'yun'@'192.168.71.143' =password('123');

③flush privileges  立即刷新权限,必须刷新

【mysq 01-1】:④检验登录:mysql -uyun -p123 -h 192.168.71.143;

3.2.4忘记密码时的解决办法:详见教案第六册-MySQL数据库.pdf第39页

3.3、删除账户:【mysq 01】:drop user 'zzz'@'192.168.71.143';

等效于delete from mysql.user where user='zzz';

四、mysql日志管理 (四种日志默认路径均为/usr/local/mysql/data)

1、错误日志:

vim /etc/my.cnf    打开配置文件,在[mysqld]模块下添加以下语句:

log-error = mysql_error.log    保存退出。

(提示:log-error记录错误指令,mysql_error.log为保存路径,默认在/usr/local/mysql/data下,但工作中可能会指定到其他路径。

/etc/init.d/mysqld restart     重启即可生效。

cat /usr/local/mysql/data/mysql_error.log   查看错误日志

2、通用查询日志:工作中默认关闭,因其记录所有连接和增删改查命令,常用于测试阶段,占用较大。如需开启请修改配置文件。开启方式:

vim /etc/my.cnf    打开配置文件,在[mysqld]模块下添加以下语句:

log = on            开启此日志

log = /usr/local/mysql/data/mysql_genneral.log   保存路径,保存退出

/etc/init.d/mysqld restart     重启即可生效。

tail -f /usr/local/mysql/data/mysql_genneral.log    发现此日志记录了自首次安装启动mysql起对mysql执行的所有命令。

3、二进制日志:默认已开启,无需编辑,只记录对数据产生改变的语句,不记录不改动数据库的语句(即只记录增删改,但不记录查。)(这是下节课重点)

vim /etc/my.cnf    打开配置文件,查看[mysqld]模块下:

log-bin = mysql-bin     系统默认就有这个,不用编辑

cd /usr/local/mysql/data/

mysqlbinlog mysql-bin.000001  打开此日志。mysqlbinlog,查询通用日志命令

4、慢速查询日志:工作中常用,建议自行扩展。

某些mysql语句执行太慢影响用户体验和效率,日志会记录此类语句到默认路径为/usr/local/mysql/data/ mysql_slow.log文件下,提交开发后可供开发改进优化,无需运维改动。  开启方式:

vim /etc/my.cnf    打开配置文件,在[mysqld]模块下添加以下语句:

long_query_time = 5   按须设定界定为慢速的时间,单位s,秒

log-slow-queries = mysql_slow.log    保存退出

/etc/init.d/mysqld restart      重启即可生效。

ll /usr/local/mysql/data/ mysql_slow.log  查看有无慢速日志,有则递交开发,无需运维改动。

五、mysql数据库乱码解决办法

vim /etc/my.cnf    打开配置文件,在[mysql]模块下添加以下语句:

default-character-set = utf8    保存退出

/etc/init.d/mysqld restart      重启即可使中文字符集生效。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值