目录python
前提:链接上数据库之后mysql
查看当前登陆的用户:select user();
sql
root权限下能够查看全部用户信息数据库
select * from mysql.user
;显示全部的user的信息,一大堆的字符服务器
* from mysql.user \G
;显示全部用户本身的字段ide
select user,password,host from mysql.user
显示用户的user,password,host这三个字段编码
root登录下,删除游客(操做后要从新启动mysql服务)code
能够先查看全部的游客用户,而后删除某一个游客用户,where +条件server
delect from mysql.user where user='';
排序
在没有登陆的状况下去修改
mysqladmin -u用户名 -p旧密码 -h域名 password "新密码"
mysql -uroot -p123 -hlocalhost password "456" 将123密码改成456
在root登陆后修改
mysql> set password for 用户名@localhost = password('新密码');
mysql> set password for root@localhost = password('123');
因为咱们再登陆mysql的时候,建立数据库默认的编码都是为‘’latin1‘’,这个时候当咱们再数据库中存储中文的时候会致使乱码问题
经过配置文件将mysql的服务端的编码设置为‘utf8’,之后建立数据库的时候默认编码为‘utf8’,而不会致使乱码问题
再mysql安装的根目录下建立配置文件my.ini
设置配置文件内容并保存
[mysqld] # 服务器配置 port=3306 # 能够修改数据库默认端口(若是数据库端口被其余软件占用) character-set-server=utf8 # 编码格式 collation-server=utf8_general_ci # 排序方式(默认跟编码格式走) [client] # mysql本身的客户端叫[mysql],配置[client]即配置了[mysql],也配置了其余存在方式的客户端,好比Navicat可视化客户端 default-character-set=utf8 # 编码格式
重启数据服务
特殊表(mysql.user)基本操做:登陆root权限之后,建立的全部用户权限都是存在mysql.user
特殊表里面的
grant all on database.* to xxx@'localhost' identified by 'xxx123';
grant select.delete,update,insert ,drop,alter on database.* to xxx@'localhost' indentified by 'xxx123';
语法:revoke 权限1,权限2,··· on 数据库名.表名(*所有表) from 用户@'主机名';
实例:revoke all on database.* from xxx@'localhost';
drop user 用户名@'主机名'