Centos服务器下Mysql 5.x编译安装
时间:2014-05-05 00:23 来源:linux.it.net.cn 作者:IT网
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 [选项] [库名] [表名] < /备份路径/备份文件名
(责任编辑:IT)
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 [选项] [库名] [表名] < /备份路径/备份文件名 (责任编辑:IT) |