`
jayjayjaylun
  • 浏览: 87021 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

mysql授权

阅读更多
引用
一、 mysql授权 GRANT 语句的语法如下: GRANT privileges (columns) ON what TO user IDENTIFIEDBY "password" WITH GRANT OPTION 1.grant select,insert on *.* to test@"local" Identified by "123"; 这句命令的意思是,授权用户“test”(其口令为“123”)只能在本地localhost登录,可对任何数据库的任何表(“*.*”前一个“*”代表任何数据库,后一个“*”代表在前个“*”的约束下的任何表)进行select,insert的操作。 2.grant update,delete on scut.student to test@"%" Identified by "123"; 这句命令的意思是,授权用户“test”(其口令为“123”)可以任何主机登录,可对数据库"scut”下的表“student”进行update,delete的操作。 3. grant all on len.* to ca@"%" Identified by "123456"; 这句命令的意思是,授权用户“ca”(其口令为“123456”)可以任何主机登录,可对数据库"len”下的所有表进行所有的操作。 二、mysql授权查看 select user from mysql.db where db="youdb" 实例:查看len数据库已经授权的用户 select user from mysql.db where db="len" ' 1。 改表法。可能是你的帐号不允许从远程登陆,只能在localhost。这个时候只要在localhost的那台电脑,登入mysql后,更改 "mysql" 数据库里的 "user" 表里的 "host" 项,从"localhost"改称"%" Sql代码 复制代码 1. mysql -u root -pvmwaremysql>use mysql; 2. mysql>update user set host = '%' where user = 'root'; 3. mysql>select host, user from user; 2. 授权法。例如,你想myuser使用mypassword从任何主机连接到mysql服务器的话。 Sql代码 复制代码 1. GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'%' IDENTIFIED BY 'mypassword' WITH GRANT OPTION; 2.FLUSH PRIVILEGES; 如果你想允许用户myuser从ip为192.168.1.6的主机连接到mysql服务器,并使用mypassword作为密码 Sql代码 复制代码 1. GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'192.168.1.3' IDENTIFIED BY 2. 'mypassword' WITH GRANT OPTION; 3. FLUSH PRIVILEGES; GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'192.168.1.3' IDENTIFIED BY 'mypassword' WITH GRANT OPTION; FLUSH PRIVILEGES; 如果你想允许用户myuser从ip为192.168.1.6的主机连接到mysql服务器的dk数据库,并使用mypassword作为密码 Sql代码 复制代码 1. GRANT ALL PRIVILEGES ON dk.* TO 'myuser'@'192.168.1.3' IDENTIFIED BY 2. 'mypassword' WITH GRANT OPTION; 3. FLUSH PRIVILEGES; GRANT ALL PRIVILEGES ON dk.* TO 'myuser'@'192.168.1.3' IDENTIFIED BY 'mypassword' WITH GRANT OPTION; FLUSH PRIVILEGES; 注意授权后必须FLUSH PRIVILEGES;否则无法立即生效。 另外一种方法. 在安装mysql的机器上运行: 1、d:\mysql\bin\>mysql -h localhost -u root //这样应该可以进入MySQL服务器 2、mysql>GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION //赋予任何主机访问数据的权限 3、mysql>FLUSH PRIVILEGES //修改生效 4、mysql>EXIT //退出MySQL服务器 这样就可以在其它任何的主机上以root身份登录啦!
mysql的一些乱七八糟的东西 01月 27th, 2008 mysql的一些乱七八糟的东西 使用MYSQL半年,自己经常用的东西- - Mysql –h192.168.0.110 –uks –p –P4444登录 Mysqladmin –h192.168.0.110-uks –p reload重新加载用户表 Mysqldump –R –h192.168.0.110 –uks –p test>c:/test.sql备份 Mysql –h192.168.0.110 –uks –p test Windows下net stop mysql关闭服务 Net start mysql 开启服务 Linux下 service mysql stop关闭 Service mysql start 开启 Service mysql restart重启服务 Linux下开机自动启动mysql #>chkconfig –add mysql 开机启动 Chkconfig –del mysql 关闭自动启动 Chkconfig – -list 查看服务启动情况 Mysql命令行下 Explain select……..查看该SELECT语句信息 Show variables查看系统变量 Show status 常看当前服务器状态 Show databases; Show tables; Show processlist Show warnings;(查看最近一个警告或错误) Set global xxxx=xxxx; Flush ……清楚mysql使用的部分内部缓存 Information_schema.tables表信息 Mysql动态语句5.1 只支持create table,delete,do ,insert,replace,select set ,update语句 Describe tablename查看该表结构 Optimize table XXX 清理该表中已删除的链接(可以释放一些资源) Source c:abc.sql 在MYSQL命令行中执行脚本 Select Create Insert Update Alter Grant revoke 就不说了= = Mysql 数据库名最长 64位字符串 表名….. 64位字符串 字段名……. 64位字符串 用户名…….. 16位字符串 密码……… 貌似没限制 Handler(很牛X的东东) Handler testt open as abc; Handler abc read id=(123456); Handler abc close; Benchmark(n,expr)执行N次EXPR并测算时间 Post in LAMP | No Comments » MYSQL在命令行创建存储过程 01月 27th, 2008 MYSQL在命令行创建存储过程 如何在MYSQL命令行创建存储过程 今天早上在百度知道碰到这个问题,我开始没看明白…….后来才知道提问人的意思是要在命令行下创建存储过程。很感谢这个问题,因为我也不会呵呵,我一直都用EMS创建这些东西……. 我也尝试了一些方法,但是第一个分号mysql就以为语句结束了,就拿那个例子来说: CREATE PROCEDURE p7 (IN b INTEGER(12)) begin declare a INTEGER(12); set a=5; INSERT INTO t VALUES (a); SELECT s1*a FROM t WHERE b<=s1; End 这个存储过程,在命令行直接创建的话,在第三排你输入分号后就报错了……因为MYSQL以为这个语句结束了,那对于MYSQL而言 CREATE PROCEDURE p7 (IN b INTEGER(12)) begin declare a INTEGER(12); 肯定是个错误语句。 然后看了些东西,原来要加分隔符- -………. DELIMITER // CREATE PROCEDURE p7 (IN b INTEGER(12)) begin declare a INTEGER(12); set a=5; INSERT INTO t VALUES (a); SELECT s1*a FROM t WHERE b<=s1; End // 就OK了…………意思就是说在//……//之间的当成一个语句执行所以MYSQL接到的才是这个存储过程完整的创建语句。 Post in LAMP | No Comments » mysql 基本命令 01月 27th, 2008 基础介绍: 1.在linux下使用下列命令,请确认mysql的bin目录是否已经加入到PATH路径中,或者是已经进入到mysql安装路径下的bin目录 查看PATH shell> echo $PATH 或者 shell> cd /usr/local/mysql/bin 2.windows下,请运行cmd后,同样检查mysql的bin目录是否已加入到系统的PATH路径中,或直接进入mysql的安装目录 下面所有操作都是确认你以检查mysql的bin目录已加入到系统的PATH路径中,或已经进入mysql的安装目录的bin目录下 1]如何创建mysqld数据库的管理用户? 数据库安装好后,我们应该为mysql数据库创建一个管理帐号。要把root用户设置为管理员,我们应该运行下面的命令; shell> mysqladmin -u root password 123456 通过上面的命令,我们可以知道,mysql数据库的管理员是root,密码是123456。 2]如何进入mysql数据库?以mysql数据库管理员root,密码为123456为例; shell> mysql -uroot -p123456 输出上面的命令后,出现的是如下的提示; Welcome to the MySQL monitor. Commands end with ; or /g. Your MySQL connection id is 6 to server version: 3.23.58 Type ‘help;’ or ‘/h’ for help. Type ‘/c’ to clear the buffer. mysql> 注意:操作这些命令的时候,应该把mysqld服务器打开。这些新手兄弟早就知道了吧:) 3]如何在数据库中操作命令呢,我想这是mysql手册都有的,我主要说几个要注意的地方。其实我也会不了几个命令。如果自己想学的弟兄,也不是什么难事;在windows中操作过mysql的,其实在这里也是一样的,mysql是跨平台的数据库,用法都是相同的。 在mysql数据库中,每操作一个命令,都是;号结尾的,可能有的新手弟兄,忘记输入了;号结尾,结果退不出来。:):) 1]查看mysql中都有哪些数据库? 代码: mysql> show databases; +———-+ | Database | +———-+ | mysql | | test | +———-+ 2 rows in set (0.00 sec) mysql> 在mysql安装好,设置好管理员后,第一次进入系统,我们用show databases;命令查看数据库的列表,发现有两个数据库,mysql和test,这是系统自建的,是让大家练习用的。 4]如何创建和删除一个数据库? 比如我要创建一个名为linux的数据库,应该运行如下命令 mysql> create database [数据库名]; 所以我们应该运行如下的命令,来创建名为linux的数据库 mysql> create database linux; Query OK, 1 row affected (0.00 sec) 是不是建好了呢??肯定是建好了,因为都有OK了:) 查看是不是有linux这个数据库了呢? 代码: mysql> show databases; +———-+ | Database | +———-+ | linux | | mysql | | test | +———-+ 3 rows in set (0.00 sec) 那我们如何删除一个数据库呢?? mysql> drop database [数据库名]; 比如我们要把刚才创建的linux数据库删除,应该用下面的命令; mysql> drop database linux; Query OK, 0 rows affected (0.00 sec) 是不是已经删除了呢?? 代码: mysql> show databases; +———-+ | Database | +———-+ | mysql | | test | +———-+ 2 rows in set (0.00 sec) 5]如何操作一个数据库呢,这个问题就比较多了,建议还是看一下mysql的手册吧。里面的东西太多了。如果操作一个数据库,首先是要指定一个数据库为当前数据库,应该用use命令 mysql>use [数据库]; 比如我想指定linux这个数据库为当前数据库,应该是 mysql> use linux; Database changed 6]如何备份数据库?? 比如我们要备份mysql中已经存在的名为linux的数据库,要用到命令mysqldump 命令格式如下: shell> mysqldump -uroot -p linux > /root/linux.sql Enter password:在这里输入数据库的密码 通过上面的命令,我们要明白两件事,首先备份数据库是要以数据库管理员的身份备份;其次:备份目的地是/root,备份的文件名是linux.sql。其实备份的位置和文件名,根据自己的情况来定。文件名可以自己来取,路径也可以自己来安排; 比如我想把linux的数据库备份到/home/beinan,数据库的文件名为linuxsir031130.sql,所以应该输入如下的命令。 shell> mysqldump -uroot -p linux > /home/beinan/linuxsir031130.sql Enter password:在这里输入数据库管理员root的数据库密码 这样我们到/home/beinan目录下就能发现mysql中名为linux的数据库的备份文件linuxsir031130.sql 综上所述,我们学习时要学会变通。:):) 5]如何把把备份的数据库导入到数据库中? 首先我们还是要操作上面几个过程,比如添加数据库管理员(如果您没有添加过mysql数据库管理员的话),创建数据库等。 比如我们要把在/home/beinan这个目录中的linuxsir031130.sql这个备份,导入名为linux的数据库中,应该如下操作; shell> mysql -uroot -p linux < /home/beinan/linuxsir031130.sql Enter password:在这里输入密码 如果机器好,数据库比较小,几分钟就好了。 6]其它一些比较常用的mysql指令; 查看状态 mysql> show status; 查看进程 代码: mysql> show processlist; +—-+——+———–+——+———+——+——-+——————+| Id | User | Host | db | Command | Time | State | Info | +—-+——+———–+——+———+——+——-+——————+| 16 | root | localhost | NULL | Query | 0 | NULL | show processlist | +—-+——+———–+——+———+——+——-+——————+ 1 row in set (0.00 sec) 查看表,应该先指定一个数据库为当前数据库;比如是名为linux的数据库; mysql>use linux; mysql> show tables; Empty set (0.00 sec) 7]对mysql数据库常用命令的一点补充; 几个常用的mysql相关的管理命令 mysql 命令:基本文本的,显示和使用的mysql数据库。前面已经简单的提过用法;比如登录等。 mysqladmin 命令,用来创建和维护mysql数据库的命令,前面已经简单的提过; isamchk 是用来修复、检查和优化.ism后缀的数据库文件; mysqldump 是用于备份数据库,前面已经简单的说明过; myisamchk 用来修复.myi后缀的数据库文件; 比如我们要检查名为linux的数据库.myi数据库表是否存在问题,应该用下面的命令; 要把mysqld服务器停下来 shell> ../share/mysql.server stop 然后执行 shell> myisamchk ../var/linux/*.MYI 上面的命令的意思就是检查所有的.myi文件,数据库的目录在../var/linux/目录中 如果有问题,应该用-r参数来修复 shell> myisamchk -r ../var/linux/*.MYI 6]mysqlshow 命令:显示用户选择的数据库和表 shell> mysqlshow -uroot -p [数据库名] 比如我要查看名为linux的数据库;应该是: shell> mysqlshow -uroot -p linux 好了,到这里,你可能已经知道命令行下的所有基本操作了~ ps:补充一个。。 更改ROOT帐号名。 update set user=”新名字” where user=”旧名字”; 自己补充: 在windows中的关闭mysql命令 net stop mysql ;启动是net start mysql OPTIMIZE TABLE “;优化表 Post in LAMP | No Comments » ib_logfile0和ib_logfile1,为INNODB数据LOG文件 01月 27th, 2008 ASK: 我的系统是windows2003,最近装了MYSQL5.0后发现C盘容量剧减,后来仔细检查了一下,发现ib_logfile0和 ib_logfile1竟然用了600多M,现在C盘8G的空间就剩余200M了,请问我要怎样转移ib_logfile0和ib_logfile1文件到D盘呢? DA: ib_logfile0和ib_logfile1,为INNODB数据LOG文件,先停下数据库. 将这三个文件拷到它处 修改MY.INI配置文件, 参数改为新目录 ————————— innodb_log_group_home_dir The directory path to the InnoDB log files. It must have the same value as innodb_log_arch_dir. If you do not specify any InnoDB log parameters, the default is to create two 5MB files names ib_logfile0 and ib_logfile1 in the MySQL data directory. ———— 再启动 不过有个问题,LOG文件是固定不变,用来存储未提交的数据,一般设为几十兆就可以了,你的是否设置有问题.
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics