Linux如何安装 MySQL5.7跟权限管理,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。
tar -xvf mysql-5.7.26-linux-glibc2.12-x86_64.tar
groupadd mysql useradd -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.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
进入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.server放置到/etc/init.d/mysql中
cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql
启动!!!
service mysql start ps -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
CREATE USER 'username'@'host' IDENTIFIED BY 'password';
username – 你将创建的用户名说明:
host – 指定该用户在哪个主机上可以登陆,如果是本地用户可用localhost, 如 果想让该用户可以从任意远程主机登陆,可以使用通配符%
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';
privileges – 用户的操作权限,如SELECT , INSERT , UPDATE 等(详细列表见该文最后面).如果要授予所 的权限则使用ALL说明:
databasename – 数据库名
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进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。