CentOS7安装mysql-5.7(glibc版)

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"。


猜你喜欢

转载自blog.csdn.net/yanjinrong/article/details/51476974