您的位置:首页 > 运维架构 > Linux

CentOS7安装mysql-5.7(glibc版)

2016-05-22 21:08 633 查看
CentOS和MySQL每一个版本在安装时都有细微的差距,如不是完全相同的版本,请在遇到问题是积极寻找解决办法,

就像你找到本文一样。切莫烦躁。

本文没有过多的多余操作,请勿跳过某些步骤或者自行更改路径(大神请忽略)。

本次安装需要用root用户执行所有命令。

一、MySql官网下载mysql-5.7.10-linux-glibc2.5-x86_64.tar.gz

二、解压缩文件并移动到指定目录

在home文件夹下创建一个mysql文件夹,作为存放mysql文件的目录

# cd /home

# mkdir mysql

回到保存下载压缩文件的目录解压压缩文件

# cd /root

# tar -zxvf mysql-5.7.10-linux-glibc2.5-x86_64.tar.gz

移动文件到指定目录

# mv mysql-5.7.10-linux-glibc2.5-x86_64 /home/mysql/mysql-5.7.10

三、检查是否已经安装libaio

# yum install libaio

四、安装及配置mysql

# groupadd mysql #添加一个mysql用户组

# useradd -r -g mysql mysql

# cd /usr/local

# ln -s /home/mysql/mysql-5.7.10 mysql #在/usr/local/目录下创建一个mysql链接

# cd mysql

# mkdir data #作为存放数据的目录

# chmod 770 data

# chown -R mysql .

# chgrp -R mysql .

# bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql

--datadir=/usr/local/mysql/data # MySQL 5.7.6 and up(这句没有折行)

执行该命令后,注意最后一行的[Note]信息

[Note] A temporary password is generated for root@localhost: XXXXXXXXXXXXXX(记住!!记住!!)

生成的初始密码在首次以root用户登入时使用。

# bin/mysql_ssl_rsa_setup --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data # MySQL 5.7.6 and up

# cd /var/log

# mkdir mariadb #作为存放数据库运行日志的文件夹

# cd /usr/local/mysql/

# bin/mysqld_safe --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data &

将mysql加入到可控制启动服务的文件夹内,并命名mysql,即service可控制的服务名,

届时可用service mysql start|stop控制启动及关闭mysql

# cp support-files/mysql.server /etc/init.d/mysql

到/etc目录下配置my.cnf

# cd /etc/

# vi my.cnf

在[mysqld]中添加或者修改一下内容:

basedir=/usr/local/mysql

datadir=/usr/local/mysql/data

socket=/tmp/mysql.sock

# vi /etc/profile #配置环境变量 添加如下内容

export MYSQL_HOME="/usr/local/mysql"

export PATH="$PATH:$MYSQL_HOME/bin"

# source profile #使配置及时生效

至此可用service mysql start来启动mysql数据库。

版本的细微差距,甚至安装的其他内容都有可能对mysql的安装产生影响,如果到这里你不能成功启动mysql

请检查上述过程是否有疏漏,检查现在的mysql启动状态等等

若还是不行请积极各种途径寻求解决办法。切莫放弃。成功就在眼前。

配置开机启动mysql服务

# chkconfig --add mysql

# chkconfig --level 2345 mysql on

五、首次登入mysql

# mysql -u root -p

Enter password:输入之前生成的临时密码

mysql> SET PASSWORD = PASSWORD('123456');

六、防火墙

CentOS升级到7之后,使用firewalld代替了原来的iptables。下面记录如何使用firewalld开放Linux端口

# firewall-cmd --zone=public --add-port=3306/tcp --permanent

# firewall-cmd --reload #重启防火墙

七、常见问题

1、Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)

处理:修改vi my.cnf中的socket=/tmp/mysql.sock"。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: