@cdmonkey
2015-06-04T18:02:21.000000Z
字数 1790
阅读 846
数据库
作为Mysql数据库管理员管理用户账户,是一件很重要的事,指出哪个用户可以连接服务器,从哪里连接,连接后能够做什么。MySQL从3.22.11开始引入两个语句来做这件事,GRANT语句创建MySQL用户并指定其权限,而REVOKE语句删除权限。CREATE和REVOKE语句影响4个表:
表 | 说明 |
---|---|
user |
能连接服务器的用户以及他们拥有的任何全局权限。 |
db |
数据库级权限。 |
tables_priv |
表级权限。 |
columns_priv |
列级权限。 |
mysql> select user,host from mysql.user;
#查看MySQL数据库中的user表(授权表)里的user和host字段:
+------+-----------+
| user | host |
+------+-----------+
| root | 127.0.0.1 |
| root | ::1 |
| | localhost |
| root | localhost |
| | www |
| root | www |
+------+-----------+
如果仔细查看MYSQL的权限表,会发现存在主机名为localhost
的记录,也存在主机名为127.0.0.1 的记录,那这两着分别在什么时候会用到呢?虽然上述两者都表示当前主机,但是却代表着不同的登录方式:
如果通过TCP/IP方式进来的连接,MySQL服务器接收到的来源主机是 127.0.0.1。
如果是UNIX socket方式,MySQL服务器接收到的来源主机是localhost。
//删除掉用户为空的记录:
mysql> delete from mysql.user where user='';
mysql> select user,host from mysql.user;
+------+-----------+
| user | host |
+------+-----------+
| root | 127.0.0.1 |
| root | ::1 |
| root | localhost |
| root | www |
+------+-----------+
mysql> delete from mysql.user where host='www';
mysql> select user,host from mysql.user;
+------+-----------+
| user | host |
+------+-----------+
| root | 127.0.0.1 |
| root | ::1 |
| root | localhost |
+------+-----------+
mysql> delete from mysql.user where host='::1';
mysql> select user,host from mysql.user;
+------+-----------+
| user | host |
+------+-----------+
| root | 127.0.0.1 |
| root | localhost |
+------+-----------+
mysql> drop database test; //删除test库
mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| performance_schema |
+--------------------+
//或者干脆全部删除,添加额外管理员:
mysql> delete from mysql.user;
//添加用户“system”作为系统管理员:
mysql> grant all privileges on *.* to system@'localhost' identified by 'oldboy123' with grant option;
创建管理员密码:
[root@ServerF ~]# mysqladmin -u root password 'oldboy123'
//然后使用交互模式登录:
[root@ServerF ~]# mysql -u root -p
Enter password:
//如果是非交互式的登录:
[root@ServerF ~]# mysql -u root -poldboy123
更换字符集:
[root@www ~]# cat /etc/sysconfig/i18n
#LANG="zh_CN.GB18030"
LANG="zh_CN.UTF-8"