php mysql 课件_PHP学习mysql课件 高级篇_php基础

MySQL数据库管理

数据库的启动与关闭,安全、访问控制和权限,数据库的备份与恢复,导入和导出记录

数据库管理员的职责

服务器的启动与关闭

用户帐户维护

日志文件维护

数据库的备份与拷贝

服务器的优化

数据库管理系统的软件更新

数据目录的安全性

服务器的安全性

灾难恢复

预防性维护

""""""""""""""""``

数据库的启动与关闭

1、数据库的启动:

方法一:使用service 命令启动MySQL

# service mysqld start

// mysqld是MySQL的守护进程,通过运行它来启动MySQL服务。

方法二:使用mysqld脚本启动MySQL

# /etc/init.d/mysqld start

方法三:使用safe_mysqld实用程序启动MySQL服务,此方法可以使用相关参数

# safe_mysqld&

使用&符号将safe_mysqld放在后台运行。

"""""""""""""""""""``

校验MySQL是否被启动:

# service mysqld status

//返回如下信息,表示已经启动

mysqld (pid 1663) is running...

//1663是mysqld运行的进程号,可能根据不同系统运行的进程数量而不同

若需要重新启动MySQL可以使用如下命令之一:

# service mysqld restart

# /etc/init.d/mysqld restart

""""""""""""""""""``

2、数据库的关闭:

可以使用如下命令之一:

# service mysqld stop

# /etc/init.d/mysqld stop

# /mysqladmin shutdown

MySQL管理

修改root管理密码

方法一:

mysql>set password for ‘帐号'@‘主机' = old_password(‘密码');

update mysql.user set password = old_password(‘密码') where host = ‘主机' and user = ‘帐号';

flush privileges;

方法二:

mysqladmin password 'crq'

用户密码

对于MySQL密码可以使用PASSWORD()和ENCRYPT()函数进行加密

mysql>select PASSWORD(“alex”);

“23fc96e064be0017”

注:ENCRYPT()在Windows上不可用

方法三:使用update语句和password()函数将root口令设置为crp。

mysql> update user set password=password('crq')

-> where user='root';

//返回如下信息,表示授权表user修改成功

Query OK, 2 row affected (0.09 sec)

Rows matched:2 changed:2 warnings: 0

注意:由此种方法是直接对授权表user进行修改,而服务器只有在启动时才会加载授权表中的权限设置,因此必须要使用客户端程序mysql环境下的flush privileges命令或使用管理工具mysqladmin的flush-privileges子命令通知服务器重新加载授权表。

mysql> flush privileges; //此时即生效可以使用。

""""""""""""""""""""""`

改变数据库存储路径

在Window下,MySQL的所有数据库都保存在“%mysqlroor%\data”目录下。

停止MySQL服务

修改%systemroor%\my.ini文件

[mysqld]

datadir=D:/data

将原目录中的所有文件和文件夹内容,全部移动到新的目录D:/data目录中。

重启MySQL服务

修改MySQL字符集

找到MySQL配置文件my.ini,一般在C:\window\my.ini。

在my.ini文件里面加上“default-character-set=gbk #”或gb2312,utf8

重启MySQL服务

删除匿名用户:

myslq> delete from user where user=' ';

//返回如下信息,表示匿名用户删除成功

Query OK, 2 row affected (0.03 sec)

添加新的用户权限:

使用grant语句用于授予用户权限,

语法:

GRANT priv_type[(column_list)][,priv_type[(column_list)]…]

ON {*.* | * | db_name.* | db_name.tabl_name | db_name}

