温馨提示×

温馨提示×

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

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

在Linux下给mysql创建用户并分配权限等问题

发布时间:2020-08-23 10:39:16 来源:网络 阅读:2724 作者:不忘初心77 栏目:数据库


在linux系统中安装mysql的步骤


工具:

      mysql-5.6.17-linux-glibc2.5-i686.tar.gz

      mysql-5.6.17-linux-glibc2.5-x86_64.tar.gz

      linux系统64位 

方法/步骤

     1、到mysql官网下载mysql编译好的二进制安装包.

     2、解压安装包:

     3、进入安装包所在目录,执行命令:tar -zxvf  mysql-5.6.17-linux-glibc2.5-i686.tar.gz

     4、复制解压后的mysql目录到系统的本地软件目录:

         执行命令:cp mysql-5.6.17-linux-glibc2.5-i686 /usr/local/mysql -r

   注意:目录结尾不要加/

    5、添加系统mysql组和mysql用户:

         执行命令:groupadd mysql和useradd -r -g mysql mysql

    6、安装数据库:

    7、进入安装mysql软件目录:执行命令 cd /usr/local/mysql

    8、修改当前目录拥有者为mysql用户:执行命令 chown -R mysql:mysql ./

    9、安装数据库:执行命令 ./scripts/mysql_install_db --user=mysql

    10、修改当前目录拥有者为root用户:执行命令 chown -R root:root ./

    11、修改当前data目录拥有者为mysql用户:执行命令 chown -R mysql:mysql data

 到此数据库安装完毕

   1、启动mysql服务和添加开机启动mysql服务:

      添加开机启动:执行命令cp support-files/mysql.server /etc/init.d/mysql,把启动脚本放到开机   初始化目录

   2、启动mysql服务:执行命令service mysql start

     执行命令:ps -ef|grep mysql 看到mysql服务说明启动成功

   3、修改mysql的root用户密码,root初始密码为空的:

      执行命令:./bin/mysqladmin -u root password '密码'

   4、把mysql客户端放到默认路径:

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

注意:建议使用软链过去,不要直接包文件复制,便于系统安装多个版本的mysql


在Linux下给mysql创建用户并分配权限

1.新建用户

  //登录MYSQL

  @>mysql -u root -p

  @>密码

  //创建用户

  mysql> insert into mysql.user(Host,User,Password) values(‘localhost’,'Tome’,password(‘Tome’));

  //刷新系统权限表

  mysql>flush privileges;

  这样就创建了一个名为:Tome  密码为:Tome  的用户。

  //退出后登录一下

  mysql>exit;

  @>mysql -u Tome -p

  @>输入密码

  mysql>登录成功


2.为用户授权

  //登录MYSQL(有ROOT权限)。我里我以ROOT身份登录。

  @>mysql -u root -p

  @>密码

  //首先为用户创建一个数据库(TomeDB)

  mysql>create database TomeDB;

  //授权jeecn用户拥有Tome数据库的所有权限

  @>grant all privileges on TomeDB.* to Tome@localhost identified by ‘Tome’;

  //刷新系统权限表

  mysql>flush privileges;

  mysql>其它操作

  //如果想指定部分权限给一用户,可以这样来写:

  mysql>grant select,update on TomeDB.* to Tome@localhost identified by ‘Tome’;

  //刷新系统权限表。

  mysql>flush privileges;

  mysql> grant 权限1,权限2,…权限n on 数据库名称。表名称 to 用户名@用户地址 identified by ‘连接口令’;

  权限1,权限2,…权限n代表select,insert,update,delete,create,drop,index,alter,grant,references,reload,shutdown,process,file等14个权限。

  当权限1,权限2,…权限n被all privileges或者all代替,表示赋予用户全部权限。

  当数据库名称。表名称被*.*代替,表示赋予用户操作服务器上所有数据库所有表的权限。

  用户地址可以是localhost,也可以是ip地址、机器名字、域名。也可以用’%’表示从任何地址连接。

  ‘连接口令’不能为空,否则创建失败。

  例如:

  mysql>grant select,insert,update,delete,create,drop on vtdc.employee to ee@10.25.197.95 identified by ‘123′;

  给来自10.25.197.95的用户 ee 分配可对数据库vtdc的employee表进行select,insert,update,delete,create,drop等操作的权限,并设定口令为123。

  mysql>grant all privileges on vtdc.* to jee@10.25.197.95 identified by ‘123′;

  给来自10.25.197.95的用户 ee 分配可对数据库vtdc所有表进行所有操作的权限,并设定口令为123。

  mysql>grant all privileges on *.* to  ee@10.25.197.95 identified by ‘123′;

  给来自10.25.197.95的用户 ee分配可对所有数据库的所有表进行所有操作的权限,并设定口令为123。

  mysql>grant all privileges on *.* to  ee@localhost identified by ‘123′;

  给本机用户 ee分配可对所有数据库的所有表进行所有操作的权限,并设定口令为123。


3.删除用户

  @>mysql -u root -p

  @>密码

  mysql>DELETE FROM mysql.user WHERE User=”Tome”

  mysql>flush privileges;

  //删除用户的数据库

  mysql>drop database TomeDB;


4.修改指定用户密码

  @>mysql -u root -p

  @>密码

  mysql>update mysql.user set password=password(‘新密码’) where User=”Tome” and Host=”localhost”;

  mysql>flush privileges;

  mysql>quit;


5.如果使用root无法连接本地库的话:

   提示:1045 access denied for user 'root'@'localhost' using password yes

方法一: 

     # /etc/init.d/mysql stop 

     # mysqld_safe --user=mysql --skip-grant-tables --skip-networking & 

     # mysql -u root mysql 

    mysql> UPDATE user SET Password=PASSWORD(’newpassword’) where USER=’root’; 

    mysql> FLUSH PRIVILEGES; 

    mysql> quit 

    # /etc/init.d/mysql restart 

    # mysql -uroot -p 

    Enter password: <输入新设的密码newpassword> 

    mysql> 


方法二: 

  直接使用/etc/mysql/debian.cnf文件中[client]节提供的用户名和密码: 

   # mysql -udebian-sys-maint -p 

   Enter password: <输入[client]节的密码> 

   mysql> UPDATE mysql.user SET Password=PASSWORD(’newpassword’) where       USER=’root’; 

   mysql> FLUSH PRIVILEGES; 

   mysql> quit 

   # mysql -uroot -p 

  Enter password: <输入新设的密码newpassword> 

  mysql> 


向AI问一下细节

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

AI