centos如何安装mysql?
CentOS中安装MySQL步骤详解
本文中Linux环境为CentOS 6.4 32位,且安装选择的是Basic Server版。
在有些Linux版本中会自带有MySQL数据库,所以在安装之前,需要检查当前Linux环境中是否已有MySQL数据库,若有,则先将其卸载。
以下为在CentOS中安装MySQL的基本步骤:
1)查看当前系统是否自带MySQL数据库
[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数据库
[root@MySqlServer ~]# rpm -e --nodeps mysql-libs-5.1.66-2.el6_3.i686 [root@MySqlServer ~]#
说明:命令 rpm -e --nodeps [要卸载的软件名] 用于卸载软件。
3)上传MySQL至Linux
该步骤可以使用很多种方式进行文件的上传。由于此时本人使用的电脑是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软件包
解压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 ]