寻觅生命中的那一片浅草......

文章属于类别 MySQL

MySQL查看用户权限命令

如果可以用navicat工具连过去,查看用户权限,修改用户权限都是很方便的,但很多时候MySQL都是只允许localhost访问,这时就只能用命令了

以前只会用
mysql> select * from mysql.user where user=’username’;

今天发现这个更方便:
mysql> show grants for username@localhost;

show可以看到很多东西
show create database dbname;  这个可以看到创建数据库时用到的一些参数。
show create table tickets;    可以看到创建表时用到的一些参数

Table ‘mysql.servers’ doesn’t exist

很多朋友安装MYSQL后,出现了Table ‘mysql.servers’ doesn’t exist问题,在网上遍历了所有这个问题的解决方法,都是采用repair命令来完成,在本地计算机上对网上各种方法做测试,发现无法解决这个问题,最后通过国外MYSQL研发团队给予帮助后,问题很快解决,命令行如下:
use mysql;
CREATE TABLE `servers` (
`Server_name` char(64) NOT NULL,
`Host` char(64) NOT NULL,
`Db` char(64) NOT NULL,
`Username` char(64) NOT NULL,
`Password` char(64) NOT NULL,
`Port` int(4) DEFAULT NULL,
`Socket` char(64) DEFAULT NULL,
`Wrapper` char(64) NOT NULL,
`Owner` char(64) NOT NULL,
PRIMARY KEY (`Server_name`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COMMENT=’MySQL Foreign Servers table’;

转载自:http://blog.intohard.com/?uid-2-action-viewspace-itemid-7772

MySQL权限更改何时生效

用GRANT、REVOKE或SET PASSWORD对授权表施行的修改会立即被服务器注意到。

如果你手工地修改授权表(使用INSERT、UPDATE等等),你应该执行一个FLUSH PRIVILEGES语句或运行mysqladmin flush-privileges告诉服务器再装载授权表,否则你的改变将不生效,除非你重启服务器。

当服务器注意到授权表被改变了时,现存的客户连接有如下影响:

* 表和列权限在客户的下一次请求时生效。
* 数据库权限改变在下一个USE db_name命令生效。

全局权限的改变和口令改变在下一次客户连接时生效。

想知道,我修改了里面某个库,某个表里某个字段的值,是马上生效的吗?

转载自:http://doc.linuxpk.com/66971.html

MYSQL中如何删除多个名字相似的表

.转载的:
#!/bin/sh

MYSQLBIN=”/usr/local/mysql/bin/mysql”

$MYSQLBIN -uroot -pxxx dbname -s -e “show tables like ‘NTSWKDVL_%’;” \
|sed ‘s/^/drop table /g’ |sed ‘s/$/;/g’ >/tmp/deletetable.sql

$MYSQLBIN -uroot -p123456 wordpress -s -e </tmp/deletetable.sql

$MYSQLBIN -uroot -p123456 wordpress -s -e </tmp/deletetable.sql
新版本中可能不需要-e参数

常用MySQL命令

关闭外键检查:
SET FOREIGN_KEY_CHECKS = 0

创建新用户
grant all on dbname.tablename to username@hostname identified by ‘password’;

阅读全文»

2025年五月
« 5月    
 1234
567891011
12131415161718
19202122232425
262728293031