来自 美高梅4858官方网站 2019-11-26 12:28 的文章
当前位置: 美高梅游戏平台网站 > 美高梅4858官方网站 > 正文

Centos服务器下Mysql 5.x编译安装

在使用Oracle的过程中我们给系统创建了两个用户:com和comtest。前者存放的是正式库数据,后者存放的测试库数据。它们都有一个taw_rm_user表,存放了使用该系统的用户基本信息,于是就是把其中的password字段全部改成了123456。

Mysql数据库系统

DMP备份文件创建后,经过一段时间创建了几个新的用户,并且有些旧的用户的其他信息也已经更改了。但是需要把旧用户的密码恢复到从前,直接把备份文件中的taw_rm_user表导入com用户下是肯定不行的。经过分析后,得到了一个解决方案。大致思路是:

Mysql编译安装

  1. 将测试库的taw_rm_user表用CREATE TABLE AS语句导到一个临时的备份表中;2. 再将taw_rm_user表删除;3. 然后将DMP备份文件的taw_rm_user表用IMP命令导入到comtest下;4. 再自己编写一个PL/SQL程序块,通过使用游标循环,将这个新导入的表中的password字段更新到com.taw_rm_user表的对应记录中。(注意,这里只更新对应记录,对新加入的用户记录不作任何修改);5. 再将之前备份的taw_rm_user表恢复到comtest下即可。

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

其中使用的关键SQL语句如下:

1准备工作

-- 备份测试库中的taw_rm_user表create table comtest.taw_rm_user_bakasselect * from comtest.taw_rm_user-- 恢复正式库中的taw_rm_user.password字段declarerec_comtest comtest.taw_rm_user%rowtype;cursor cur_comtest isselect * from comtest.taw_rm_user;beginopen cur_comtest;loopfetch cur_comtest into rec_comtest;exit when cur_comtest%notfound;update com.taw_rm_userset com.taw_rm_user.password=rec_comtest.passwordwhere com.taw_rm_user.user_id=rec_comtest.user_id;end loop;close cur_comtest;commit;end;

为避免端口冲突、程序冲突等现象,建议先查询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.表名;

本文由美高梅游戏平台网站发布于美高梅4858官方网站,转载请注明出处:Centos服务器下Mysql 5.x编译安装

关键词: