一 授权登录
GRANT ALL PRIVILEGES ON cacti.* TO 'hnf@'localhost' IDENTIFIED BY 'hnf@2014'; ##只给cacti这个数据库授权 grant all on *.* to 'root'@'localhost' identified by 'huningfei'; ##只允许本地连接数据库 grant all on *.* to 'root'@'%'identified by 'password'; ##允许任何主机连接数据库 grant all on *.* to dba@'localhost' ##dba用户管理所有数据库的权限
二 设置mysql登录密码
第一种方法:
mysqladmin -uroot password 'huningfei' (不是登陆mysql之后运行)
第二种方法:(只要是root用户的密码全部更改)包括;root@% root@localhost等
用UPDATE直接编辑user表
mysql -u root mysql> use mysql; mysql> UPDATE user SET Password = PASSWORD('newpass') WHERE user = 'root'; mysql> FLUSH PRIVILEGES;
三 取消授权并删除用户
1如何查看授权的所有用户
SELECT DISTINCT CONCAT('User: ''',user,'''@''',host,''';') AS query FROM mysql.user;
查看数据库中具体某个用户的权限
mysql> show grants for 'cactiuser'@'%';
2 取消授权
MySQL取消权限和删除用户 作为管理员,既然能够创建用户和授权,同样也可以取消授权和删除用户。要取消某个用户的权限,可以使用REVOKE语句。该语句的语法格式如下:
Revoke privileges (columns) on what from user ;
其中privileges是要取消的权限,user是要被取消权限的用户名。 示例: 下面的代码实现了取消sss用户在localhost机器上的所有权限的功能。
> revoke all on *.* from sss@localhost ;
Query OK, 0 rows affected (0.00 sec)
3 删除用户
REVOKE语句只能取消用户的权限,而不可以删除用户。即使取消了所有的权限,用户仍然可以连接到服务器。要想彻底的删除用户,必须使用DELETE语句将该用户的记录从MySQL数据库中的user表中删除。该语句的语法格式如下:
Delete from user where user = "user_name" and host = "host_name" ; delete from user where user="" and host="localhost";
使用DELETE删除用户sss,代码如下:
mysql> use mysql
Database changed
mysql> delete from user where user='sss' and host='localhost' ;
mysql>flush privileges ;
Query OK, 1 row affected (0.02 sec)
四 修改mysql的搜索引擎
1 查看mysql存储引擎命令,在mysql>提示符下搞入show engines;字段 Support为:Default表示默认存储引擎
2、设置InnoDB为默认引擎:在配置文件my.cnf中的 [mysqld] 下面加入default-storage-engine=INNODB 一句
3、重启mysql服务器:mysqladmin -u root -p shutdown或者service mysqld restart 登录mysql数据库,
五 查看mysql链接的ip数
1 netstat -an | grep ESTABLISHED |grep 3306 | awk {'print $5'}|sed 's/:.*$//g'
2 mysql -uroot -p -e"show processlist\G;"| egrep "Host\:" | awk -F: '{ print $2 }'| sort | uniq -c ##这个需要输入mysql的用户名
六 增删改查
查看数据库 show databases
查看在现在在哪个数据库下:select database();
切换数据库 use dbname
查看数据库的版本:select version();
查看表: show tables
查看表的详细信息 desc 表名
查看建表的语句 show create table 表名
创建一个数据库: create database hu;
创建表: create table tb1 (`id` int(4),`name` char(40))
表里插入数据:insert into tb1 values (2,'hu');
删除一条数据:delete from db1 where name='55';
更新 update db1.t1 set name='aaa' where id=1;
清空表 truncate table db1.t1;
删除表 drop table db1.t1;
删除数据库 drop database db1;
修复表 repair table tb1 ; (discuz.user修复discuz库里面的user表)
查看mysql状态 show status;