centos7.4安装MySQL


前言

本文记录`centos7.4安装MySQL过程和遇到的问题。


一、虚拟机安装centos7.4

可以参考:安装教程 里面有详细的安装教程和配置说明。

二、centos7.4安装MySQL

1.MySQL下载

MySQL下载:下载地址 如图选择MySQL数据库版本,这里以5.6.51版本为例,系统版本选择红帽(centos内核为红帽),选择7版本,选择 RPM Bundle版本下载

安装centos7默认密码 安装centos7.4_MySQL

2.MySQL安装

准备工作

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

rpm -qa | grep -i mariadb                           //查看有没有安装mariadb 
rpm -e --nodeps mariadb-libs-5.5.56-2.el7.x86_64    //如果有,卸载MariaDB

2.2. 卸载已有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                     //删除

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

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

2.4. 增加mysql用户组

cat /etc/group |grep mysql  //检查mysql用户及组是否存在,如果没有执行下面命令
groupadd mysql  //创建组
useradd -r -g mysql mysql //创建用户并把该用户加入到组mysql,这里的 -r是指该用户是内部用户,不允许外部登录
passwd mysql  //给用户mysql设置密码,需要输入2次

2.5. 安装Mysql

解压mysql
tar -xvf MySQL-5.6.51-1.el7.x86_64.rpm-bundle.tar  //注意,是-xvf不是-zxvf
 
安装mysql
rpm -ivh MySQL-client-5.6.51-1.el7.x86_64.rpm     //-i是安装,-v是列出更多详细信息,-h是在安装时列出hash标记
rpm -ivh MySQL-devel-5.6.51-1.el7.x86_64.rpm
rpm -ivh MySQL-server-5.6.51-1.el7.x86_64.rpm

3.MySQL配置

3.1. Mysql初始化
可能会出现以下错误

ERROR! The server quit without updating PID file (/var/lib/mysql/localhost.localdomain.pid).

新安装的mysql服务后,一般需要执行数据库初始化操作:

/usr/bin/mysql_install_db --user=mysql

执行初始化命令之后,关闭命令框,重新进入后再进行配置,否则启动会停止MySQL服务不成功。
3.2. 修改密码

service mysql status                                               //查看mysql服务状态
# 如果是开启服务状态,关闭服务方法
find / -name mysql.server                                          //查看服务路径
# 服务路径
/usr/share/mysql/mysql.server
# 关闭服务
/usr/share/mysql/mysql.server stop
# 启动服务
/usr/share/mysql/mysql.server start
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='root';      //修改密码
quit                                                              //退出

安装centos7默认密码 安装centos7.4_centos_02

service mysql restart                                             //重启mysql服务
mysql -u root -proot                                              // -proot,p代表password,root是密码
use mysql                                                         //切换数据库
set password = password('root');                                  //第一次登陆必须修改mysql密码
flush privileges;                                                 //刷新权限

安装centos7默认密码 安装centos7.4_centos_03

//赋予任何主机访问数据的权限(远程访问)
grant all privileges on *.* to 'root'@'%' identified by 'root' with grant option; 
flush privileges;                                                  //刷新权限
quit                                                              //退出 mysql 
service mysql restart                                             //重启mysql

安装centos7默认密码 安装centos7.4_安装centos7默认密码_04


3.3. 让防火墙开放开3306端口(Centos7以上是由firewall来管理的)

//查看firewall状态(runing:运行,not runing:没有运行),如果没有运行,用systemctl start firewalld启动
firewall-cmd --state 
firewall-cmd --permanent --zone=public --add-port=3306/tcp      //添加3306端口
firewall-cmd --reload                                           //重新加载firewall

安装centos7默认密码 安装centos7.4_centos_05


3.4. 客户端连接测试

# IP查看命令
ifconfig -a
[root@localhost network-scripts]# ifconfig -a
ens32: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.111.128  netmask 255.255.255.0  broadcast 192.168.111.255
        inet6 fe80::20c:29ff:feb5:27eb  prefixlen 64  scopeid 0x20<link>
        ether 00:0c:29:b5:27:eb  txqueuelen 1000  (Ethernet)
        RX packets 2690  bytes 330573 (322.8 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 1209  bytes 147010 (143.5 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

安装centos7默认密码 安装centos7.4_MySQL_06

3.4. 设置mysql开机启动

chkconfig --list mysql                    //查看mysql服务
chkconfig mysqld on                       //开启MySQL服务自动开启命令
chkconfig mysql on                        //开启MySQL服务自动开启命令