002-mysql 基本操作

mysql 基本操作

本文章是基于 mysql 5.7。

mysql 数据库默认使用 InnoDB 引擎 和 latin1 编码。
当前 mysql 数据库是什么编码,建的表默认就是什么编码(不显示指定编码时)。

1、常用命令

mysql 启动 - 停止 - 重启

etc/init.d/mysql restart
etc/init.d/mysql start
etc/init.d/mysql stop

查看

查看数据库版本:select version();
查看数据库所有支持的引擎:show engines;
查看数据库当前引擎:show variables like '%storage_engine%';
查看数据库创建语句:show create database testdb;
查看数据库编码:show variables like 'char%';

创建库/表

创建数据库,并指定编码:create database testdb charset utf8mb4 collate utf8mb4_general_ci;
创建表,并指定编码:create table user( ) ENGINE=innodb charset=utf8mb4;

修改

修改引擎:alter table user engine=innodb;
修改数据库编码:alter database testdb charset = utf8;
修改表编码:alter table user charset = utf8;
新增、修改、删除 字段:
alter table user add dtime date;
alter table user modify dtime year NOT NULL;
alter table user drop dtime;
修改表名:alter table user rename tuser;
修改字段名及类型:alter table user change ctime email varchar(30);


insert 小技巧
1)对于自增长 id,插入时插入0,数据库会自己判断设置自增长值。
2)对于日期/时间字段,插入时插入对应格式的日期/时间字符串即可,不需要先转化成日期/时间格式。
insert into user values(0,'tom',10,'2017-03-25 10:07:37');
insert into user values(0,'kitty',3,'2017-05-21 15:30:08','2017-06-20');
3)对于密码字段或需要加密的字段,可以使用 password() 方法
insert into user(name,pwd) values('libai',password('ab123456'));

2、用户

1)创建用户
mysql -uroot -p
use mysql
create user libai@‘192.168.1.108’ identified by ‘123456’;
flush privileges;
 
2)删除用户
drop user ‘libai’@‘192.168.1.108’;

3、密码

1)修改密码
法一:
mysql -uroot -p
use mysql
update user set password = password(‘新密码’) where user = ‘用户名’;
flush privileges;
法二:
mysqladmin -ulibai -p旧密码 password 新密码;
 
2)忘记密码
mysqld --skip-grant-tables;(关闭权限认证)
重新打开一个客户端连接 mysql,mysql -uroot -p
use mysql
update user set password = password(‘新密码’) where user = ‘用户名’;
flush privileges;

4、用户权限

1)授权
grant 权限1,权限2,… on 数据库名.* to 用户名@IP地址或都%;
(所有数据库就用 *.*,所有权限就用 ALL 或 ALL PRIVILEGES)
示例:
grant select,update,insert,delete on testdb.* to ‘libai’@‘192.168.1.108’;
flush privileges;
 
2)撤销权限
revoke 权限1,权限2,… on 数据库名.* from 用户名@IP地址或都%;
 
【注】可以在授权的同时创建用户,或者说在创建用户的同时授权:
grant select,insert on testdb.* to ‘wangwu’@‘127.0.0.1’ identified by ‘123456’;
 
查看用户权限:show grants for ‘dufu’@‘192.168.0.4’\G;

5、访问 mysql 限制

给用户指定 IP,即该用户在连接 mysql 时需要使用 -h 指定 IP。

mysql> select user,host from user;

user host
root %
libai 192.168.1.108
> % 表示在任何地方都可以使用 root 账号直接连接 mysql;而 libai 只能指定 192.168.1.108 才能连接。 > 限制用户连接 mysql,修改 user 表 host 字段即可。 > 修改完后,flush privileges;

猜你喜欢

转载自blog.csdn.net/weixin_42725107/article/details/81432568