390 likes | 836 Views
第 4 讲 MySQL 服务器的配置与应用. 目录. MySQL 概述 MySQL 的安装 创建数据库 创建表 插入数据 查询数据 更新表 删除表 使用 show 命令 对表的其他操作 用户权限管理 MySQL 数据库的备份与恢复. MySQL 概述. MySQL 是一个高性能、多线程、多用户、建立在客户 / 服务器结构上的开源关系型数据库管理系统 MySQL 是世界上最受欢迎的开放源代码数据库,当前全世界有超过 600 万的系统使用 MySQL MySQL 的官方网站为 http://www.mysql.com. MySQL 的优点.
E N D
目录 • MySQL概述 • MySQL的安装 • 创建数据库 • 创建表 • 插入数据 • 查询数据 • 更新表 • 删除表 • 使用show命令 • 对表的其他操作 • 用户权限管理 • MySQL数据库的备份与恢复
MySQL概述 • MySQL是一个高性能、多线程、多用户、建立在客户/服务器结构上的开源关系型数据库管理系统 • MySQL是世界上最受欢迎的开放源代码数据库,当前全世界有超过600万的系统使用MySQL • MySQL的官方网站为http://www.mysql.com
MySQL的优点 • 性能高效而稳定 • 开放源代码 • 多用户支持 • 可以有效地满足50~1000个并发用户的访问 • 开放性 • 支持ANSI SQL-99标准,适用于多种操作系统 • 广泛的应用程序支持 • 有C、C++、Java、Perl、PHP和Python等多种客户工具和API的支持 • 支持事务处理、行锁定、子查询、外键和全文检索等功能 • 支持大数据库处理 • 可对某些包含50000000个记录的数据库使用MySQL • 有灵活且安全的权限和口令系统,并且允许对其他主机的认证
MySQL的安装 • 查看是否安装了MySQL • rpm -qa | grep mysql • 相关软件说明 • mysql:客户程序和共享库 • mysqlclient:开发MySQL客户端程序时使用的库和头文件 • mysql-server:MySQL数据库服务器 • mysql-bench: MySQL数据库基准和性能测试工具 • mysql-devel:开发MySQL程序时使用的库和头文件 • MySQL的配置文件:/etc/my.cnf • 启动MySQL数据库服务器 • service mysqld start
连接数据库 • 使用mysql命令登录MySQL数据库服务器 • 语法:mysql [-h 主机名或IP地址] [-u 用户名] [-p 口令] • 例子:mysql -uroot -p • 注意:root的密码默认为空
创建数据库(1) • 使用show databases能够查看MySQL系统中存在的数据库
创建数据库(2) • 使用create database创建数据库 • 使用use命令选择数据库 • 删除数据库 • MySQL> drop database accounts;
创建表 • 使用create table命令创建表 • 删除表 • mysql> drop table acc;
创建表(2) • 查看当前数据库中的所有表
创建表(3) • 使用describe(可以缩写为desc)命令查看表的结构
插入数据(1) • acc表的样例数据
插入数据(2) • 使用insert命令插入数据 • 使用NULL值
查询数据(1) • select命令的格式
查询数据 • 将表的数据输出到文本文件 • 行计数
使用show命令(1) • show databases
使用show命令(2) • show tables
用户权限管理 • 添加用户和权限 • 删除权限 • 修改MySQL管理员root的口令
添加用户 (1) • 使用grant命令添加用户
添加用户 (2) • 权限( privileges) • ALL —授予用户如下的所有权限 • ALTER —改变表、列和索引 • CREATE —创建数据库和表 • DELETE —删除表中的记录 • DROP —丢弃和删除表和数据库 • FILE —读、写文件 • INDEX —添加、删除索引 • INSERT —向表中插入记录 • PROCESS —查看和停止系统进程
添加用户 (3) • REFERENCES —当前的MySQL还不能使用 • RELOAD —使用FLUSH语句 • SELECT —从表中查询记录 • SHUTDOWN —关闭MySQL数据库 • UPDATE —更新表中的记录 • USAGE —连接到MySQL数据库,但是没有权限
添加用户:例子 • 例1:创建口令为 99hjc的用户john,该用户在数据库myDB的所有表都有select和insert权限,并且能够从任何主机连接到数据库服务器 mysql> grant select, insert on myDB.* to john@”%” identified by “99hjc”;
添加用户:例子 • 例2:添加口令为45sdg11的用户jane, 该用户在数据库myCompany的表employees上具有ALL权限,并且只能从特定的主机上连接数据库 mysql> grant all on myCompany.employees to jane@janescomputer.company.com identified by “45sdg11”; • 例3: mysql> grant all on myCompany.employees to jane@’63.124.45.2’ identified by “45sdg11”;
回收权限 • revoke命令的语法 • 回收用户john在数据库myCompany的insert权限 mysql> revoke insert on myDB.* from john@”%”;
修改MySQL管理员root的口令 • 在初始安装MySQL服务器时,管理员root的密码为空 • 使用mysqladmin命令修改root用户的密码 • 例:将root用户密码改为kswTG23a • mysqladmin -u root password kswTG23a • 如果已经为root用户设置了密码,当再次修改其密码时,需要使用如下格式的mysqladmin命令 • mysqladmin -u root -p password 新密码字符串
MySQL数据库的备份与恢复 • 使用mysqldump命令备份MySQL数据库 • cd /var/lib/mysql • mysqldump -uroot -p --opt sales > sales_bak030630.sql • 恢复数据库 • mysql -uroot -p • mysql> drop database sales;(删除sales数据库) • mysql> use sales;(打开sales,出错) • mysql> create database sales;(重新创建数据库sales) • mysql> \q • cd /var/lib/mysql • mysql -uroot -p sales < sales_bak030630.sql • mysql -uroot -p(测试sales恢复情况) • mysql> use sales; • mysql> show tables;