mysql in web
{
php操纵mysql数据库的过程一般包括以下几个步骤:
>>将sql语句赋值给某个字符串变量;
>>执行sql语句;
>>如果是select语句,则从游标当前位置读取一条记录的数据。
}
 
mysql 高级管理
{
增加新用户并授权
mysql> grant all on huazi_test.huazi_test_1 to newuser@localhost identified by "password";
Query OK, 0 rows affected (0.00 sec)
 
收回权限
mysql> revoke all on huazi_test_1 from newuser@localhost;
Query OK, 0 rows affected (0.00 sec)
 
删除用户,重新加载授权表
mysql> use mysql;
Database changed
mysql> delete
    -> from user
    -> where user="newuser" and host="localhost";
Query OK, 1 row affected (0.00 sec)
 
mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)
 
用户管理表
直接修改用户密码
mysql> use mysql;
Database changed
mysql> update user
    -> set password=password("password")
    -> where user='root';
Query OK, 3 rows affected (0.00 sec)
Rows matched: 3  Changed: 3  Warnings: 0
 
mysql> flush privileges;
Query OK, 0 rows affected (0.01 sec)
 
管理日志文件
类型:
>>常规日志文件:记录客户机连接、事件,跟linux其它服务器日志差不多;
>>更新日志:包括delete、insert、drop、grant等;
 
恢复数据库的过程使用两个信息源:备份文件和更新日志;
 
备份文件恢复数据库,前面的导入数据库已经讲到
强调一点:如果要恢复的数据库是含有授权表的mysql数据库,则需要
使用--skip-grant-tables选项启动服务器。否则,服务器将提示无法
找到授权表。恢复表以后,执行以下命令:
mysqladmin flush-privileges
告诉服务器加载授权表,并用它们启动。
 
更新日志恢复数据库:
mysql --one-database db_name<update.001
用--one-database选项指定只对想要的数据库执行查询命令;
!!!删除日志文件中引起数据丢失的操作语句:drop、delete等。
 
添加常规和更新日志设置
vi /etc/my.cnf
{
[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
user=mysql
log=/var/log/mysqld/log.log //手动添加
log-update=/var/log/mysqld/update.log //手动添加
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
 
[mysqld_safe]
log-error=/var/log/mysqld/mysqld.log //修改在mysqld目录下吧
pid-file=/var/run/mysqld/mysqld.pid
}
 
[root@huazi ~]# mkdir /var/log/mysqld
[root@huazi ~]# chown mysql.mysql /var/log/mysqld
[root@huazi ~]# /etc/init.d/mysqld restart
停止 mysqld:                                              [确定]
正在启动 mysqld:                                          [确定]
[root@huazi ~]# ls /var/log/mysqld
log.log  mysqld.log  update.000001  update.index
}
 
系统数据库mysql
{
user表有三个列:
>>host 主机名或者一个IP地址
>>User 用户名。常量或者空值,空值表示匿名用户。
>>password 用户口令。用grant语句和mysqladmin password对口令加密。
                    使用insert等直接对user操作的时候,需要用password("new_password")加密。
 
用户和权限管理
>>grant:简单
>>insert:细心一点
>>update:别忘了重新加载mysqladmin flush-privileges或者mysqladmin reload
 
超级用户是这样来的:
>>>>grant all on *.* to super_user@localhost identified by "my_passwoed" with grant option;
评:一句话搞定
>>>>insert into user values ('localhost','super_user',PASSWORD('my_password'),
'Y','Y','Y',...'Y');
下面是我用select * from user where user='root'的结果,有多少个Y,自己数数看吧。
| localhost | root | *8EE196D30FE2469CFB8A31A7930CF28AC88F3492 | Y           | Y           
| Y           | Y           | Y           | Y         | Y           | Y             
| Y            | Y         | Y          | Y               | Y          | Y          
| Y            | Y          | Y                     | Y                | Y            
| Y               | Y                | Y                | Y              | Y                   
| Y                  | Y                | Y          | Y            |          |            
|             |              |             0 |           0 |               0 |                    
0 | 
评:grant语句很大原因是因为insert权限而存在的。                                      
 
数据库级用户是这样来的:
>>>>grant all on student_course.* to db_user@localhost identified by "my_passwd"
    with grant option;
评:一句话搞定
>>>>insert into user(host,user,password)
    values('localhost','db_user',PASSWORD('my_passwd'));
    insert into db
    values('localhost','student_course','db_user','Y','Y','Y','Y'...);
select * from db where user='db_user'的结果如下,明显少了很多Y
| localhost | database_huazi | db_user | Y           | Y           | Y           
| Y           | Y           | Y         | Y          | Y               | Y          
| Y          | Y                     | Y                | Y                
| Y              | Y                   | Y                  | Y            
| Y          | Y            |
评:grant语句很好用
}
 
 
 
 
嘎嘎,用了几天时间,把linux,apache,mysql的基础知识梳理了一遍。
哇哇,头都大鸟,温故而知新,永远都不要怀疑知识是有尽头的。。。
记住这句话,我们就变得谦卑多了。。。
还有个php,那个不是一两天就能梳理完的,一个受全世界欢迎的语言不是
一两天就能搞定的。
先到这里吧。。。。
待续。。。
.
.
.
.
.
.