MySql数据库是中小型网站背景数据库的首选,由于它对非贸易运用是免费的.网站开辟者能够搭建一个"Linux+Apache+PHP+MySql"平台,这是一个最省钱的高效平台.在运用MySql举行开辟时,MySql自带的文档关于新手来说是份很好的参考材料.本文是我在运用MySql中的小小心得。
当前平经常使用户的开辟环境多是Windows或Linux,用户能够到http://www.codepub.com/software/index.html下载相干版本举行装置,在windows中MySql以效劳情势存在,在运用前应确保此效劳已启动,未启动可用net start mysql敕令启动。而Linux中启动时可用“/etc/rc.d/init.d/mysqld start"敕令,注重启动者应具有治理员权限。
刚装置好的MySql包括一个含空暗码的root帐户和一个匿名帐户,这是很大的安全隐患,关于一些主要的运用我们应将安全性尽量进步,在这里应把匿名帐户删除、 root帐户设置暗码,可用以下敕令举行:
use mysql; delete from User where User=""; update User set Password=PASSWORD('newpassword') where User='root';
假如要对用户所用的登录终端举行限定,能够更新User表中相运用户的Host字段,在举行了以上变动后应重新启动数据库效劳,此时登录时可用以下相似敕令:
mysql -uroot -p; mysql -uroot -pnewpassword; mysql mydb -uroot -p; mysql mydb -uroot -pnewpassword;
上面敕令参数是经常使用参数的一部分,细致情况可参考文档。此处的mydb是要登录的数据库的称号。
在举行开辟和现实运用中,用户不该该只用root用户举行衔接数据库,虽然运用root用户举行测试时很轻易,但会给体系带来严重安全隐患,也不利于治理手艺的进步。我们给一个运用中运用的用户赋予最适当的数据库权限。如一个只举行数据插进去的用户不该赋予其删除数据的权限。MySql的用户治理是经由过程User表来完成的,增添新用户经常使用的要领有两个,一是在User表插进去响应的数据行,同时设置响应的权限;二是经由过程GRANT敕令竖立具有某种权限的用户。个中GRANT的经常使用用法以下:
grant all on mydb.* to NewUserName@HostName identified by "password" ;
grant usage on *.* to NewUserName@HostName identified by "password";
grant select,insert,update on mydb.* to NewUserName@HostName identified by "password";
grant update,delete on mydb.TestTable to NewUserName@HostName identified by "password";
若要给此用户赋予他在响应对象上的权限的治理能力,可在GRANT背面增添WITH GRANT OPTION选项。而关于用插进去User表增添的用户,Password字段运用PASSWORD 函数举行更新加密,以防不轨之人窃看暗码。关于那些已不必的用户应赋予消灭,权限过界的用户应实时接纳权限,接纳权限能够经由过程更新User表响应字段,也能够运用REVOKE操纵。
下面给出本人从别的材料(www.cn-java.com)取得的对经常使用权限的诠释:
全局治理权限:
FILE: 在MySQL效劳器上读写文件。
PROCESS: 显现或杀死属于别的用户的效劳线程。
RELOAD: 重载接见控制表,革新日记等。
SHUTDOWN: 封闭MySQL效劳。
数据库/数据表/数据列权限:
Alter: 修正已存在的数据表(比方增添/删除列)和索引。
Create: 竖立新的数据库或数据表。
Delete: 删除表的纪录。
Drop: 删除数据表或数据库。
INDEX: 竖立或删除索引。
Insert: 增添表的纪录。
Select: 显现/搜刮表的纪录。
Update: 修正表中已存在的纪录。
迥殊的权限:
ALL: 许可做任何事(和root一样)。
USAGE: 只许可登录--别的什么也不许可做。
末了给出本人在RedHat9.0下的MySql操纵演示:
选用数据库的root用户登录
[weiwen@weiwenlinux]$mysql -uroot -p Enter password:MyPassword mysql>create database mydb; Query OK, 1 row affected (0.02 sec) mysql>use mydb; Database changed mysql>create table TestTable(Id int aut_increment primary key, UserName varchar(16) not null, Address varchar(255)); Query OK, 0 rows affected (0.02 sec) mysql>grant all on mydb.* to test@localhost identified by "test"; Query OK, 0 rows affected (0.01 sec) mysql>quit Bye [weiwen@weiwenlinux]$mysql mydb -utest -ptest
个中test.sql是用vi编辑好的SQL剧本,其内容为:
Insert into TestTable(UserName,Address)values('Tom','shanghai');
Insert into TestTable(UserName,Address)values('John','beijing');
select * from TestTable;
运转已编辑好的SQL剧本能够用source filename 或 .\ filename。
以上只是对新手的简朴演习,要成为一个数据库好手,当以废寝忘食地寻求学问,不断地思索、尝试、再思索。
。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。
MySql经常使用敕令总结
这两天搞个网站,又用到MySql,但是敕令却一个都想不起来,所以,趁此次时机,把这些整顿一下,权当作笔记吧,以便本身今后查阅!
1:运用SHOW语句找出在效劳器上当前存在什么数据库:
mysql> SHOW DATABASES;
2:2、竖立一个数据库MYSQLDATA
mysql> Create DATABASE MYSQLDATA;
3:挑选你所竖立的数据库
mysql> USE MYSQLDATA; (按回车键涌现Database changed 时申明操纵胜利!)
4:检察如今的数据库中存在什么表
mysql> SHOW TABLES;
5:竖立一个数据库表
mysql> Create TABLE MYTABLE (name VARCHAR(20), sex CHAR(1));
6:显现表的构造:
mysql> DESCRIBE MYTABLE;
7:往表中到场纪录
mysql> insert into MYTABLE values ("hyq","M");
8:用文本体式格局将数据装入数据库表中(比方D:/mysql.txt)
mysql> LOAD DATA LOCAL INFILE "D:/mysql.txt" INTO TABLE MYTABLE;
9:导入.sql文件敕令(比方D:/mysql.sql)
mysql>use database; mysql>source d:/mysql.sql;
10:删除表
mysql>drop TABLE MYTABLE;
11:清空表
mysql>delete from MYTABLE;
12:更新表中数据
mysql>update MYTABLE set sex="f" where name='hyq';
以上就是本文的全部内容,愿望对人人的进修有所协助,更多相干内容请关注ki4网!
相干引荐:
mysql 中use mysql denied_MySQL
以上就是关于MYSQL敕令行情势治理的题目的细致内容,更多请关注ki4网别的相干文章!