确保系统已经联网:
安装mysql
yum install mysql
安装mysql服务器端:
yum install mysql-server
yum install mysql-devel
启动mysql服务:
servicemysqld start或者/etc/init.d/mysqld start
设置开机启动:
chkconfig --add mysqld
chkconfid mysqld on
查看开机启动设置是否成功chkconfig--list | grep mysql*
mysqld 0:关闭1:关闭2:启用3:启用4:启用5:启用6:关闭
root用户配置
mysql安装后需要配置root用户密码。
首先关闭mysql
/etc/init.d/mysqldstop
以安全模式运行
/usr/bin/mysqld_safe --skip-grant-tables >/dev/null 2>&1 &
等待5秒,以root用户登陆:
/usr/bin/mysql-u root mysql
进入mysql命令行,执行:
mysql>update user set password = Password('123') where User ='root';
将root密码设置为123
刷新一下权限表:
mysql>flush privileges;
现在可以以root用户登陆了:
mysql>mysql-uroot -p
删除匿名用户
安装完MySQL以后会自动创建一个root用户和一个匿名用户,而这个匿名用户只能在本地使用且拥有很高权限。出于安全性的考虑,将匿名用户删除:
以root用户登陆:
mysql-u root -p
mysql>selectuser,host from mysql.user;
可以看到除了root用户还存在用户名为空的用户。
删除匿名用户并刷新一下才能起效:
mysql>delete from mysql.user where user='';
mysql>flush privileges;
用户管理
一,创建用户:
命令:CREATEUSER 'username'@'host' IDENTIFIED BY 'password';
说明:username-你将创建的用户名,host -指定登陆主机,如果想让该用户可以从任意远程主机登陆,可以使用通配符%.password - 登陆密码,密码可以为空,如果为空则该用户可以不需要密码登陆服务器.
例子:CREATE USER 'dog'@'localhost' IDENTIFIED BY '123456';
CREATEUSER 'pig'@'192.168.1.101_' IDENDIFIED BY '123456';
CREATEUSER 'pig'@'%' IDENTIFIED BY '123456';
CREATEUSER 'pig'@'%' IDENTIFIED BY '';
CREATEUSER 'pig'@'%';
二,授权:
命令:GRANTprivileges ON databasename.tablename TO 'username'@'host'
说明:privileges -用户的操作权限,如SELECT, INSERT , UPDATE 等(详细列表见该文最后面).如果要授予所的权限则使用ALL.;databasename-数据库名,tablename-表名,如果要授予该用户对所有数据库和表的相应操作权限则可用*表示,如*.*.
例子:GRANT SELECT, INSERT ON test.user TO 'pig'@'%';
GRANTALL ON *.* TO'pig'@'%';
注意:用以上命令授权的用户不能给其它用户授权,如果想让该用户可以授权,用以下命令:
GRANTprivileges ON databasename.tablename TO 'username'@'host' WITH GRANTOPTION;
三.设置与更改用户密码
命令:SETPASSWORD FOR 'username'@'host' =PASSWORD('newpassword');如果是当前登陆用户用SETPASSWORD = PASSWORD("newpassword");
例子:SET PASSWORD FOR 'pig'@'%' = PASSWORD("123456");
四.撤销用户权限
命令:REVOKE privilege ON databasename.tablename FROM'username'@'host';
说明:privilege, databasename, tablename -同授权部分.
例子:REVOKE SELECT ON *.* FROM 'pig'@'%';
注意:假如你在给用户'pig'@'%'授权的时候是这样的(或类似的):GRANTSELECT ON test.user TO 'pig'@'%', 则在使用REVOKESELECT ON *.* FROM 'pig'@'%';命令并不能撤销该用户对test数据库中user表的SELECT操作.相反,如果授权使用的是GRANTSELECT ON *.* TO 'pig'@'%';则REVOKESELECT ON test.user FROM 'pig'@'%';命令也不能撤销该用户对test数据库中user表的Select权限.
具体信息可以用命令SHOWGRANTS FOR 'pig'@'%';查看.
五.删除用户
命令:DROP USER 'username'@'host';
附表:在MySQL中的操作权限