centos 7 安装配置 mysql
CentOS7默认数据库是mariadb,配置等用着不习惯,因此决定改成mysql,但是CentOS7的yum源中默认好像是没有mysql的。为了解决这个问题,我们要先下载mysql的repo源。
1.下载mysql的repo源
$wgethttp://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm
2.安装mysql-community-release-el7-5.noarch.rpm包
$sudorpm-ivhmysql-community-release-el7-5.noarch.rpm
安装这个包后,会获得两个mysql的yumrepo源:/etc/yum.repos.d/mysql-community.repo,/etc/yum.repos.d/mysql-community-source.repo。
3.安装mysql
$sudoyuminstallmysql-server
根据提示安装就可以了,不过安装完成后没有密码,需要重置密码
4.重置mysql密码
$mysql-uroot
登录时有可能报这样的错:ERROR2002(HY000):Can‘tconnecttolocalMySQLserverthroughsocket‘/var/lib/mysql/mysql.sock‘(2),原因是/var/lib/mysql的访问权限问题。下面的命令把/var/lib/mysql的拥有者改为当前用户:
$sudochown-Rroot:root/var/lib/mysql
或者mysql没有启动,需要先启动
重启mysql服务
$servicemysqldrestart
接下来登录重置密码:
$mysql-uroot//直接回车进入mysql控制台
mysql>usemysql;
mysql>updateusersetpassword=password('123456')whereuser='root';
mysql>exit;
北京java找工作群145471323
MySQL创建用户与授权
一.创建用户
命令:
CREATEUSER'username'@'host'IDENTIFIEDBY'password';
说明:
username:你将创建的用户名
host:指定该用户在哪个主机上可以登陆,如果是本地用户可用localhost,如果想让该用户可以从任意远程主机登陆,可以使用通配符%
password:该用户的登陆密码,密码可以为空,如果为空则该用户可以不需要密码登陆服务器
例子:
CREATEUSER'dog'@'localhost'IDENTIFIEDBY'123456';
CREATEUSER'pig'@'192.168.1.101_'IDENDIFIEDBY'123456';
CREATEUSER'pig'@'%'IDENTIFIEDBY'123456';
CREATEUSER'pig'@'%'IDENTIFIEDBY'';
CREATEUSER'pig'@'%';
二.授权:
命令:
GRANTprivilegesONdatabasename.tablenameTO'username'@'host'
说明:
privileges:用户的操作权限,如SELECT,INSERT,UPDATE等,如果要授予所的权限则使用ALL
databasename:数据库名
tablename:表名,如果要授予该用户对所有数据库和表的相应操作权限则可用*表示,如*.*
例子:
GRANTSELECT,INSERTONtest.userTO'pig'@'%';
GRANTALLON*.*TO'pig'@'%';
GRANTALLONmaindataplus.*TO'pig'@'%';
注意:
用以上命令授权的用户不能给其它用户授权,如果想让该用户可以授权,用以下命令:
GRANTprivilegesONdatabasename.tablenameTO'username'@'host'WITHGRANTOPTION;
三.设置与更改用户密码
命令:
SETPASSWORDFOR'username'@'host'=PASSWORD('newpassword');
如果是当前登陆用户用:
SETPASSWORD=PASSWORD("newpassword");
例子:
SETPASSWORDFOR'pig'@'%'=PASSWORD("123456");
四.撤销用户权限
命令:
REVOKEprivilegeONdatabasename.tablenameFROM'username'@'host';
说明:
privilege,databasename,tablename:同授权部分
例子:
REVOKESELECTON*.*FROM'pig'@'%';
注意:
假如你在给用户'pig'@'%'授权的时候是这样的(或类似的):GRANTSELECTONtest.userTO'pig'@'%',则在使用REVOKESELECTON*.*FROM'pig'@'%';命令并不能撤销该用户对test数据库中user表的SELECT操作。相反,如果授权使用的是GRANTSELECTON*.*TO'pig'@'%';则REVOKESELECTONtest.userFROM'pig'@'%';命令也不能撤销该用户对test数据库中user表的Select权限。
具体信息可以用命令SHOWGRANTSFOR'pig'@'%';查看。
五.删除用户
命令:
DROPUSER'username'@'host';