Linux如何安装 MySQL5.7跟权限管理

发布时间:2021-10-21 17:18:49 作者:柒染
来源:亿速云 阅读:180

Linux如何安装 MySQL5.7跟权限管理,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。

Linux如何安装 MySQL5.7跟权限管理

解压

tar -xvf mysql-5.7.26-linux-glibc2.12-x86_64.tar

Linux如何安装 MySQL5.7跟权限管理

创建mysql用户组和用户并修改权限

groupadd mysql

useradd -r -g mysql mysql

创建数据目录并赋予权限

mkdir -p /data/mysql #创建目录

chown mysql:mysql -R /data/mysql #赋予权限

Linux如何安装 MySQL5.7跟权限管理 

配置my.cnf

vim /etc/my.cnf

 内容如下

[mysqld]
bind-address=0.0.0.0
port=3306
user=mysql
#log_bin
#开启binlog
log-bin = mysql-bin
#选择row模式
binlog-format = ROW
server_id = 12345
basedir=/usr/local/mysql
datadir=/data/mysql
socket=/tmp/mysql.sock
log-error=/data/mysql/mysql.err
pid-file=/data/mysql/mysql.pid
#character config
character_set_server=utf8mb4
symbolic-links=0
explicit_defaults_for_timestamp=true

Linux如何安装 MySQL5.7跟权限管理

初始化数据库

进入mysql的bin目录

cd /usr/local/mysql/bin/

初始化

./mysqld --defaults-file=/etc/my.cnf --basedir=/usr/local/mysql/ --datadir=/data/mysql/ --user=mysql --initialize

 查看密码

cat /data/mysql/mysql.err

Linux如何安装 MySQL5.7跟权限管理

启动mysql,并更改root 密码

先将mysql.server放置到/etc/init.d/mysql中

cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql

启动!!!

service mysql start

ps -ef|grep mysql

Linux如何安装 MySQL5.7跟权限管理

到这里说明mysql已经安装成功了!!

下面修改密码

首先登录mysql,前面的那个是随机生成的。

./mysql -u root -p   #bin目录下

Linux如何安装 MySQL5.7跟权限管理

再执行下面三步操作,然后重新登录。

SET PASSWORD = PASSWORD('123456');

ALTER USER 'root'@'localhost' PASSWORD EXPIRE NEVER;

FLUSH PRIVILEGES;

Linux如何安装 MySQL5.7跟权限管理

 这时候你如果使用远程连接……你会发现你无法连接。

这里主要执行下面三个命令(先登录数据库)

use mysql #访问mysql库

update user set host = '%' where user = 'root'; #使root能再任何host访问

FLUSH PRIVILEGES; #刷新

Linux如何安装 MySQL5.7跟权限管理

ok!!!!MySQL5.7就装好了……坑是真的多……但是如果按这个流程走应该是能顺利装下来的。(因为我装了两遍……)

如果不希望每次都到bin目录下使用mysql命令则执行以下命令

ln -s  /usr/local/mysql/bin/mysql    /usr/bin

MySQL创建用户

CREATE USER 'username'@'host' IDENTIFIED BY 'password';
  1. username – 你将创建的用户名说明:

  2. host – 指定该用户在哪个主机上可以登陆,如果是本地用户可用localhost,  如 果想让该用户可以从任意远程主机登陆,可以使用通配符%

  3. password –  该用户的登陆密码,密码可以为空,如果为空则该用户可以不需要密码登 陆服务器

例子:

CREATE USER 'javacui'@'localhost' IDENTIFIED BY '123456'; 


CREATE USER 'javacui'@'172.20.0.0/255.255.0.0' IDENDIFIED BY '123456'; 


CREATE USER 'javacui'@'%' IDENTIFIED BY '123456'; 


CREATE USER 'javacui'@'%' IDENTIFIED BY ''; 


CREATE USER 'javacui'@'%';

授权

GRANT privileges ON databasename.tablename TO 'username'@'host';
  1. privileges – 用户的操作权限,如SELECT , INSERT , UPDATE  等(详细列表见该文最后面).如果要授予所 的权限则使用ALL说明: 

  2. databasename –  数据库名

  3. tablename-表名,如果要授予该用户对所有数据库和表的相应操作权限则可用* 表示, 如*.*

例子:

GRANT SELECT, INSERT ON test.user TO 'javacui'@'%'; 

GRANT ALL ON *.* TO 'javacui'@'%';

注意:用以上命令授权的用户不能给其它用户授权,如果想让该用户可以授权,用以下命令

GRANT privileges ON databasename.tablename TO 'username'@'host' WITH GRANT OPTION;


设置与更改用户密码

SET PASSWORD FOR 'username'@'host' = PASSWORD('newpassword');


如果是当前登陆用户用

SET PASSWORD = PASSWORD("newpassword");


撤销用户权限

REVOKE privilege ON databasename.tablename FROM 'username'@'host';

例子说明: privilege, databasename, tablename – 同授权部分

REVOKE SELECT ON *.* FROM 'javacui'@'%';

假如你在给用户’javacui’@'%’授权的时候是这样的(或类似 的):GRANT SELECT ON test.user TO  ‘javacui’@'%’, 则在使用 REVOKE SELECT ON *.* FROM  ‘javacui’@'%’;命令并不能撤销该用户对test数据库中user表的SELECT 操作注意: 

相反,如果授权使用的是GRANT SELECT ON  *.* TO ‘javacui’@'%’;则 REVOKE SELECT ON test.user FROM  ‘javacui’@'%’;命令也不能撤销该用户对test数据库中user表的 Select 权限

具体信息可以用命令SHOW GRANTS FOR ‘javacui’@'%’; 查看

删除用户

DROP USER ‘username’@'host’;


操作后切记刷新数据库

flush privileges;

关于Linux如何安装 MySQL5.7跟权限管理问题的解答就分享到这里了,希望以上内容可以对大家有一定的帮助,如果你还有很多疑惑没有解开,可以关注亿速云行业资讯频道了解更多相关知识。

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

上一篇:如何使用分库分表Sharding-JDBC

下一篇:Eclipse中怎么安装反编译工具Fernflower

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》