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';

相关推荐