系统环境:CentOS 6.8 64位
操作软件:XShell 6
安装MySQL
1.使用yum命令安装
yum install mysql-server -y
看到Complete,执行成功。
2.修改root密码
默认安装mysql后会自动给root用户创建一个密码(貌似是随机的),所以我们需要修改一下才能登陆。
首先修改mysql设置跳过登陆密码,使用命令
vim /etc/my.cnf
使用这个命令之后会使用vim编辑器打开my.cnf文件,如下图所示
注意接下来不要随意按键
按下[kbd]I[/kbd]键,进入插入模式,在中间添加一句
skip-grant-tables
然后按下[kbd]Esc[/kbd]键,输入
:wq
回车。
这个的意思是保存并退出。
3.输入命令
service mysqld restart
重启mysql
4.输入命令
mysql -u root
回车进入mysql
5.输入命令
USE mysql;
SELECT user,host FROM user;
这时可以看到存着mysql用户名和密码的表(没显示密码)
输入命令更改密码
UPDATE user SET password = password ( '新密码' ) WHERE user = 'root' ;
6.加下来打开之前修改过的mysql配置文件,注释掉之前添加的那行命令
步骤同上
vim /etc/my.cnf
7.修改后重启mysql
service mysqld restart
8.使用命令
mysql -u root -p
输入密码就可以使用了。
设置远程访问权限
使用以上步骤安装好的mysql还无法远程访问,接下来为其设置远程访问权限
先看一下user表
use mysql; select host,user,password from user;
可以看到在user表中已创建的root用户。host字段表示登录的主机,其值可以用IP,也可用主机名,
有时想用本地IP登录,那么可以将以上的Host值改为自己的Ip即可。
接下来使用命令:
grant all privileges on *.* to root@'%' identified by "密码";
会发现表中新增了一条记录
这个就是具有远程访问权限的user;
然后退出,使用命令
service mysqld restart
重启mysql,就可以啦。
测试一下,OK
创建用户
CREATE USER '用户名'@'主机' IDENTIFIED BY '密码';
username – 你将创建的用户名, host – 指定该用户在哪个主机上可以登陆,如果是本地用户可用localhost, 如果想让该用户可以从任意远程主机登陆,可以使用通配符%. password – 该用户的登陆密码,密码可以为空,如果为空则该用户可以不需要密码登陆服务器.
授权用户
GRANT privileges ON 数据库名.表名TO '用户名'@'主机'
privileges – 用户的操作权限,如SELECT , INSERT , UPDATE 等(详细列表见该文最后面).如果要授予所的权限则使用ALL.;databasename – 数据库名,tablename-表名,如果要授予该用户对所有数据库和表的相应操作权限则可用*表示, 如*.*.
注意:用以上命令授权的用户不能给其它用户授权,如果想让该用户可以授权,用以下命令:
GRANT privileges ON 数据库名.表名 TO '用户名'@'主机' WITH GRANT OPTION;
设置与更改用户密码
SET PASSWORD FOR '用户名'@'主机' = PASSWORD('新密码');
如果是当前登陆用户用
SET PASSWORD = PASSWORD("新密码");
撤销用户权限
REVOKE privilege ON 数据库名.表名FROM '用户名'@'主机';
注意: 假如你在给用户’pig’@’%’授权的时候是这样的(或类似的):GRANT SELECT ON test.user TO ‘pig’@’%’, 则在使用REVOKE SELECT ON *.* FROM ‘pig’@’%’;命令并不能撤销该用户对test数据库中user表的SELECT 操作.相反,如果授权使用的是GRANT SELECT ON *.* TO ‘pig’@’%’;则REVOKE SELECT ON test.user FROM ‘pig’@’%’;命令也不能撤销该用户对test数据库中user表的Select 权限.
删除用户
DROP USER '用户名'@'主机';