TO user_name [IDENTIFIED BY ‘password']

[,user_name [IDENTIFIED BY ‘password']…]

[WITH GRANT OPTION]

创建新用户

制定用户名,最长允许为16个英文字符

制定允许该用户可以访问的数据库和表

制定允许该用户对数据库做什么的操作

制定允许该用户从哪些主机/IP进行远程连接

制定允许该用户对其他用户进行授权或取消授权

例如:添加一个可以从本地主机连接到MySQL服务器的超级用户crq,但是连接时必须使用口令crqpass

mysql> grant all on *.* to crq@localhost identfied by 'crqpass' with grant option;

//返回如下信息,表明权限设置成功

Query OK, 0 rows affected (0.02 sec)

例如:使用同样的方法添加一个可以从其他任何地方连接到MySQL服务器的超级用户crq,但是连接时必须使用口令crqpass

mysql> grant all on *.* to crq@'%' identified by ‘crqpass' with grant option;

授予用户特定的权限:

使用grant语句添加一个可以从本地机连接的MySQL服务器的用户user1,并且只授予其针对sales数据库中employee表的select和insert权限。

mysql> grant select,insert on sales.employee to user1@localhost identified by ‘user1pass';

说明:使用:# mysql –u user1 –puser1pass 登录数据库以后可以做如下操作:

mysql> use sales; //打开sales数据库

mysql> show tables; //只能看到employee表

mysql> select * from employee; //可进行查看操作

mysql> insert into employee ……. //可进行插入操作。

撤销用户权限:

语法:REVOKE priv_type[(column_list)][,priv_type[(column_list)]…]

ON {*.* | * | db_name.* | db_name.tbl_name | db_name}

FROM user_name [,user_name…]

例如:撤消用户user1针对sales数据库中employee表的insert权限:

mysql> revoke insert on sales.employee from user1@localhost;

//返回如下信息,表明权限撤销成功。

Query OK, 0 row in set affected (0.00 sec)

""""""""""""""""""""""""""""""`

权限更改何时生效

当mysqld启动时,所有的授权表内容被读进存储器并且从那点生效。

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

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

权限更改的影响

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

表和列权限在客户的下一次请求时生效。

数据库权限改变在下一个USE db_name命令生效。

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

数据库的备份与恢复

1、数据库的备份:

A、用mysqldump备份数据库:

语法: mysqldump [OPTIONS] database [table]

实例:

将数据库sales备份成sales_bak030630.sql文件。

# mysqldump –u root –p --opt sales > sales_bak030630.sql

//返回如下信息,表明备份成功

-rw-r--r-- 1 root root 2296 Jun 29 23:30 sales_bak030630.sql

B、用直接拷贝的方法备份数据库:

不用mysqldump 来备份数据库或表的另一种方法是直接拷贝表文件。通常可利用像cp、tar 或cpio 这样的实用程序来进行。当使用直接拷贝备份( direct-copy backup)方法时,必须确保没有使用这些表。如果在拷贝一个表的同时服务器正在修改它,则拷贝无效。

确保拷贝完整性的最好方法是关闭服务器,拷贝文件,然后重新启动服务器。

2、数据库的恢复:

数据库系统出现崩溃时,应该使用最近的一次备份对数据库进行恢复,如果启用了更新日志,还需要重新执行更新日志中最近一次备份之后对数据库进行修改的任何查询,以尽可能将数据恢复到崩溃时刻所处的状态。

# mysql –u root –p sales < sales_bak030630.sql

优化表

在大多数情况下,优化表的做法很值得。当一个表被多次修改,那它的结构将很快变得支离破碎,其结果是导致性能的下降。这个时候可以使用OPTIMIZE TABLE 命令来刷新,清理出空间。

mysql>OPTIMIZE TABLE tablename;

导入和导出记录

INSERT语句不是向表中插入记录的唯一方法,MySQL还允许使用LOAD DATA INFILE 命令一次性插入多条记录。这个命令可以从文本文件读出原始数据(该文件可以放置在连接服务器上或者客户端),在列和行界定符号的基础上进行分析,然后自动产生INSERT 语句来向一个表写数据。

导入数据

默认情况下,MySQL认为数据文件是在服务器上,在LOAD DATA INFILE 语句中指定位置。

如果想要使用客户机上的数据,可以在语句中添加LOCAl关键字,告诉MySQL在客户机的文件系统上查找文件。

mysql>LOAD DATA LOCAL INFILE ‘c:\\data.txt'

INTO TABLE user

FIELDS TERMINATED BY ‘,' LINES TERMINATED BY ‘\n';

最好在此之前加上如下命令

mysql>LOAD DATA LOW_PRIORITY INFILE ‘data.txt' INTO TABLE user;

当然还有IGNORE REPLACE等关键字。

导出数据

如果不指定一个FIELDS子句,缺省值与这样写的相同:

FIELDS TERMINATED BY '\t' ENCLOSED BY '' ESCAPED BY '\\'

如果不指定一个LINES子句,缺省值与这样写的相同:

LINES TERMINATED BY '\n'

换句话说,缺省值导致读取输入时,LOAD DATA INFILE表现如下:

在换行符处寻找行边界

在定位符处将行分成字段

不要期望字段由任何引号字符封装

将由“\”开头的定位符、换行符或“\”解释成字段值的部分字面字符

导出数据

相反,缺省值导致在写入输出时,SELECT ... INTO OUTFILE表现如下:

在字段之间写定位符

不用任何引号字符封装字段

使用“\”转义出现在字段中的定位符、换行符或“\”字符

在行尾处写换行符

注意,为了写入FIELDS ESCAPED BY '\\',对作为一条单个的反斜线被读取的值,你必须指定2条反斜线值。

f68f2add0b68e4f9810432fce46917b7.png

本文原创发布php中文网,转载请注明出处,感谢您的尊重!

【完整课件如下】 MySQL从入门到精通 第01章 初始MySQL(共19页).ppt MySQL从入门到精通 第02章 MySQL的安装与配置(共14页).ppt MySQL从入门到精通 第03章 数据库的基本操作(共11页).ppt MySQL从入门到精通 第04章 数据表的基本操作(共26页).ppt MySQL从入门到精通 第05章 数据类型和运算符(共17页).ppt MySQL从入门到精通 第06章 MySQL函数(共76页).ppt MySQL从入门到精通 第07章 查询数据(共48页).ppt MySQL从入门到精通 第08章 插入、更新与删除数据(共10页).ppt MySQL从入门到精通 第09章 索引(共11页).ppt MySQL从入门到精通 第10章 存储过程和函数(共19页).ppt MySQL从入门到精通 第11章 视图(共20页).ppt MySQL从入门到精通 第12章 触发器(共11页).ppt MySQL从入门到精通 第13章 用户管理(共25页).ppt MySQL从入门到精通 第14章 数据备份与还原(共21页).ppt MySQL从入门到精通 第15章 MySQL日志(共22页).ppt MySQL从入门到精通 第16章 性能优化(共18页).ppt MySQL从入门到精通 第17章 MySQL Workbench5.2 的使用(共15页).ppt MySQL从入门到精通 第18章 MySQL Replication(共27页).ppt MySQL从入门到精通 第19章 MySQL Cluster(共49页).ppt MySQL从入门到精通 第20章 PHP操作MySQL数据库(共7页).ppt MySQL从入门到精通 第21章 MySQL实战-新闻发布系统数据库设计(共6页).ppt MySQL从入门到精通 第22章 MySQL实战-论坛管理系统数据库设计(共6页).ppt
数据治理是确保数据准确性、可靠性、安全性、可用性和完整性的体系和框架。它定义了组织内部如何使用、存储、保护和共享数据的规则和流程。数据治理的重要性随着数字化转型的加速而日益凸显,它能够提高决策效率、增强业务竞争力、降低风险,并促进业务创新。有效的数据治理体系可以确保数据在采集、存储、处理、共享和保护等环节的合规性和有效性。 数据质量管理是数据治理中的关键环节,它涉及数据质量评估、数据清洗、标准化和监控。高质量的数据能够提升业务决策的准确性,优化业务流程,并挖掘潜在的商业价值。随着大数据和人工智能技术的发展,数据质量管理在确保数据准确性和可靠性方面的作用愈发重要。企业需要建立完善的数据质量管理和校验机制,并通过数据清洗和标准化提高数据质量。 数据安全与隐私保护是数据治理中的另一个重要领域。随着数据量的快速增长和互联网技术的迅速发展,数据安全与隐私保护面临前所未有的挑战。企业需要加强数据安全与隐私保护的法律法规和技术手段,采用数据加密、脱敏和备份恢复等技术手段,以及加强培训和教育,提高安全意识和技能水平。 数据流程管理与监控是确保数据质量、提高数据利用率、保护数据安全的重要环节。有效的数据流程管理可以确保数据流程的合规性和高效性,而实时监控则有助于及时发现并解决潜在问题。企业需要设计合理的数据流程架构,制定详细的数据管理流程规范,并运用数据审计和可视化技术手段进行监控。 数据资产管理是将数据视为组织的重要资产,通过有效的管理和利用,为组织带来经济价值。数据资产管理涵盖数据的整个生命周期,包括数据的创建、存储、处理、共享、使用和保护。它面临的挑战包括数据量的快速增长、数据类型的多样化和数据更新的迅速性。组织需要建立完善的数据管理体系,提高数据处理和分析能力,以应对这些挑战。同时,数据资产的分类与评估、共享与使用规范也是数据资产管理的重要组成部分,需要制定合理的标准和规范,确保数据共享的安全性和隐私保护,以及建立合理的利益分配和权益保障机制。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值