【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(跳过授权表)
- 重启数据库后修改密码