千家信息网

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

发表于:2024-09-22 作者:千家信息网编辑
千家信息网最后更新 2024年09月22日,Linux如何安装 MySQL5.7跟权限管理,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。解压tar -xvf mysql-5.7
千家信息网最后更新 2024年09月22日Linux如何安装 MySQL5.7跟权限管理

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

解压

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

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

groupadd mysqluseradd -r -g mysql mysql

创建数据目录并赋予权限

mkdir -p /data/mysql #创建目录chown mysql:mysql -R /data/mysql #赋予权限

配置my.cnf

vim /etc/my.cnf

内容如下

[mysqld]bind-address=0.0.0.0port=3306user=mysql#log_bin#开启binloglog-bin = mysql-bin#选择row模式binlog-format = ROWserver_id = 12345basedir=/usr/local/mysqldatadir=/data/mysqlsocket=/tmp/mysql.socklog-error=/data/mysql/mysql.errpid-file=/data/mysql/mysql.pid#character configcharacter_set_server=utf8mb4symbolic-links=0explicit_defaults_for_timestamp=true

初始化数据库

进入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

启动mysql,并更改root 密码

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

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

启动!!!

service mysql startps -ef|grep mysql

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

下面修改密码

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

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

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

SET PASSWORD = PASSWORD('123456');ALTER USER 'root'@'localhost' PASSWORD EXPIRE NEVER;FLUSH PRIVILEGES;

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

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

use mysql #访问mysql库update user set host = '%' where user = 'root'; #使root能再任何host访问FLUSH PRIVILEGES; #刷新

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跟权限管理问题的解答就分享到这里了,希望以上内容可以对大家有一定的帮助,如果你还有很多疑惑没有解开,可以关注行业资讯频道了解更多相关知识。

0