第一步:下载
首先去mysql官网下载对应的mysql安装包:
下载地址:https://dev.mysql.com/downloads/mysql/
第二步:卸载mariadb
通过ftp工具将安装包放到服务器上:/usr/local/
安装之前,我们需要将centos自带的mariadb卸载,mariadb属于mysql的一个分支,若不卸载就直接安装的话会报错。
#rpm -qa | grep mariadb //查看所有mariadb已安装的模块
#rpm -e mariadb-libs-5.5.44-1.el7_1.x86_64 //进行卸载
若提示有依赖包,卸载错误,则强制卸载:
#rpm -e --nodeps mariadb-libs-5.5.44-1.el7_1.x86_64 //强制卸载
将所有的mariadb安装包都删除后,然后开始安装mysql
第三部:安装mysql
首先创建mysql组和用户:
#$groupadd mysql //添加mysql组
#$useradd -r -g mysql mysql //mysql组里添加mysql用户,r参数表示mysql用户是系统用户,不可用于登录系统。
解压安装包:
# cd /usr/local/ //进入到安装包路径
# tar -zxvf mysql-5.7.19-linux-glibc2.12-x86_64.tar.gz //解压安装包
# mv mysql-5.7.12-linux-glibc2.5-x86_64 mysql //将解压的安装包更名为mysql
修改MySQL 数据目录的 ownership:
# chown -R mysql mysql/
# chgrp -R mysql mysql/
在mysql目录下新建一个data文件夹:
#cd mysql/
#mkdir -vp data
安装和初始化数据库:
# bin/mysql_install_db --user=mysql --basedir=/usr/local/mysql/ --datadir=/usr/local/mysql/data/
/etc/my.cnf是默认的配置文件,默认往往没有,所以我们需要拷贝下:
#cp -a ./support-files/my-default.cnf /etc/my.cnf
#cp -a ./support-files/mysql.server /etc/init.d/mysqld
#/etc/init.d/mysqld restart 重启mysql
#chkconfig --level 35 mysqld on //设置开机启动
查看初始化密码
#cat /root/.mysql_secret //这个要记住,第一次进入mysql要输入的
配置环境变量
#vim /etc/profile //在最下面加上:
export PATH=$PATH:/usr/local/mysql/bin
使更改的配置文件生效:
#source /etc/profile
创建连接:
# ln -s /usr/local/mysql/bin/mysql /usr/bin
登陆mysql:
#mysql -uroot -p
输入前面记住的密码,进入mysql
进入mysql后更改下root密码:
mysql> SET PASSWORD = PASSWORD('123456');
mysql> flush privileges; //刷新
配置远程连接:
mysql> use mysql; //进入mysql数据库
mysql> grant all privileges on *.* to 'root'@'%' identified by'test1234';//将所有数据库的所有表(*.*)的所有权限(all privileges),授予通过任何ip(%)访问的root用户,密码为123456,如果要限制只有某台机器可以访问,将其换成相应的IP即可
mysql>flush privileges //刷新
# /etc/init.d/mysqld restart //重启mysql
以上配置完成后别忘了还要开启3306端口,不然远程也是连接不了的
最重要,也是最容易被忽略的:阿里云服务器开通除22以外的端口,还要去登陆阿里云安全组申请开通,否则就算服务器本身开通了也是连接不了的
开通端口:centos7跟以前相比使用的是Firewalld防火墙管理工具,不再是iptables
Firewalld增加端口的命令是:
#firewall-cmd --zone=public --add-port=3306/tcp --permanent //permanent永久生效,没有此参数重启后失效
不过我用的还是iptables,以下是用iptables开启端口的方法:
关闭Firewalld:
#systemctl stop firewalld
#systemctl mask firewalld
安装iptables-services:
#yum -y install iptables-services
修改防火墙配置,增加3306端口:
首先查看是否有这个文件/etc/sysconfig/iptables,如果没有的话输入:
#iptables -P OUTPUT ACCEPT
#service iptables save //进行保存,默认就保存到了/etc/sysconfig目录下的iptables文件中
然后开启3306端口:
#vim /etc/sysconfig/iptables
在COMMIT上面增加:
-A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT
不想手动修改也可以直接输入命令 :
/sbin/iptables -I INPUT -p tcp --dport 8080 -j ACCEPT
/etc/rc.d/init.d/iptables save //然后保存
查看打开的端口:
#cat /etc/sysconfig/iptables
#systemctl restart iptables.service #重启防火墙使配置生效
#systemctl enable iptables.service #设置防火墙开机启动
最后重启系统使设置生效即可。
测试结果如下图:
到此,centos7安装mysql成功!