Centos服务器下Mysql 5.x编译安装,centosmysql这里以mysql-5


Mysql数据库系统

Mysql编译安装

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


1准备工作

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

Rpm –q 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 –with- 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 –u root //-u 用于指定认证用户

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

Mysql –h 192.168.4.21 –u admin –p

2执行mysql操作语句

Mysql –u 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 –u root –p 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 –u 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 [选项] –al-databases > /备份路径/备份文件名

列:mysqldump -u Root –p mysqluser > mysql-user.sql //将mysql库中的user表导出为mysql-user.Sql文件

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

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

2恢复数据库

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

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


本文出自 “敏而好学” 博客,请务必保留此出处http://615861010.blog.51cto.com/6148600/1208500


相关内容

    暂无相关文章