【MySQL 流浪之旅】 第一讲 MySQL 安装
【MySQL 流浪之旅】 第二讲 MySQL 基础操作
目录
系列文章目录
一、MySQL 登陆连接
二、MySQL 基本信息查看
2.1. 查看数据库基本信息
2.2. 查看数据库连接情况
2.3. 查看数据库参数
三、MySQL 权限操作
四、MySQL 密码修改
MySQL 连接有两种方式:
mysql命令的常用参数:
- TCP/IP连接是指通过TCP/IP网络协议进行连接,通过IP+端口的方式进行连接,客户端与服务器端不在同一台机器上选择该种连接方式。
- Socket连接:在Linux和Unix环境下,可以通过socket文件进行连接,但是局限于客户端与服务端只能在同一台服务器上。
- 不指定参数的时候,默认通过socket方式登陆,且默认寻找/tmp/mysql.socket
- 两种方式指定socket文件路径:1.-S指定 2.[client]配置文件中指定
连接MySQL数据库后可以通过 \s 查看数据库基本信息:
连接MySQL数据库后可以通过 show processlist 命令查看数据库连接情况:
1. 查看会话级别的参数值
show variables like ‘%binlog_format%’;
2. 查看全局global级别的参数值
show global variables like ‘%binlog_format%’;
3. 会话级别设置参数值
set binlog_format=ROW;
4. 修改全局global级别参数值
set global binlog_format=ROW;
5. 修改配置文件
通过修改配置文件修改参数值,需要重启生效,但是可以持久有效,下次数据库重启之后,仍然从配置文件中读取参数值。
1.创建用户 user 只可以通过 192.168.0.11 特定IP进行访问:
grant all on *.* to ‘user’@‘192.168.0.11’ identified by ‘user’;
flush privileges;
2.创建用户 user 可以通过任何IP进行访问:
grant all on *.* to ‘user’@‘%’ identified by ‘user’;
flush privileges;
3.创建用户 user 通过任何IP进行访问 但是账户只可以操作 user 库:
grant all on user.* to ‘user’@’%’ identified by ‘user’;
flush privileges;
4.回收 user 用户在所有数据库上的 delete 权限:
revoke delete on *.* from ‘user’@’%’;
flush privileges;
5.回收 user 用户在 test 库上的 update 权限:
revoke update on test.* from ‘user’@’%’;
flush privileges;
权限 |
权限说明 |
CREATE |
创建数据库、表或索引权限 |
DROP |
删除数据库、表权限 |
INSERT |
插入权限 |
UPDATE |
更新权限 |
DELETE |
删除权限 |
SELECT |
查询权限 |
ALTER |
执行DDL的权限 |
INDEX |
索引相关权限 |
FILE |
执行SELECT…INTO OUTFILE权限 |
REPLICATION CLIENT |
复制权限 |
REPLICATION SLAVE |
复制权限 |
GRANT OPTION |
为其他用户赋权限的权限 |
SUPER |
Kill线程的权限 |
修改密码有以下三种方式:
--- 1.set password
set password for ‘root’@‘localhost’=password(’newpasswd’);
--- 2.mysqladmin
mysqladmin -u root password oldpass “newpass”
--- 3.修改mysql.user表
update user set password = password(‘newpasswd’) where user =‘root’;
flush privileges;
注:丢失root密码情况下采用以下方式:
- 在my.cnf配置文件中添加skip-grant-tables(跳过授权表)
- 重启数据库后修改密码