from:http://www.centoscn.com/mysql/2014/1211/4290.htmlhtml
1、mysql简介node
说到数据库,咱们大多想到的是关系型数据库,好比mysql、oracle、sqlserver等等,这些数据库软件在windows上安装都很是的方便,在Linux上若是要安装数据库,咱不得不首先推荐的是mysql数据库了,并且Mysql数据库的第一个版本就是发行在Linux系统上的。mysql
MySQL是一个关系型数据库管理系统,由瑞典MySQL AB公司开发,目前属于Oracle公司。MySQL是一种关联数据库管理系统,关联数据库将数据保存在不一样的表中,而不是将全部数据放在一个大仓库内,这样就增长了速度并提升了灵活性。MySQL的SQL语言是用于访问数据库的最经常使用标准化语言。MySQL软件采用了双受权政策(本词条“受权政策”),它分为社区版和商业版,因为其体积小、速度快、整体拥有成本低,尤为是开放源码这一特色,通常中小型网站的开发都选择MySQL做为网站数据库。因为其社区版的性能卓越,搭配PHP和Apache可组成良好的开发环境。sql
在Linux上安装mysql数据库,咱们能够去其官网上下载mysql数据库的rpm包,http://dev.mysql.com/downloads/mysql/5.6.html#downloads,你们能够根据本身的操做系统去下载对应的数据库文件,目前最新的版本是5.6.10了。数据库
在这里我是经过yum来进行mysql数据库的安装的,经过这种方式进行安装,能够将跟mysql相关的一些服务、jar包都给咱们安装好,因此省去了不少没必要要的麻烦!!!windows
2、卸载掉原有mysqlcentos
由于mysql数据库在Linux上实在是太流行了,因此目前下载的主流Linux系统版本基本上都集成了mysql数据库在里面,咱们能够经过以下命令来查看咱们的操做系统上是否已经安装了mysql数据库tomcat
[root@xiaoluo ~]# rpm -qa | grep mysql // 这个命令就会查看该操做系统上是否已经安装了mysql数据库
有的话,咱们就经过 rpm -e 命令 或者 rpm -e --nodeps 命令来卸载掉服务器
[root@xiaoluo ~]# rpm -e mysql // 普通删除模式 [root@xiaoluo ~]# rpm -e --nodeps mysql // 强力删除模式,若是使用上面命令删除时,提示有依赖的其它文件,则用该命令能够对其进行强力删除
在删除完之后咱们能够经过 rpm -qa | grep mysql 命令来查看mysql是否已经卸载成功!!网络
3、经过yum来进行mysql的安装
我是经过yum的方式来进行mysql的数据库安装,首先咱们能够输入 yum list | grep mysql 命令来查看yum上提供的mysql数据库可下载的版本:
[root@xiaoluo ~]# yum list | grep mysql
就能够获得yum服务器上mysql数据库的可下载版本信息:
而后咱们能够经过输入 yum install -y mysql-server mysql mysql-devel 命令将mysql mysql-server mysql-devel都安装好(注意:安装mysql时咱们并非安装了mysql客户端就至关于安装好了mysql数据库了,咱们还须要安装mysql-server服务端才行)
[root@xiaoluo ~]# yum install -y mysql-server mysql mysql-deve
在等待了一番时间后,yum会帮咱们选择好安装mysql数据库所须要的软件以及其它附属的一些软件
咱们发现,经过yum方式安装mysql数据库省去了不少不必的麻烦,当出现下面的结果时,就表明mysql数据库安装成功了
此时咱们能够经过以下命令,查看刚安装好的mysql-server的版本
[root@xiaoluo ~]# rpm -qi mysql-server
咱们安装的mysql-server并非最新版本,若是你想尝试最新版本,那就去mysql官网下载rpm包安装就好了,至此咱们的mysql数据库已经安装完成了。
4、mysql数据库的初始化及相关配置
咱们在安装完mysql数据库之后,会发现会多出一个mysqld的服务,这个就是我们的数据库服务,咱们经过输入 service mysqld start 命令就能够启动咱们的mysql服务。
注意:若是咱们是第一次启动mysql服务,mysql服务器首先会进行初始化的配置,如:
[root@xiaoluo ~]# service mysqld start 初始化 MySQL 数据库: WARNING: The host 'xiaoluo' could not be looked up with resolveip. This probably means that your libc libraries are not 100 % compatible with this binary MySQL version. The MySQL daemon, mysqld, should work normally with the exception that host name resolving will not work. This means that you should use IP addresses instead of hostnames when specifying MySQL privileges ! Installing MySQL system tables... OK Filling help tables... OK To start mysqld at boot time you have to copy support-files/mysql.server to the right place for your system PLEASE REMEMBER TO SET A PASSWORD FOR THE MySQL root USER ! To do so, start the server, then issue the following commands: /usr/bin/mysqladmin -u root password 'new-password' /usr/bin/mysqladmin -u root -h xiaoluo password 'new-password' Alternatively you can run: /usr/bin/mysql_secure_installation which will also give you the option of removing the test databases and anonymous user created by default. This is strongly recommended for production servers. See the manual for more instructions. You can start the MySQL daemon with: cd /usr ; /usr/bin/mysqld_safe & You can test the MySQL daemon with mysql-test-run.pl cd /usr/mysql-test ; perl mysql-test-run.pl Please report any problems with the /usr/bin/mysqlbug script! [肯定] 正在启动 mysqld: [肯定]
这时咱们会看到第一次启动mysql服务器之后会提示很是多的信息,目的就是对mysql数据库进行初始化操做,当咱们再次从新启动mysql服务时,就不会提示这么多信息了,如:
[root@xiaoluo ~]# service mysqld restart 中止 mysqld: [肯定] 正在启动 mysqld: [肯定]
咱们在使用mysql数据库时,都得首先启动mysqld服务,咱们能够 经过 chkconfig --list | grep mysqld 命令来查看mysql服务是否是开机自动启动,如:
[root@xiaoluo ~]# chkconfig --list | grep mysqld mysqld 0:关闭 1:关闭 2:关闭 3:关闭 4:关闭 5:关闭 6:关闭
咱们发现mysqld服务并无开机自动启动,咱们固然能够经过 chkconfig mysqld on 命令来将其设置成开机启动,这样就不用每次都去手动启动了
[root@xiaoluo ~]# chkconfig mysqld on
[root@xiaoluo ~]# chkconfig --list | grep mysql mysqld 0:关闭 1:关闭 2:启用 3:启用 4:启用 5:启用 6:关闭
mysql数据库安装完之后只会有一个root管理员帐号,可是此时的root帐号还并无为其设置密码,在第一次启动mysql服务时,会进行数据库的一些初始化工做,在输出的一大串信息中,咱们看到有这样一行信息 :
/usr/bin/mysqladmin -u root password 'new-password' // 为root帐号设置密码
因此咱们能够经过 该命令来给咱们的root帐号设置密码(注意:这个root帐号是mysql的root帐号,非Linux的root帐号)
[root@xiaoluo ~]# mysqladmin -u root password 'root' // 经过该命令给root帐号设置密码为 root
此时咱们就能够经过 mysql -u root -p 命令来登陆咱们的mysql数据库了
5、mysql数据库的主要配置文件
1./etc/my.cnf 这是mysql的主配置文件
咱们能够查看一下这个文件的一些信息
[root@xiaoluo etc]# ls my.cnf my.cnf [root@xiaoluo etc]# cat my.cnf [mysqld] datadir=/var/lib/mysql socket=/var/lib/mysql/mysql.sock user=mysql # Disabling symbolic-links is recommended to prevent assorted security risks symbolic-links=0 [mysqld_safe] log-error=/var/log/mysqld.log pid-file=/var/run/mysqld/mysqld.pid
2./var/lib/mysql mysql数据库的数据库文件存放位置
咱们的mysql数据库的数据库文件一般是存放在了/ver/lib/mysql这个目录下
[root@xiaoluo ~]# cd /var/lib/mysql/
[root@xiaoluo mysql]# ls -l 总用量 20488 -rw-rw----. 1 mysql mysql 10485760 4月 6 22:01 ibdata1 -rw-rw----. 1 mysql mysql 5242880 4月 6 22:01 ib_logfile0 -rw-rw----. 1 mysql mysql 5242880 4月 6 21:59 ib_logfile1 drwx------. 2 mysql mysql 4096 4月 6 21:59 mysql // 这两个是mysql数据库安装时默认的两个数据库文件 srwxrwxrwx. 1 mysql mysql 0 4月 6 22:01 mysql.sock drwx------. 2 mysql mysql 4096 4月 6 21:59 test // 这两个是mysql数据库安装时默认的两个数据库文件
咱们能够本身建立一个数据库,来验证一下该数据库文件的存放位置
建立一个咱们本身的数据库: mysql> create database xiaoluo; Query OK, 1 row affected (0.00 sec) [root@xiaoluo mysql]# ls -l 总用量 20492 -rw-rw----. 1 mysql mysql 10485760 4月 6 22:01 ibdata1 -rw-rw----. 1 mysql mysql 5242880 4月 6 22:01 ib_logfile0 -rw-rw----. 1 mysql mysql 5242880 4月 6 21:59 ib_logfile1 drwx------. 2 mysql mysql 4096 4月 6 21:59 mysql srwxrwxrwx. 1 mysql mysql 0 4月 6 22:01 mysql.sock drwx------. 2 mysql mysql 4096 4月 6 21:59 test drwx------. 2 mysql mysql 4096 4月 6 22:15 xiaoluo // 这个就是咱们刚本身建立的xiaoluo数据库 [root@xiaoluo mysql]# cd xiaoluo/ [root@xiaoluo xiaoluo]# ls db.opt
3./var/log mysql数据库的日志输出存放位置
咱们的mysql数据库的一些日志输出存放位置都是在/var/log这个目录下
[root@xiaoluo xiaoluo]# cd
[root@xiaoluo ~]# cd /var/log [root@xiaoluo log]# ls amanda cron maillog-20130331 spice-vdagent.log anaconda.ifcfg.log cron-20130331 mcelog spooler anaconda.log cups messages spooler-20130331 anaconda.program.log dirsrv messages-20130331 sssd anaconda.storage.log dmesg mysqld.log tallylog anaconda.syslog dmesg.old ntpstats tomcat6 anaconda.xlog dracut.log piranha wpa_supplicant.log anaconda.yum.log gdm pm-powersave.log wtmp audit httpd ppp Xorg.0.log boot.log ibacm.log prelink Xorg.0.log.old btmp lastlog sa Xorg.1.log btmp-20130401 libvirt samba Xorg.2.log cluster luci secure Xorg.9.log ConsoleKit maillog secure-20130331 yum.log
其中mysqld.log 这个文件就是咱们存放咱们跟mysql数据库进行操做而产生的一些日志信息,经过查看该日志文件,咱们能够从中得到不少信息
由于咱们的mysql数据库是能够经过网络访问的,并非一个单机版数据库,其中使用的协议是 tcp/ip 协议,咱们都知道mysql数据库绑定的端口号是 3306 ,因此咱们能够经过 netstat -anp 命令来查看一下,Linux系统是否在监听 3306 这个端口号:
结果如上所示,Linux系统监听的3306端口号就是咱们的mysql数据库!!!!