加入收藏 | 设为首页 | 会员中心 | 我要投稿 聊城站长网 (https://www.0635zz.com/)- 智能语音交互、行业智能、AI应用、云计算、5G!
当前位置: 首页 > 站长学院 > MySql教程 > 正文

Linux 安装 部署MySQL5.7 跟权限管理

发布时间:2023-09-20 16:16:11 所属栏目:MySql教程 来源:
导读:  安装包 ====> https://download.csdn.net/download/qq_31821675/12705374

  解压

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

  再移动并重命名一下

  mv mysql-5.7.26-linux-g
  安装包 ====> https://download.csdn.net/download/qq_31821675/12705374
 
  解压
 
  tar -xvf mysql-5.7.26-linux-glibc2.12-x86_64.tar

  再移动并重命名一下
 
  mv mysql-5.7.26-linux-glibc2.12-x86_64 /usr/local/mysql
 
  创建 mysql 用户组和用户并修改权限
 
  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,并更改 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
 
 
  到这里说明 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';
 
  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;
 
 

(编辑:聊城站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章