• 欢迎访问LLYCLOUD information technical share center (ITSC),Linux 安全,Linux 系统,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站,欢迎加入LLYCLOUD QQ群
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏LLYCLOUD ITSC吧

3.mysql数据库

Linux安全与高级应用 Akide_Liu 10个月前 (02-01) 150次浏览 0个评论

Mysql简介:

MySQL(发音为”my ess cue el”,不是”my sequel”)是一种开放源代码的关系型数据库管理系统(RDBMS),MySQL数据库系统使用最常用的数据库管理语言–结构化查询语言(SQL)进行数据库管理。

由于MySQL是开放源代码的,因此任何人都可以在General Public License的许可下下载并根据个性化的需要对其进行修改。MySQL因为其速度、可靠性和适应性而备受关注。大多数人都认为在不需要事务化处理的情况下,MySQL是管理内容最好的选择。

MySQL这个名字,起源不是很明确。一个比较有影响的说法是,基本指南和大量的库和工具带有前缀“my”已经有10年以上,而且不管怎样,MySQL AB创始人之一的Monty Widenius的女儿也叫My。这两个到底是哪一个给出了MySQL这个名字至今依然是个迷,包括开发者在内也不知道。

MySQL的海豚标志的名字叫“sakila”,它是由MySQL AB的创始人从用户在“海豚命名”的竞赛中建议的大量的名字表中选出的。获胜的名字是由来自非洲斯威士兰的开源软件开发者Ambrose Twebaze提供。根据Ambrose所说,Sakila来自一种叫SiSwati的斯威士兰方言,也是在Ambrose的家乡乌干达附近的坦桑尼亚的Arusha的一个小镇的名字。

MySQL,虽然功能未必很强大,但因为它的开源、广泛传播,导致很多人都了解到这个数据库。它的历史也富有传奇性。

MySQL的特点:

  1. 多线程、多用户
  2. 基于C/S(客户端/服务器)架构
  3. 简单易用、查询速度快
  4. 安全可靠

一、数据库安装

【yum卸载linux系统自带的mysql数据库】

[[email protected] yum.repos.d]# yum -y remove mysql* 【需要yum】

【rpm安装ncurses-devel包】 –数据库支持扩展

[[email protected] ~]# rpm -ivh /CentOS/Packages/ncurses-devel-5.7-3.20090208.el6.i686.rpm

Preparing… ########################################### [100%]

1:ncurses-devel ########################################### [100%]

【编译安装cmake包】

  • CMake是一个跨平台的安装(编译)工具,可以用简单的语句来描述所有平台的安装(编译过程)。 【!!!使用其编译安装mysql】

[[email protected] cmake-2.8.6]# tar -zxvf cmake-2.8.6.tar.gz -C /usr/src/

[[email protected] cmake-2.8.6]# cd /usr/src/cmake-2.8.6/

[[email protected] cmake-2.8.6]# ./configure

[[email protected] cmake-2.8.6]# gmake && gmake install

  • gmake是GNU Make的缩写。 Linux系统环境下的make就是GNU Make,之所以有gmake,是因为在别的平台上,make一般被占用,GNU make只好叫gmake了。 比如在安装二进制文件进行编译时要使用make命令,但如果在Solaris或其他非GNU系统中运行,必须使用GNU make,而不是使用系统自带的make版本,这时要用gmake代替make进行编译。

【编译安装mysql】

[[email protected] cmake-2.8.6]# groupadd mysql

[[email protected] cmake-2.8.6]# useradd -M -s /sbin/nologin mysql -g mysql

[[email protected] ~]# tar -zxvf mysql-5.5.22.tar.gz -C /usr/src/

[[email protected] ~]# cd /usr/src/mysql-5.5.22/

[[email protected] mysql-5.5.22]# cmake \

-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \

-DSYSCONFDIR=/etc \

-DDEFAULT_CHARSET=utf8 \

-DWITH_EXTRA_CHARSETS=all \

-DDEFAULT_COLLATION=utf8_general_ci

[[email protected] mysql-5.5.22]# make && make install

  • cmake编译参数解释:

DCMAKE_INSTALL_PREFIX:mysql安装目录

DSYSCONFDIR:配置目录

DDEFAULT_CHARSET:默认字符集

DDEFAULT_COLLATION:默认编码

DWITH_EXTRA_CHARSETS: 额外的编码,请使用ALL来编译。

