实验要求:
1、编译安装mysql数据库
2、登录数据库,创建benet数据库和班级名表,表中有name(姓名)、passwd(密码)两个字段。查询表的结构。
3、插入本人名和张三、李四三条记录,密码为用户拼音。验证成功添加。
4、删除张三的记录。更改李四的密码为123456,分别查询张三和李四的数据记录。
5、备份班级名数据表后删除数据表,查询表已删除成功,然后恢复班级名数据表,验证恢复成功
6、再建立数据库accp,建立一个表。建立自己名称的用户,并授予远程连接的权限,只对benet有权限(所有权限),对accp只能查询。
7、在Windows客户机上安装Navicat for MySQL,并且远程连接mysql,测试第6步的权限。
1.编译安装MySQL数据库系统
为了避免发生端口冲突、程序冲突等现象,建议先查询MySQL软件的安装情况,确认没有使用一RPM方式安装的mysql-server、mysql软件包,否则建议将其卸载。
安装mysql之前,需要先安装ncurses-devel(系统光盘自带,可以使用rpm方法安装);
cmake(MySQL5.5需要cmake编译安装,如果系统中没有安装cmake,可以使用gmake来编译安装cmake)。
创建运行用户,此用户不需要直接登录到系统,可以不创建宿主目录。
解包
配置、编译及安装,各配置选项的含义:
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql //指定mysql数据库程序安装目录
-DSYSCONFDIR=/etc //指定初始化参数文件目录
-DDEFAULT_CHARSET=utf8 //指定默认使用的字符集编码,utf8为国际编码。
-DDEFAULT_COLLATION=utf8_general_ci //指定默认使用的字符集校对规则
-DWITH_EXTRA_CHARSETS=all //指定额外支持的其他字符集编码
对数据库目录进行权限设置
将原有的my.cnf文件删除
建立配置文件
注意:MySQL源码目录中的support-files文件夹里提供了不同负载数据库的样本配置文件,如果不确定数据库系统的应用规模,一般选择my-medium.cnf文件即可,该文件能够满足大多数企业的中等应用需求。
初始化数据库,运行用户mysql的身份执行初始化脚本mysql_install_db
选项含义:
--user //使用指定用户来运行脚本文件
--basedir //指定MySQL的安装路径
--datadir //指定MySQL的数据库文件存放路径
设置环境变量,方便在任何目录下使用mysql命令。
/etc/profile文件中修改环境变量,在这里修改的内容对所有用户都起作用。
PATH环境变量指定了shell寻找命令或程序的目录
立即执行
复制服务脚本到/etc/init.d/下,改名为mysqld,添加系统服务mysqld。
启动mysqld服务,查看端口,发现mysql服务器默认通过tcp3306端口提供服务。
1.使用MySQL数据库
登录到MySQL服务器
默认管理员用户名为”root”,密码为空。
有两种方法修改用户密码:
用于访问数据库的各种用户信息都保存在mysql库的user表中,可以直接在mysql数据库服务器中修改用户密码。
注意:passwor(‘123456’) //表示密码被加密;
在MySQL数据库服务器中,语句要以”;”结束。
Flush privileges //表示刷新授权信息,再次登录需要输入新的密码。
在linux命令行环境中,使用’mysqladmin’工具设置MySQL数据库用户密码。
注意:”Enter password” 后面输入的是数据库用户的原密码。
创建数据库benet
切换到benet数据库
创建新表t369,还可以添加其他字段,如:default设置默认的数据;
Primary key 设置主键。
查看表的结构
在t369表中插入数据
查询t369表中的所有数据
删除表中数据
修改表中数据
备份表t369,保存为/var/t369.sql
注意: mysqldump -u root -p benet > benet.sql //表示备份数据库benet
mysqldump -u root -p --opt --all-databases > all-data.sql //表示备份所有数据库,”--opt”表示优化执行速度。
myaql -u root -p [库名] [表名] < /备份路径/备份文件名 //恢复数据库(如果,备份文件中只包含表的备份,在执行导入操作时必须指定库名,且目标库必须存在)。
设置用户权限(用户不存在时,则新建用户)
Grant //授予权限,格式:
grant 权限列表 on 库名.表名 to 用户名@来源地址 [identified by ‘密码’];
Revoke //撤销权限,格式:
revoke 权限列表 on 库名.表名 from 用户名@来源地址
Show grant for 用户名@来源地址 //查看权限
3.使用Navicat for MySQ远程访问MySQL数据库服务器
在MySQL服务器上为防火墙开例外
在客户机上安装并打开软件”Navicat for MySQL”
注:MySQL数据库的语句语法与sql server数据库的基本一样