linux mysql 数据库权限

作者&投稿:咸霭 (若有异议请与网页底部的电邮联系)
mysql数据库在linux上的不同登录方式和权限~

1.mysql数据库,忘记root用户登录密码。

解决如下:

a.重置密码

#/etc/init.d/mysqld 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;

b.使用新密码登录

#mysql -u root -pnewpassword

2.远程登录权限

mysql> GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'%' IDENTIFIED BY 'mypassword' WITH GRANT OPTION;

mysql> FLUSH PRIVILEGES;

上面授权是允许myuser用户,从任何机器都能访问mysql服务器。

%代表任何客户端,也可以是localhost,或者是某一ip地址。

一、KILL掉系统里的MySQL进程
killall -TERM mysqld二、用以下命令启动MySQL,以不检查权限的方式启动
safe_mysqld –skip-grant-tables &三、用空密码方式使用root用户登录 MySQL
mysql -u root四、修改root用户的密码
mysql> update mysql.user set password=PASSWORD(‘新密码’) where User=’root’;mysql> flush privileges;mysql> quit

hi 楼主,在数据库中创建包含很多,视图,索引,临时表的创建权限都能分开赋予,你可以执行 show privileges 来查看权限参数,我这边就以创建表为例,只包含查询表功能,其他修改,删除,备份没有权限;以下是步骤:
1,create user 'tom'@'%' identified by '123456';---创建用户,无权限;
2, grant create,select on wangxh2.* to tom;-----把wangxh2库的所有表的创建和查询赋予tom
3,flush privileges;-----刷新权限表才能起效
接下来是测试:
mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| test |
| wangxh2 |
+--------------------+
3 rows in set (0.06 sec)

mysql> use wangxh2
Database changed
mysql> show tables;
+-------------------+
| Tables_in_wangxh2 |
+-------------------+
| test |
+-------------------+
1 row in set (0.00 sec)

mysql> drop test;
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'test' at line 1
mysql> drop table test;
ERROR 1142 (42000): DROP command denied to user 'tom'@'localhost' for table 'test'
mysql> select count(*) from test;
+----------+
| count(*) |
+----------+
| 33554432 |
+----------+
1 row in set (0.01 sec)

mysql> insert into test values(1);
ERROR 1142 (42000): INSERT command denied to user 'tom'@'localhost' for table 'test'
mysql> delete from test;
ERROR 1142 (42000): DELETE command denied to user 'tom'@'localhost' for table 'test'
mysql> update test set id=1;
ERROR 1142 (42000): UPDATE command denied to user 'tom'@'localhost' for table 'test'
mysql> create table test1 (id int);
Query OK, 0 rows affected (0.02 sec)

mysql> insert into test1 values(1);
ERROR 1142 (42000): INSERT command denied to user 'tom'@'localhost' for table 'test1'

[mysql@localhost ~]$ mysqldump -u tom -paidengshan wangxh2 >/home/mysql/aa.sql
mysqldump: Got error: 1044: Access denied for user 'tom'@'%' to database 'wangxh2' when using LOCK TABLES
[mysql@localhost ~]$
-----------------------------------------------------------------------------------------

以上测试发现,tom对wangxh2有建表,查询表的权限,但是修改,删除,新增,备份都没有权限,达到你的需求了

数据库权限的赋值使用grant命令,以下为创建一个数据库、赋值权限、设置数据库用户名和密码;
mysql -u root -p
create database mysqltest;
grant Select,Insert,Update privileges on mysqltest.* to 'mysqltest'@'localhost' identified by 'mysqltestmima123';
flush privileges;
quit

创建数据库mysqltest,数据库用户名mysqltest,数据库密码mysqltestmima123
数据库相应的权限是:Select,Insert,Update
查询,写入,更新

mysql> grant select,update on db.* to user@'%' identified by 'user';

可实现。
当然权限越低越好。


商洛市17837999590: 如何设置mysql的权限为所有的用户权限 -
察睿五积: 这个设置只要进入 Linux 系统的超级用户状态 # 下面,即可以使用 chmod 命令对 MySQL 数据库系统下面的所有文件进行权限设置.具体的就看你想设置成什么权限,你就可以设置成什么权限了.chmod 的基本用法如下:#chmod 750 myfile <cr> 该命令对 myfile 这个文件设置成:文件所有者(头 3 位)具有:可读(4)、可写(2)、可执行(1)权限;同组用户(中间 3 位)具有:可读(4)、可执行(1)权限;其他用户(后 3 位):不可读(4)、不可写(2)、不可执行(1)权限.关于 chmod 更多的参数,你可以使用 man chmod 命令进行查看.

商洛市17837999590: linux用命令怎么修改mysql用户的权限 -
察睿五积: mysql更改用户权限 This entry was posted by admin Monday, 26 April, 20101.“grant all on *.* to root@'%' identified by 'yourpassword';”——这个还可以顺带设置密码.2.“flush privileges; ”——刷新一下,让权限生效.mysql的一些其他...

商洛市17837999590: Linux下MYSQL 数据库权限问题如何解决 -
察睿五积: grant all on *.* to root@数据库所在机器的IP identified by "password" 然后把localhost 改成 数据库所在机器的IP 就可以了

商洛市17837999590: linux mysql 如何用户对某个表格的权限? -
察睿五积: 1. 对用户授权grant语句语法: grant privileges (columns) on what to account 2.举例子: grant all on zabbix.* to 'zabbix'@'localhost 给予'zabbix'@'localhost'管理zabbix这个数据库的全部权限. grant select on zabbix.tmp to 'saladin'@'localhost' 给予'...

商洛市17837999590: linux mysql 如何查看用户与数据库之间的权限关系? -
察睿五积: SELECT user, host, password, select_priv, insert_priv, shutdown_priv, grant_priv FROM mysql.user

商洛市17837999590: mysql数据库在linux上的不同登录方式和权限 -
察睿五积: 1.mysql数据库,忘记root用户登录密码.解决如下:a.重置密码#/etc/init.d/mysqld stop#mysqld_safe --user=mysql --skip-grant-tables --skip-networking &#mysql -u root mysql mysql> UPDATE user SET Password=PASSWORD('newpassword') ...

商洛市17837999590: 如何访问linux系统中的mysql数据库 -
察睿五积: 假设:本地计算机ip:192.168.1.100 远程计算机ip:192.168.1.244 解决方法:1,远程计算机(ip:192.168.1.244)执行如下: 开启服务器:/etc/init.d/mysql.server start 登陆服务器:bin/mysql -u root -p 使用服务器:mysql> use mysql 创建远程登陆...

商洛市17837999590: linux中mysql创建不了用户没权限怎么解决 -
察睿五积: 你先执行下 ps -ef|grep mysqld 看看mysqld进程是否存在,如果不存在,那么就是mysql服务没有起来 如果mysqld进程在了,你就看看/var/lib/mysql/mysql.sock是否存在

商洛市17837999590: 怎么使用linux的root权限获得mysql的root权限 -
察睿五积: 1.用root或者运行mysqld的用户登录系统; 2.利用kill命令结束掉mysqld的进程; 3.使用--skip-grant-tables参数启动MySQL Server shell>mysqld_safe --skip-grant-tables & 4.为root@localhost设置新密码 shell>mysqladmin -u root flush-privileges password "newpassword" 5.重启MySQL Server

商洛市17837999590: linux mysql 如何查看用户对某个表格的权限? -
察睿五积: 你可以查看下数据库中mysql数据库的tables_priv表看看有没有相应表的记录,该表就是用户对表的访问权限限制表 use mysql select * from tables_priv;

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网