Mysql编译安装

Mysql数据库系统

Mysql编译安装

从官方站点http://www.mysql.com下载mysql5.x系列版本。这里以mysql-5.1.55.tar.gz为列

1准备工作

为避免端口冲突、程序冲突等现象,建议先查询mysql软件的安装情况,确认没有RPM安装的mysql-server  mysql  软件包,否则建议将其卸载

Rpm �Cq mysql-server  mysql  

2源码编译及安装

创建运行用户

Useradd -M  -u  49 -s  /sbin/nologin mysql

解包

Tar zxf  mysql-5.1.55.tar.gz  -C /usr/src/

Cd  /usr/src/mysql-5.1.55/

配置

./configure --prefix=/usr/local/mysql --with-charset=utf8 --with-collation=utf8_general_ci �Cwith- extra-charsets=gkb,gb2312

l--prefix :指定将mysql数据库安装到那个目录 ,/usr/local/mysql

l--with-charset :指定默认使用的字符集编码,英语小队规则相对应,utf8

l--with-collation : 指定默认使用的字符集校对规则,utf_general_ci是适用于UTF-8字符集的通用规则

l--with-enable-charset : 指定额外支持的其他字符集编码,gbk,gb2312

Vi include/config.h

#define HAVE_CHARSET_gbk 1

#DEFINE HAVE_CHARSET_gb2312

编译并安装

Make && make  install

3安装后的其他调整

建立配置文件

Cp  support-files/my-medium.cnf  /etc/my.cnf

4添加系统服务

Cd /usr/src/mysql-5.1.55/

Cp /support-files/mysql.server  /etc/rc.d/init.d/mysqld

Chmod a+x   /etc/rc.d/init.d/mysqld

Chkconfig --add  mysqld

可以通过service工具或直接执行/etc/init.d/mysqld脚本来控制mysql数据库服务

/etc/init.d/mysqld   start

/etc/init.d/mysqld  status

Netstatt -anpt  |  grep mysqld

访问mysql数据库

1登陆到mysql服务器

Mysql �Cu root   //-u 用于指定认证用户

如登陆其他 mysql服务器,则需使用-h来指定目标主机地址  -p来进行密码校验

Mysql �Ch  192.168.4.21 �Cu  admin �Cp

2执行mysql操作语句

Mysql �Cu root   mysql

使用mysql数据库

查看数据库结构

1查看当前服务器中有哪些库

>Show databases;

2查看当前使用的库中有哪些表

>Use 库名;

>Show tables;

3查看表的结构

Describe 语句:用于显示表的结构,即组成表的各自段()的信息.需要指定库名.表名作为参数;若只指定表名作为参数则需通过”use”语句切换到目标库

>Describe 库名.表名;

创建及删除库和表

1创建新库:create  database语句:用于创建新的库,需指定数据库名称作为参数.

>Create database  库名;

创建新表:create table 语句:用于在当前库中创建新的表,需要指定数据表名作为参数,并定义该表格所用的各字段.

>Create table 表名 (字段1名称类型,字段2名称类型,….,PRIMARY  KEY(主键名));

:>use  auth;

>create table users (user_namechar(16)  no null,user_password  char(48) default ‘’,PRIMARY  KEY (user_name));

删除数据表:drop  table语句:用于删除库中的表,需要指定库名.表名作为参数;若只指定表名作为参数,则需通过”use”语句切换到目标库

>Drop table auth.表名;

>use auth;

>drop table users;

删除一个数据库:dop database语句:用于删除指定的库,需要指定库名作为参数

>Drop database 库名;

管理表中的数据记录

1插入数据记录

Insert into 语句:用于向表中插入新的数据记录。格式:

>Insert into 表名(字段1, 字段2 ….)  values (字段1 的值,字段2 的值…)

在插入新的数据记录时,如果这条记录完整包括表中所有字段的值,则插入语句中指定字段的部分可以省略

: insert into users  values(‘lisi’,password’’123456’’);

2查询数据记录

