Centos安装MYSQL

卸载MariaDB

注意:一定要将mariaDB包和自带mysql包卸载干净,否则安装时出现各种奇妙错误,导致失败。

rpm -qa | grep -i mariadb                           //查看有没有安装mariadb

rpm -e --nodeps mariadb-libs-5.5.56-2.el7.x86_64    //如果有,卸载MariaDB

 

卸载已有Mysql

//卸载旧版本的Mysql    

rpm -qa | grep -i mysql                   //查看有没有安装mysql

rpm -e MySQL-client-5.6.38-1.el7.x86_64   //如果有,卸载旧版本Mysql

 

//删除服务

chkconfig --list | grep -i mysql          //查看服务

chkconfig --del mysql                     //删除服务

 

//删除mysql分散的文件夹

whereis mysql                             //查出相应的mysql文件夹,也可以用find / -name *mysql*                   

rm -rf /use/lib/mysql                     //删除文件夹

如:

安装依赖

注意:先装好依赖,再装mysql。即使顺序出错,装完依赖一定要卸载mysql并重新装mysql,否则mysql装上了也会出现各种错误

yum install perl

yum -y install autoconf //此包安装时会安装Data:Dumper模块

下载mysql

官网下载mysql,如下:

不同时间mysql可能预留的版本不一致,通常会预留比较稳定的好的版本

注意:centos内核基于Red Hat,所以下载的时候需要下载Red Hat版本

centos 7.2_64位的,如果不清楚自己系统的位数,可以通过file /bin/ls 查看

 

安装

安装Mysql

解压mysql

tar -xvf MySQL-5.6.38-1.el7.x86_64.rpm-bundle.tar  //注意,是-xvf不是-zxvf

 

安装mysql

rpm -ivh MySQL-client-5.6.38-1.el7.x86_64.rpm      //-i是安装,-v是列出更多详细信息,-h是在安装时列出hash标记

rpm -ivh MySQL-devel-5.6.38-1.el7.x86_64.rpm

rpm -ivh MySQL-server-5.6.38-1.el7.x86_64.rpm

 

如果提示FATAL ERROR: please install the following Perl modules before executing,

先安装perl

yum install -y perl-Module-Install.noarch

 

 

修改密码

service mysql status                                               //查看mysql服务状态

//如果是开启服务状态,用service mysql status关闭服务

mysqld_safe --user=mysql --skip-grant-tables --skip-networking &  //绕过密码登录

mysql -u root -p                                                  //登录

use mysql;                                                        //切换数据库

select Host,User,Password from user;                              //查询用户

UPDATE user SET password=password("root") WHERE user='你设置的密码';      //修改密码

quit                                                              //退出

 

service mysql restart                                             //重启mysql服务

mysql -u root -proot                                              // -proot,p代表password,root是密码

use mysql ;                                                        //切换数据库

set password = password('root');                                  //第一次登陆必须修改mysql密码

flush privileges;                                                 //刷新权限

 

//赋予任何主机访问数据的权限(远程访问)

grant all privileges on *.* to 'root'@'%' identified by 'root' with grant option;

flush privileges;                                                  //刷新权限

quit                                                              //退出 mysql

service mysql restart                                             //重启mysql

 

修改数据目录

首先要先停止服务:service mysql stop,然后找到my.cnf,这个文件在centos6.x中的位置和centos7的默认位置不一样,这个文件在/usr/my.cnf。当然你可以cp这个文件到/etc/my.cnf,mysql加载这个配置文件的时候先加载/etc/my.cnf,如果没有再加载/usr/my.cnf。

其次更改这个文件,加入以下配置

datadir是你要更改的存储数据的目录,注意:这个目录,要是mysql这个用户的权限。因为按照这种方式在centos7安装mysql5.6,数据目录默认在/var/lib/mysql

datadir = /APP/mysql

character_set_server=utf8

max_connections=200

collation_server=utf8_general_ci

lower_case_table_name=1

而这个目录其实是mysql用户组下mysql用户的目录。

因此我们要向迁移mysql存储目录,目录应该也是这样的权限。

最简单的办法就是使用cp -a 命令,加入了-a参数则会将权限也一并拷贝。

因此,执行如下命令: cp -a  /var/lib/mysql /APP/ 这样就会将/var/lib/mysql整个拷贝到/APP目录下,并且无网上说的权限的问题。

后面我们需要简单的修改一下mysql的配置

max_connections:mysql的最大连接数

character-set-server=utf8 : 将server的编码设置为utf-8,如果需要安装client,则在[client]中需要配置character-set-client=utf8

collation-server=utf8_general_ci:设置索引编码

lower_case_table_name=1:大小写敏感,设置成1,大小写不敏感。

default-character-set = utf8 :不应该设置为[mysqld]下,否则会报Starting MySQL... ERROR! The server quit without updating PID file的错。我这里注释掉了。

保存后,启动服务:service mysql start

 

 

启动报错解决办法:

如果启动报错Starting MySQL... ERROR! The server quit without updating PID file

可能有几个原因:

  1. 可能进程里已经存在mysql进程
  2. 可能是第二次在机器上安装mysql,有残余数据影响了服务的启动。
  3. selinux惹的祸,如果是centos系统,默认会开启selinux
  4. 数据目录权限问题
  5. 在[mysqld]下设置了default-character-set = utf8,需注释掉

 

 

防火墙开放3306端口

//查看firewall状态(runing:运行,not runing:没有运行),如果没有运行,用systemctl start firewalld启动。如果不需要启动防火墙,则忽略这一步。

firewall-cmd --state

firewall-cmd --permanent --zone=public --add-port=3306/tcp      //添加3306端口

firewall-cmd --reload                                           //重新加载firewall

 

设置开机自动启动

chkconfig --list mysql                    //查看mysql服务

chkconfig mysqld on                       //开启MySQL服务自动开启命令

chkconfig mysql on                        //开启MySQL服务自动开启命令

 

 

mysql集合重要目录

  1. /var/lib/mysql 数据库文件
  2. /usr/share/mysql 命令及配置文件
  3. /usr/bin mysqladmin、mysqldump等命令

本地API测试成功,但是集群使用出现连接超时或者密码过时的错误

全部设置成N

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章