Linux-MSYQL篇一:构建MySQL服务器

MySQL是一个开放源码的小型关联式数据库管理系统,开发者为瑞典MySQL AB公司, 目前属于Oracle公司,MySQL被广泛地应用在Internet上的中小型网站中。由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,许多中小型网站为了降低网站总体拥有成本而选择了MySQL作为网站数据库。

对应目前主流的LAMP架构来说,Mysql更是得到各位IT运维、DBA的青睐,目前mysql已被orcacle收购,不过好消息是原来mysql创始人已独立出来自己重新开发了一个MariaDB,而且使用的人数越来越多。而且MariaDB兼容mysql所有的功能和相关参数。

Mysql常用的两大引擎有MyISAMinnoDB,那他们有什么明显的区别呢,什么场合使用什么引擎呢?

1、MyISAM类型的表强调的是性能,其执行数度比InnoDB类型更快,但不提供事务支持如果执行大量的SELECT操作,MyISAM是更好的选择,支持表锁

2、InnoDB提供事务支持事务,外部键等高级 数据库功能执行大量的INSERT或UPDATE,出于性能方面的考虑,应该使用InnoDB表,支持行锁

MySQL安装方式有两种,一种是yum/rpm安装,另外一种是tar源码安装。

一、yum安装MySQL

1、开始安装、启动、并且进入该数据库,查看默认的数据库;

yum install mysql-server  mysql-devel mysql -y

/etc/init.d/mysqld restart

mysql

wKioL1X9BiXDoCigAAPyXXq7NUU275.jpg

 

二、tar源码包安MYSQL,版本:mysql-5.1.63

1、下载MYSQL软件,

wget -c http://downloads.mysql.com/archives/mysql-5.1/mysql-5.1.63.tar.gz

参数-c:支持断点续传;

2、采用源码包安装mysql之前,先安装一些必备的软件:

yum install apr apr-util -y

yum install apr-util apr-util-devel -y

yum install gcc-c++ -y

yum install ncurses-devel -y

3、解压,预编译,编译及安装,

./configure --prefix=/usr/local/mysql --enable-assembler &&make -j8&&make -j8 install

wKiom1X9DXGg0Y6MAAWzH5sdpKs881.jpg

4、安装完成之后,熟悉一下mysql的各个目录:

mysql的配置文件目录:/usr/local/mysql/share/mysql/my-medium.cnf

mysql的启动脚本文件/usr/local/mysql/share/mysql/mysql.server

数据库存放的目录

默认情况下:

yum安装的数据库,存放在这个目录下:/var/lib/mysql

源码安装的数据库,存放在这个目录下:/usr/local/mysql/bin/mysql


5、配置为系统服务启动/etc/init.d/mysqld restart
复制mysql的配置文件到制定的my.cnf文件中,

cp /usr/local/mysql/share/mysql/my-medium.cnf  /etc/my.cnf

复制启动脚本到:/etc/rc.d/init.d/mysqld

cp /usr/local/mysql/share/mysql/mysql.server  /etc/rc.d/init.d/mysqld

将mysql加为系统服务,

chkconfig --add mysqld

开机在3、5级别就启动,

chkconfig --level 35 mysqld on

重启mysql服务,

/etc/init.d/mysqld restart

wKioL1X9FSfiv_dPAAWCi1Mw6sI007.jpg

如果出现错误:就需要继续把mysql初始化:

初始化MYSQL:

创建一个mysql用户:

useradd mysql

把/usr/local/mysql目录下的文件的所属主和所属用户都改成用户mysql,

chown -R mysql.mysql  /usr/local/mysql
初始化mysql,生成var目录:

/usr/local/mysql/bin/mysql_install_db  --user=mysql--datadir=./var  --basedir=/usr/local/mysql/

再对var目录进程一次授权,

chown -R mysql.mysql  /usr/local/mysql/var/

重启mysql服务,成功!

/etc/init.d/mysqld restart或者下面的命令,

/usr/local/mysql/bin/mysqld_safe --user=mysql &

如果初始化时,不加:--user=mysql--datadir=./var,也可以在配置文件中指定一下var目录,

wKioL1WZUbDhmTq3AAKB1M5Fw7k910.jpg

进入数据目录var下查看已有的数据库:

wKiom1X9FnHy6xiRAAJu5Ja_Ykw536.jpg

登录该数据库,

常规的登录方式应该是:

/usr/local/mysql/bin/mysql

/usr/local/mysql/bin/mysql -rtoo -p

wKioL1X9Gkmh9BXxAAThEI_fDpA572.jpg

6、MySQL在刚刚被安装的时候,它的root用户是没有被设置密码的,首先来设置MySQL的root密码!

查看一下用户信息,密码确实为空!

wKioL1X-h1XR740PAAPxTuJn13U358.jpg

设置root密码,并再次查看用户信息:root密码被设置,已经加密!

wKioL1X-h4ujipp-AALEfNmyIKg505.jpg

再用root用户,使用密码登录数据库,

/usr/local/mysql/bin/mysqladmin -uroot -p password 123,登录成功!

wKiom1X-hc6wlyKUAAOCWV8keAE753.jpg