linux修改mysql权限
你确认迅纤你是用的亩坦仿ROOT用户登录的,修改的命令信码是 mysqladmin -u root -pxxxxx(原始密码) password xxxxx(新密码)
2. Linux下修改MySQL用户(root)密码
以下命令适合修改任何 MySQL 用户,仅以root为例。
首先,你必须要有 操作系统 的root权限了。也就说需要以root的身份登录到操作系统,然后进行一下操作。
编辑文件,找到[mysqld],删除skip-grant-tables这一行
:wq! #保存退出
大功告成!
PS:当然方法不止一种,以上是我比较喜欢用的方法。
3. linux mysql 数据库权限
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 ~]$ mysqlmp -u tom -paidengshan wangxh2 >/home/mysql/aa.sql
mysqlmp: Got error: 1044: Access denied for user 'tom'@'%' to database 'wangxh2' when using LOCK TABLES
[mysql@localhost ~]$
-----------------------------------------------------------------------------------------
以上测试发现,tom对wangxh2有建表,查询表的权限,但是修改,删除,新增,备份都没有权限,达到你的需求了
4. Linux 下 MySQL 对目录没有访问权限,怎么改
检查下/etc/my.cnf的配置文件看下运行用户和用户组
然埋卖后再对要操弯此逗作扒弊的目录进行chown或者chmod修改下权限
5. linux中安装mysql,如何开启远程访问权限
1、登陆mysql
mysql -u root -p
2、改表法:修改mysql库的user表,将host项,从localhost改为%。%这里表示的是允许任意host访问,如果只允许某一个ip访问,则可改为相应的ip,比如可以将localhost改为192.168.1.123,这表示只允许局域网的192.168.1.123这个ip远程访问mysql。
mysql> USE MYSQL;mysql> UPDATE USER SET host = '%' WHERE user = 'root';
3、授权法:
mysql> USE MYSQL;mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION //赋予任何主机访问以及修改所有数据的权限 例如,你想root用户使用root从任何主机连接到mysql服务器的话。GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'root' WITH GRANT OPTION;如果你想允许用户root从ip为192.168.1.123的主机连接到mysql服务器,并使用root作为密码GRANT ALL PRIVILEGES ON *.* TO 'root'@'192.168.1.123'IDENTIFIED BY 'root' WITH GRANT OPTION;mysql> FLUSH PRIVILEGES //
6. Linux 下 MySQL 对目录没有访问权限,怎么改
1。 改表法。可能是你的帐号不允许从远程登陆,只能在localhost。这个时候只要在localhost的那台电脑,登入mysql后,更改 "mysql" 数据库里的 "user" 表里的 "host" 项,从"localhost"改称"%"
mysql -u root -pvmwaremysql>use mysql;mysql>update user set host = '%' where user = 'root';mysql>select host, user from user;
2. 授权法。例如,你想myuser使用mypassword从任何主机连接到mysql服务器的话。
GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'%' IDENTIFIED BY 'mypassword' WITH GRANT OPTION;
如果你想允许用户myuser从ip为192.168.1.3的主机连接到mysql服务器,并使用mypassword作为密码
GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'192.168.1.3' IDENTIFIED BY 'mypassword' WITH GRANT OPTION;
我的mysql.user里root用户的host果然是localhost,先用改表法给localhost改成“%”,还是不行,仍然报1130的错 误,又按“从任何主机连接到mysql服务器”方法授权,还是报一样的错,最后给自己的ip授权之后,终于登录上了。。。。
7. 如何设置mysql的权限为所有的用户权限
这个设置只要进入 Linux 系统的超级用户状态 # 下面,即可以使用 chmod 命令对 MySQL 数据库系统下面的所有文件进行权限设置。具体的就看你想设置成什么权限,你就可以设置成什么权限了。chmod 的基本用法如下:
#chmod 750 myfile <cr>
该命令对 myfile 这个文件设置成:文件所有者(头 3 位)具有:可读(4)、可写(2)、可执行(1)权限;同组用户(中间 3 位)具有:可读(4)、可执行(1)权限;其他用户(后 3 位):不可读(4)、不可写(2)、不可执行(1)权限。
关于 chmod 更多的参数,你可以使用 man chmod 命令进行查看。
8. Linux下mysql允许远程连接怎么设置
mysql数据库远程访问设置方法
1、修改localhost
更改 "mysql" 数据库里的 "user" 表里的 "host" 项,从"localhost"改成"%"
mysql>use mysql;
mysql>update user set host = '%' where user = 'root';
mysql>select host, user from user;
mysql>FLUSH PRIVILEGES;
2、指定授权
使用myuser/mypassword从任何主机连接到mysql服务器:
GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'%' IDENTIFIED BY 'mypassword' WITH GRANT OPTION;
使用myuser/mypassword从ip为192.168.225.166的主机连接到mysql服务器:
GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'192.168.225.166' IDENTIFIED BY 'mypassword' WITH GRANT OPTION;
3、泛授权
mysql -h localhost -u root
mysql>GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION; //赋予任何主机上以root身份访问数据的权限
mysql>FLUSH PRIVILEGES;
9. 修改linux中mysql上存在的用户权限
一、KILL掉系统里的MySQL进程
php">killall-TERMmysqld
二、用以下命令启动MySQL,以不检查权限的方式启动
safe_mysqld–skip-grant-tables&
三、用空密码方式使用root用户登录 MySQL
mysql-uroot
四、修改root用户的密码
mysql>updatemysql.usersetpassword=PASSWORD(‘新密码’)whereUser=’root’;
mysql>flushprivileges;
mysql>quit
10. linux下jdbc无法连接mysql
linux里有文件的权限控制,很有可能是mysql的权限被控制了。mysql不知道你是用什么装的,是自己编译的呢,还是傻瓜式的自动安装。建议找到mysql的安装路径,然后修改mysql那个文件和子文件的权限为777。一般的路径好像是:/usr/local/mysql