以前的Ubuntu14.04直接在终端下输入apt-get install (package)便可方便的下载并安装mysql,但是在centOs上就是行不通的,需要复杂的配置,不过在centOs里可以使用yum install mysql-server mysql-client的命令可以快速安装,不过这是mysql的5.1版本,不支持5.5以上丰富的功能。而且在项目开发中,项目组的生产环境和测试环境对版本控制有着严格的要求,如果不一致非常容易发生不兼容等难解决的错误,所以这里,我选择采用在oracle官网上直接下载压缩包(rpm),然后在终端下安装。二、准备工作
Centos7将默认数据库mysql替换成了Mariadb,如果想继续使用mysql 需要卸载Mariadb 再安装mysql;当然也有的直接安装mysql会覆盖mariadb,保险起见还是先卸载
1.查看是否安装了mariadb
rpm -qa |grep -i mariadb
2.卸载已经安装的:
yum remove mariadb*
三、MySQL安装
mysql安装可以通过三个rpm包安装,也可以通过tar.gz包安装
rpm包安装过程
1、首先下载mysql的安装包:[下载网址](http://mirror.neu.edu.cn/mysql/Downloads/MySQL-5.6/) centOs的Linux系统不支持apt-get命令,yum命令安装的mysql只是5.1的版本,不符合要求,所以只能采用事先下载好的压缩包来进行安装,而且方便控制版本。
2、进入系统后,检测是否安装mysql.输入以下的命令:# rpm -qa | grep -i mysql 若目录为空,则忽略以下操作。如果已安装过,会出现相应的mysql安装版本,这时,我们使用命令删除它们:# rpm -ev MySQL-server-5.0.22-0.i386 还有的情况是,有的mysql是由yum命令安装的,这时使用yum命令删除它:# yum remove mysql-server mysql-devel (1)首选安装service:rpm -ivh MySQL-server-5.6.27-1.rhel5.x86_64.rpm 报错:FATAL ERROR: please install the following Perl modules before executing /usr/bin/mysql_install_db: data::Dumper 原因:缺少依赖包autoconf,解决方案:yum -y install autoconf (2)rpm -ivh MySQL-client-5.6.27-1.rhel5.x86_64.rpm (3)rpm -ivh MySQL-devel-5.6.27-1.rhel5.x86_64.rpm 3、相关配置 whereis mysql命令可以查询mysql主要的几个目录存放的位置;或者使用 : find / -name mysql方便查询mysql文件的所有路径。然后启动mysql的服务,输入以下命令,并结果如下表示服务正确运行:**service mysql start** 报错:Starting MySQL.. ERROR! The server quit without updating PID file (/var/lib/mysql/localhost.localdomain.pid). 原因:打开错误信息文件(localhost.localdomain.pid),查看错误原因是:Plugin 'FEDERATED' is disabled. /usr/sbin/mysqld: Table 'mysql.plugin' doesn't exist
解决:mysql.plugin’不存在的原因是因为新安装的mysql服务后,一般需要执行数据库初始化操作 ,从而生成与权限相关的表,执行命令如下:/usr/bin/mysql_install_db --user=mysql
为了方便操作,我们设置mysql开机自启动:自启动chkconfig mysql on
重启服务器后,输入以下命令,查看服务列表中mysql服务是否启动,如下2/3/4/5 on表示服务已经启动:chkconfig --list
4、修改用户:
#mysql -u root
mysql> use mysql;
mysql> UPDATE user SET Password = PASSWORd('newpassword') WHERe user = 'root';
mysql> flush privileges;
在丢失root密码的时候,可以这样
#mysqld_safe --skip-grant-tables&
#mysql -u root mysql
mysql> UPDATE user SET password=PASSWORd("new password") WHERe user='root';
mysql> FLUSH PRIVILEGES; //这一步很关键



