MYSQL命令集
MYSQL命令集
1、登陆MySQL:
1 | mysql -u root -p |
2、查看用户信息
1 2 | select user,host,password from mysql.user; select user,host from mysql.user; |
3、设置密码
1 | set password for root@localhost=password('root_pw'); |
4、修改密码
方法1:mysqladmin -u root -p password newpassword
方法2: #mysql -u root -p mysql
1 2 | mysql>UPDATE user SET password=PASSWORD("new") WHERE user='root'; mysql>flush privileges; |
5、删除匿名用户
1 | delete from mysql.user where user=''; |
6、查看系统已存在的数据库
1 | show databases; |
7、删除名为test的空数据库
1 | drop database test; |
8、建立mysql用户
例a:建立对test数据库有完全操作权限的名为centospub的用户
1 | mysql>grant all privileges on test.* to centospub@localhost identified by 'password'; |
例b:增加一个用户test1密码为abc,让他可以在任何主机上登录,并对所有数据库有查询、插入、修改、删除的权限。首先用以root用户连入MYSQL,然后键入以下命令:
1 | mysql>grant select,insert,update,delete on *.* to test1@"%" Identified by "abc"; |
但例b增加的用户是十分危险的,你想如某个人知道test1的密码,那么他就可以在internet上的任何一台电脑上登录你的mysql数据库并对你的数据可以为所欲为了。
例c:增加一个用户test2密码为abc,让他只可以在localhost上登录,并可以对数据库mydb进行查询、插入、修改、删除的操作(localhost指本地主机,即MYSQL数据库所在的那台主机),这样用户即使用知道test2的密码,他也无法从internet上直接访问数据库,只能通过MYSQL主机上的web页来访问了。
1 | mysql>grant select,insert,update,delete on mydb.* to test2@localhost identified by "abc"; |
9、查找确认centospub用户的存在与否
1 | select user from mysql.user where user='centospub'; |
10、 建立名为test的数据库
1 | create database test; |
11、取消centospub用户对数据库的操作权限
1 | revoke all privileges on *.* from centospub@localhost; |
12、删除centospub用户
1 | delete from mysql.user where user='centospub' and host='localhost'; |
13、刷新,使所做的改动生效
1 | flush privileges; |
14、忘记MySQL的root密码,怎么修改
如果 MySQL 正在运行,首先杀之: killall -TERM mysqld。
启动 MySQL :PATH_TO_MYSQL/bin/mysqld –skip-grant-tables &
就可以不需要密码就进入 MySQL 了。
然后就是
1 2 3 | mysql>use mysql mysql>update user set password=password("new_pass") where user="root"; mysql>flush privileges; |
重新杀 MySQL ,用正常方法启动 MySQL
一定注意:很多新手没有用password=password(“…”),而是直接password=”…”所以改掉密码不好使