【后续优化】

[[email protected] mysql-5.5.22]# chown -R mysql:mysql /usr/local/mysql

[[email protected] mysql-5.5.22]# /usr/local/mysql/scripts/mysql_install_db –user=mysql –basedir=/usr/local/mysql –datadir=/usr/local/mysql/data

[[email protected] mysql-5.5.22]# echo “PATH=$PATH:/usr/local/mysql/bin” >> /etc/profile

[[email protected] mysql-5.5.22]# . /etc/profile

[[email protected] mysql-5.5.22]# cp support-files/my-medium.cnf /etc/my.cnf

【优化路径】 (环境变量生效时,可以不进行此操作)

[[email protected] mysql]# ln -s /usr/local/mysql/bin/* /usr/local/bin/

[[email protected] mysql]# ln -s /usr/local/mysql/lib/mysql/* /usr/lib/

[[email protected] mysql]# ln -s /usr/local/mysql/include/mysql/* /usr/include/

【添加系统服务】

[[email protected] mysql]# cp support-files/mysql.server /etc/rc.d/init.d/mysqld

[[email protected] mysql]# chmod +x /etc/rc.d/init.d/mysqld

[[email protected] mysql]# chkconfig –add mysqld

【后续问题处理】

1)[[email protected] mysql-5.5.22]# service mysqld start

Starting MySQL..The server quit without updating PID file (/var/lib/mysql/localhost.localdomain.pid). [失败]

原因:没有初始化权限表

处理方法:

[[email protected] ~]# cd /usr/local/mysql

[[email protected] mysql]# chown -R mysql.mysql .

[[email protected] ~]# cd /usr/local/mysql

[[email protected] mysql]# scripts/mysql_install_db

[[email protected] mysql]# /usr/local/mysql/bin/mysqld_safe –user=mysql &

结果:

[[email protected] mysql]# service mysqld start

Starting MySQL.. [确定]

2)[[email protected] mysql]# mysql -u root

ERROR 2002 (HY000): Can’t connect to local MySQL server through socket ‘/tmp/mysql.sock’ (2)

原因:由于mysql 默认的mysql.sock 是在/var/lib/mysql/mysql.sock,但linux系统总是去/tmp/mysql.sock查找,所以会报错。

解决方案:1.直接指定mysql通道

[[email protected] mysql]# mysql –socket=/var/lib/mysql/mysql.sock

Welcome to the MySQL monitor. Commands end with ; or \g.

Your MySQL connection id is 1

Server version: 5.5.22 Source distribution

Copyright (c) 2000, 2011, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its

affiliates. Other names may be trademarks of their respective

owners.

Type ‘help;’ or ‘\h’ for help. Type ‘\c’ to clear the current input statement.

mysql> quit

Bye

2. 创建符号连接:

[[email protected] mysql]# ln -s /var/lib/mysql/mysql.sock /tmp/mysql.sock

[[email protected] mysql]# mysql -u root

Welcome to the MySQL monitor. Commands end with ; or \g.

Your MySQL connection id is 2

Server version: 5.5.22 Source distribution

Copyright (c) 2000, 2011, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its

affiliates. Other names may be trademarks of their respective

owners.

Type ‘help;’ or ‘\h’ for help. Type ‘\c’ to clear the current input statement.

mysql> quit

Bye

个人看法:个人看好第二个方法,因为第二个一劳永逸!!!

———————————————数据库安装完成———————————————

二、数据库备份和恢复

1.备份

方法1:可直接备份目录 /usr/local/mysql/var

方法2:使用专用备份工具 mysqldump

mysqldump -u 用户名 -p [密码] [选项] [数据库名] [表名] > /备份路径/备份文件名

常见选项:–all-databases、–opt

[[email protected] ~]# mysqldump -u root -p mysql > mysql.sql 【备份库】

Enter password:

[[email protected] ~]# mysqldump -u root -p –opt –all-databases > all-data.sql

Enter password: 【全库备份】

[[email protected] ~]# mysqldump -u root -p mysql db > mysql_db.sql

Enter password: 【备份单个表】

2.恢复

mysql -u root -p [数据库名] < /备份路径/备份文件名

[[email protected] ~]# mysql -u root -p mysql < ./mysql.sql

Enter password:


Llycloud ITSC , 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:3.mysql数据库
喜欢 (0)
[]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址