所在位置:
- 首页
- 正文
mysql的基本操作
在日常的工作中,经常忘记一些 mysql 的基本操作,以至于要上网去查找资料,浪费了大量的时间,在这里对mysql的一些基础操作来做一个总结,希望能够对大家有用,下面是一些常用的操作:
创建某个数据库
mysql > CREATE DATABASE school;
在某个数据库创建表
选中数据库
mysql > USE school;
创建表
mysql > CREATE TABLE class(name VARCHAR(64), number INT);
查看某个表结构
mysql > DESC class;
给某个表插入数据
mysql > INSERT INTO class(name, number) VALUES('class1', 40);
mysql > INSERT INTO class(name, number) VALUES('class2', 54);
mysql > INSERT INTO class(name, number) VALUES('class3', 63);
给某个用户授权某个数据库
新增一个密码为 password1
的 user1
用户,这个用户只能在 localhost
上登录,并且对所有数据库具有查询、插入、修改、删除的权限 (这个用户 不能给其它用户授权
)
mysql > GRANT INSERT, DELETE, UPDATE, SELECT ON *.* TO 'user1'@'localhost' IDENTIFIED BY 'password1';
mysql > FLUSH PRIVILEGES;
新增一个密码为 password2
的 user2
用户,这个用户可以在任何远程的机器登录,并且只能对数据库 mydb1
具有所有的权限 (这个用户 不能给其它用户授权
)
mysql > GRANT ALL ON mydb1.* TO 'user2'@'%' IDENTIFIED BY 'password2'
mysql > FLUSH PRIVILEGES;
新增一个密码为 password3
的 user3
用户,这个用户只能在 192.168.1.100
机器上登录,并且能对所有数据库具有所有的权限 (这个用户 可以给其它用户授权
)
mysql > GRANT ALL ON *.* TO 'user3'@'192.168.1.100' IDENTIFIED BY 'password2' WITH GRANT OPTION;
mysql > FLUSH PRIVILEGES;
撤销用户权限
撤销用户 user2
的所有权限(但是 user2
这个用户还是存在的)
mysql > REVOKE ALL ON *.* FROM 'user2'@'%';
mysql > FLUSH PRIVILEGES;
删除 user2
这个用户 (用 管理员用户
进入 mysql
)
mysql > USE mysql;
mysql > DELETE FROM user WHERE user='user1' AND host='localhost';
mysql > FLUSH PRIVILEGES;
备份数据库
备份 school
数据库为 school.sql
$ mysqldump -h localhost -u root -p school > school.sql
还原数据库
使用 mysql
进行还原
$ mysql -h localhost -u root -p school < school.sql
使用 source
方法进行还原 (要先进入到 mysql
)
mysql > use school;
mysql > source school.sql;
怎么样取消怎在输入的 sql
语句
可以使用行删除或者在 sql
语句的最后输入 \c
来取消
使用垂直的输出格式
可以在 sql
语句的最后输入 \G
来实现
记录命令行的mysql会话
mysql -u root -p --tee=record.out
忘记了mysql的密码
- 在命令行用
kill -9 mysql的pid
杀掉mysql
的进程 - 使用下面的方式启动
mysql
$ /usr/bin/mysqld_safe --skip-grant-tables &
- 使用下面的命令进入
mysql
$ mysql -u root
- 使用下面的方式修改密码
mysql > use mysql;
mysql > UPDATE user SET password=PASSWORD('新密码') WHERE user='root';
mysql > FLUSH PRIVILEGES;
- 在命令行用
kill -9 mysql的pid
杀掉mysql
的进程 - 使用下面的命令正常启动
mysql
$ sudo systemctl start mysql
注意:在 mysql 5.7 之后,修改密码要把上面这句
mysql > UPDATE user SET password=PASSWORD('新密码') WHERE user='root';
改为
mysql > UPDATE user SET authentication_string=PASSWORD('新密码') WHERE user='root';
【上一篇】广马前的训练
【下一篇】Linux下的压缩和解压缩详解