Select 语句:用于从指定的表中查找符合条件的数据记录。Mysql支持标准的sql语句

格式:>Select 字段名1 ,字段名2 ,…….from  表名  wher 条件表达式

表示所有字段时使用通配符“*”,若要列出所有的数据记录则可以省略where条件语句

:select * from 库名.表名;

3修改数据记录

Update语句:用于修改、更新表中的数据记录。

格式:Update 表名 set 字段名1 =字段值1[,字段2 =字段值2]  wher 条件表达式

:> update mysql.user  setpassword=password(’123456’)  wher uaer=’root’;

或者 #mysqladmin �Cu root �Cp password ‘123456’   //若在linux命令行环境中执行,可以使用mysqladmin工具来设置密码

4删除数据记录

Delete语句:用于删除表中指定的数据记录。

格式:Delete  from  wher 条件表达式

:delete from 库名.表名 where user_name=’lisi’;

>编译Delete from mysql.user where user=’’;   //列出user字段为空的用户记录,使用delete进行空用户记录的删除

维护mysql数据库

数据库的用户授权

1授予权限

Grant 语句:专门用来设置数据库用户的访问权限。当指定用户不存在时,grant语句将会创建新的用户,否则grant语句用于修改用户的信息。

格式:Grant 权限列表 ON 库名.表名 TO 用户名 @来源地址  [ IDENTIFIED  BY ‘密码’]

列:grant  select  ON auth.* TO ‘xiaoqi’@’localhost’  IDENTIFIED BY ‘123456’ ;  //添加“xiaoqi”用户,允许其从本机访问,对auth库中的所有表具有查询权限

列:grant  all  ON bdqn.* TO ‘dbuser’@’192.168.4.9’ IDENTIFIED  BY ‘pwd123’;

>flush privileges;   //刷新用户授权信息

>mysql �Cu xiaoqi -p

>select * from auth.users;   //验证授权访问操作

>select * from mysql.user;    //验证非授权访问操作

2查看权限

Show grants 语句:专门用来查看数据库用户的授权信息,通过for子句可指定查看的用户对象(必须与授权时使用的用户名称一致)。

格式:Show grants for  用户名@ 来源地址

列:show grants for dbuser@192.168.4.19 //查看dbuser用户从主机192.168.4.19访问数据库的授权信息

3撤销权限

Revoke语句:用于撤销指定用户的数据库权限,撤销权限后的用户仍然可以连接到mysql服务器,但将被禁止执行对应的数据库操作。

格式:Revoke  权限列表  on  数据库. 表名  from 用户名@来源地址

:Revoke all on auth.* from ‘xiaoqi’@’localhost’;   //撤销用户xiaoqi从本机访问数据库auth的所有权限

>show grants for  ‘xiaoqi’@’localhost’;   //确认已撤销对auth库的权限

数据库的备份与恢复

1备份数据库

1)导出指定库中的部分表

Mysqldump [选项]  库名  [表名1]  [表名2] ….> /备份路径/备份文件名

2)导出一个或多个完整的库

Mysqldump [选项]   --databases 库名1 [库名2] … > /备份路径/备份文件名

3)备份mysql服务器中所有库

Mysqldump [选项] �Cal-databases  > /备份路径/备份文件名

:mysqldump  -u Root �Cp mysqluser  > mysql-user.sql  //mysql库中的user表导出为mysql-user.Sql文件

mysqldump -u Root �Cp �C-databases  >mysql-user.sql   //将真个auth库导出auth .sql文件所有操作均以root用户的身份进行验证

mysqldump -u Root �Cp �Call-databases > mysql-user.sql   //当导出的数据量较大时,使用― - opt选项以优化速度将创建备份文件all-data.sql, 其中包括mysql服务器中的所有库

2恢复数据库

使用mysqldump命令导出的sql备份脚本,在需要恢复时可以可以通过mysql命令进行导入操作

格式:Mysql  [选项]  [库名]  [表名]  < /备份路径/备份文件名



你可能感兴趣的:(mysql编译安装,Linux系统管理,郑彦茹)