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

在linux系统中安装MySQL的步骤

创新互联-专业网站定制、快速模板网站建设、高性价比崇义网站开发、企业建站全套包干低至880元,成熟完善的模板库,直接使用。一站式崇义网站制作公司更省心,省钱,快速模板网站建设找我们,业务覆盖崇义地区。费用合理售后完善,十余年实体公司更值得信赖。

工具:

      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> 


当前标题:在Linux下给mysql创建用户并分配权限等问题
文章分享:http://scyanting.com/article/gghjop.html