实验要求:

1、编译安装mysql数据库

2、登录数据库,创建benet数据库和班级名表,表中有name(姓名)、passwd(密码)两个字段。查询表的结构。

3、插入本人名和张三、李四三条记录,密码为用户拼音。验证成功添加。

4、删除张三的记录。更改李四的密码为123456,分别查询张三和李四的数据记录。

5、备份班级名数据表后删除数据表,查询表已删除成功,然后恢复班级名数据表,验证恢复成功

6、再建立数据库accp,建立一个表。建立自己名称的用户,并授予远程连接的权限,只对benet有权限(所有权限),对accp只能查询。

7、在Windows客户机上安装Navicat for MySQL,并且远程连接mysql,测试第6步的权限。





1.编译安装MySQL数据库系统

wKiom1glbl2g0glSAAAE4qO5Wug906.png

wKioL1glbl6TTj3FAAACHG3jb0w941.png

为了避免发生端口冲突、程序冲突等现象,建议先查询MySQL软件的安装情况,确认没有使用一RPM方式安装的mysql-servermysql软件包,否则建议将其卸载。


wKioL1glbl7DEhr7AAAEm7i3xl8148.png

安装mysql之前,需要先安装ncurses-devel(系统光盘自带,可以使用rpm方法安装);

  cmakeMySQL5.5需要cmake编译安装,如果系统中没有安装cmake,可以使用gmake来编译安装cmake)。

 

wKiom1glbl7RYK2xAAAD4iG7900981.png

创建运行用户,此用户不需要直接登录到系统,可以不创建宿主目录。

 

wKiom1glbl6jOPixAAADFr-Sp8A508.png

解包


wKioL1glbl_xa31lAAALLP4NkE4265.png

配置、编译及安装,各配置选项的含义:

-DCMAKE_INSTALL_PREFIX=/usr/local/mysql     //指定mysql数据库程序安装目录

-DSYSCONFDIR=/etc                           //指定初始化参数文件目录

-DDEFAULT_CHARSET=utf8                      //指定默认使用的字符集编码,utf8为国际编码。

-DDEFAULT_COLLATION=utf8_general_ci         //指定默认使用的字符集校对规则

-DWITH_EXTRA_CHARSETS=all                   //指定额外支持的其他字符集编码

 

wKiom1glbl_ykNeWAAADBCmL2z8966.png

对数据库目录进行权限设置


wKioL1glbl_gZMV8AAACCHqSgcg712.png

将原有的my.cnf文件删除


wKiom1glbmDzdqDTAAADYZXex1k655.png

建立配置文件

注意:MySQL源码目录中的support-files文件夹里提供了不同负载数据库的样本配置文件,如果不确定数据库系统的应用规模,一般选择my-medium.cnf文件即可,该文件能够满足大多数企业的中等应用需求。

 


wKioL1glbmDj64mKAAAFvi_rEQ0957.png

初始化数据库,运行用户mysql的身份执行初始化脚本mysql_install_db

选项含义:

--user                       //使用指定用户来运行脚本文件

--basedir                    //指定MySQL的安装路径

--datadir                    //指定MySQL的数据库文件存放路径

 

wKiom1glb2ySH1tUAAAER_n7aK0789.png

设置环境变量,方便在任何目录下使用mysql命令。

/etc/profile文件中修改环境变量,在这里修改的内容对所有用户都起作用。

PATH环境变量指定了shell寻找命令或程序的目录

 

wKioL1glb2zA2kXqAAACV8UIPXw839.png

立即执行


wKioL1glb22hmLEvAAAID-5bl00854.png

复制服务脚本到/etc/init.d/,改名为mysqld,添加系统服务mysqld


wKiom1glb22C-O2CAAAI6pGhzuk950.png

启动mysqld服务,查看端口,发现mysql服务器默认通过tcp3306端口提供服务。

 

1.使用MySQL数据库

wKioL1glb22CCIKkAAADG6EYlj4321.png

登录到MySQL服务器

默认管理员用户名为root,密码为空。

有两种方法修改用户密码:

wKiom1glb22yWMAVAAADQF6f-iI708.png

wKiom1glb27wKL_TAAABmOo997A624.png

用于访问数据库的各种用户信息都保存在mysql库的user表中,可以直接在mysql数据库服务器中修改用户密码。

注意:passwor(123456)              //表示密码被加密;

  MySQL数据库服务器中,语句要以;结束。

  Flush privileges              //表示刷新授权信息,再次登录需要输入新的密码。


wKioL1glb26xPtpIAAADjG36a9U888.png

linux命令行环境中,使用mysqladmin工具设置MySQL数据库用户密码。

注意:Enter password 后面输入的是数据库用户的原密码。

 

wKioL1glb26w_fWfAAABw15Wpj0992.png

创建数据库benet


wKiom1glb26zD8iTAAAB7Uqu1wY749.png

切换到benet数据库


wKioL1glcCTCDaVbAAAEh3__iwY919.png

创建新表t369,还可以添加其他字段,如:default设置默认的数据;

  Primary key 设置主键。

 

wKiom1glcCTz6DOvAAAJ1I0EdaI635.png

查看表的结构


wKioL1glcCTCzrw9AAALXTP2Vp0628.png

t369表中插入数据


wKiom1glcCSDQFHhAAAFZEDSQ4Y740.png

查询t369表中的所有数据


wKioL1glcCSjgy1BAAACfM8q1O8983.png

删除表中数据


wKiom1glcCXhlGhoAAAC-PExhCA013.png

修改表中数据


wKioL1glcCWCY2I0AAAD-ydkSpk252.png

备份表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  [库名]  [表名]  <  /备份路径/备份文件名      //恢复数据库(如果,备份文件中只包含表的备份,在执行导入操作时必须指定库名,且目标库必须存在)。


wKiom1glcCWRKQeDAAAaP005L6E402.png

设置用户权限(用户不存在时,则新建用户)

Grant                  //授予权限,格式:

grant  权限列表  on  库名.表名  to  用户名@来源地址  [identified by 密码]

 

Revoke                 //撤销权限,格式:

revoke  权限列表  on  库名.表名  from  用户名@来源地址

 

Show  grant  for 用户名@来源地址            //查看权限

 

3.使用Navicat for MySQ远程访问MySQL数据库服务器

wKioL1glcCXzhrkzAAADKYYoBXU977.png

MySQL服务器上为防火墙开例外


wKiom1glcCagqkWLAAC66xv_g9I798.png

在客户机上安装并打开软件Navicat for MySQL


wKioL1glc7DABPFFAACNHDu_Cy4926.png

注:MySQL数据库的语句语法与sql server数据库的基本一样