本文中Linux环境为CentOS 6.4 32位,且安装选择的是Basic Server版。node
在有些Linux版本中会自带有MySQL数据库,因此在安装以前,须要检查当前Linux环境中是否已有MySQL数据库,如有,则先将其卸载。mysql
如下为在CentOS中安装MySQL的基本步骤:c++
1)查看当前系统是否自带MySQL数据库sql
[root@MySqlServer ~]# rpm -qa | grep mysql mysql-libs-5.1.66-2.el6_3.i686 [root@MySqlServer ~]#
说明:执行 rpm -qa | grep mysql 命令来查看固然系统是否自带有MySQL数据库,如有,则会显示MySQL软件名称。数据库
2)卸载自带的MySQL数据库dom
[root@MySqlServer ~]# rpm -e --nodeps mysql-libs-5.1.66-2.el6_3.i686 [root@MySqlServer ~]#
说明:命令 rpm -e --nodeps [要卸载的软件名] 用于卸载软件。tcp
3)上传MySQL至Linuxide
该步骤可使用不少种方式进行文件的上传。因为此时本人使用的电脑是Mac,所以本文中使用 scp 命令,来进行文件传输。(也可使用FTP工具来进行图形化界面操做)。工具
bogon:~ hrvy$ scp ~/Downloads/MySQL/MySQL-5.6.22-1.el6.i686.rpm-bundle.tar root@192.168.170.129:~/ root@192.168.170.129's password: MySQL-5.6.22-1.el6.i686.rpm-bundle.tar 100% 205MB 16.9MB/s 00:12 bogon:~ hrvy$
4)解压MySQL软件包spa
解压MySQL到/usr/local/下的mysql目录(mysql目录须要手动建立)。首先建立/usr/local/mysql/目录,而后解压至该目录内。
[root@MySqlServer ~]# mkdir /usr/local/mysql [root@MySqlServer ~]# tar -xvf MySQL-5.6.22-1.el6.i686.rpm-bundle.tar -C /usr/local/mysql/ MySQL-shared-compat-5.6.22-1.el6.i686.rpm MySQL-server-5.6.22-1.el6.i686.rpm MySQL-client-5.6.22-1.el6.i686.rpm MySQL-devel-5.6.22-1.el6.i686.rpm MySQL-test-5.6.22-1.el6.i686.rpm MySQL-shared-5.6.22-1.el6.i686.rpm MySQL-embedded-5.6.22-1.el6.i686.rpm [root@MySqlServer ~]#
5)安装MySQL
通过第4步操做后,将当前目录切换到/usr/local/mysql/,能够看到该目录中有不少后缀为.rpm的安装包,而实际只须要安装server和client便可。
[root@MySqlServer ~]# cd /usr/local/mysql/ [root@MySqlServer mysql]# ls MySQL-client-5.6.22-1.el6.i686.rpm MySQL-shared-5.6.22-1.el6.i686.rpm MySQL-devel-5.6.22-1.el6.i686.rpm MySQL-shared-compat-5.6.22-1.el6.i686.rpm MySQL-embedded-5.6.22-1.el6.i686.rpm MySQL-test-5.6.22-1.el6.i686.rpm MySQL-server-5.6.22-1.el6.i686.rpm [root@MySqlServer mysql]#
安装MySQL server:
[root@MySqlServer mysql]# rpm -ivh MySQL-server-5.6.22-1.el6.i686.rpm
如提示 error: Failed dependencies: 错误,则须要安装MySQL依赖,执行如下命令便可:
[root@MySqlServer mysql]# yum -y install libaio.so.1 libgcc_s.so.1 libstdc++.so.6 [root@MySqlServer mysql]#
安装MySQL client:
[root@MySqlServer mysql]# rpm -ivh MySQL-client-5.6.22-1.el6.i686.rpm
至此,MySQL数据库安装完成!
6)启动mysql服务
[root@MySqlServer mysql]# service mysql start Starting MySQL. [ OK ] [root@MySqlServer mysql]#
7)链接数据库
[root@MySqlServer mysql]# mysql -uroot -p Enter password:
此时,遇到一个问题,安装好的MySQL数据库密码是多少呢?其实,在安装MySQL server的时候,安装日志已经说明:生产的随机密码保存在/root/.mysql_secret文件中,能够查看一下这个文件:
[root@MySqlServer mysql]# cat /root/.mysql_secret # The random password set for the root user at Fri Jun 21 04:56:26 2019 (local time): 0lv4ltBp_sawlAGA [root@MySqlServer mysql]#
如今,就能够登录数据库了!
8)修改密码
登录数据库以后,因为随机生成的密码太过难记,能够修改一个简单的密码,一边本身使用。
mysql> set password = password('root'); Query OK, 0 rows affected (0.01 sec)
此处将密码设置为了root。如今能够退出从新登陆,看看密码是否修改为功。
9)将mysql服务加入系统服务,并设置为开机启动
每当Linux系统重启以后,总要手动启动mysql服务,故为了方便,将其加入系统服务中,并设为开机自启。
[root@MySqlServer mysql]# chkconfig --add mysql [root@MySqlServer mysql]# chkconfig mysql on
10)开启mysql的远程登陆
由于MySQL数据库是安装在Linux上的,而现实操做每每并非在该Linux直接使用,正常都是在本机上安装一款MySQL图形化管理工具,远程链接上Linux中的MySQL便可。
而远程登陆数据库时,必须登录的用户具备远程登陆的权限,不然是没法登录成功的。
mysql> grant all privileges on *.* to 'root' @'%' identified by 'root'; Query OK, 0 rows affected (0.01 sec) mysql> flush privileges; Query OK, 0 rows affected (0.01 sec) mysql>
说明:grant ... 语句中,第一个 'root' 是用户名,第二个 'root' 是远程登陆密码,远程登陆密码能够设置为其余,其仅做为远程登陆使用的密码。flush ... 语句做用:刷新权限,使设置生效。
11)开启3306端口
默认状况下,Linux的防火墙是开启的,3306端口也是未对外发放的,因此尽管上面那么多步骤所有正确完成,依旧远程链接不了数据库。此时解决方案有二:1)关闭Linux的防火墙;2)开启3306端口。
本案例使用的是开启3306端口,而并不是直接关闭Linux防火墙。
[root@MySqlServer mysql]# iptables -I INPUT -p tcp --dport 3306 -j ACCEPT
【注意】使用 iptables 命令配置的防火墙规则默认会在系统下一次重启时失效,若是想让配置的防火墙策略永久生效,执行下面的保存命令:
[root@MySqlServer mysql]# service iptables save iptables: Saving firewall rules to /etc/sysconfig/iptables:[ OK ]
------------------------------------------------------
自此,大功告成!!!