CentOS7通过tar.gz包安装mysql

CentOS7通过tar.gz包安装mysql

Posted by fengdi on November 1, 2018

1、下载mysql

本人选的linux generic 通用版 64位

2、把mysql传到服务器并解压到/usr/local

tar -xzvf mysql-5.7.19-linux-glibc2.12-x86_64.tar -C /usr/local

3、进入/usr/local目录:

cd /usr/local

4、为mysql安装目录创建软链接

ln -s mysql-5.7.19-linux-glibc2.12-x86_64 mysql

5、为centos添加mysql用户组和mysql用户(-s /bin/false参数指定mysql用户仅拥有所有权,而没有登录权限):

groupadd mysql
useradd -r -g mysql -s /bin/false mysql

6、进入安装mysql软件的目录,命令如下:

cd /usr/local/mysql

7、修改当前目录拥有者为新建的mysql用户,命令如下:

chown -R mysql:mysql ./

8.安装mysql,命令如下:

./bin/mysqld --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --initialize

提示缺少libnuma.so.1这个文件,可能是因为系统是64位的,系统没有64位的这个so库,然后百度下载安装了这个文件

centos7是没有这个问题的

下载地址参考该贴:https://blog.csdn.net/lzwglory/article/details/54809519

libnuma.so.1下载地址:https://mirror.centos.org/centos/6/os/x86_64/Packages/numactl-2.0.9-2.el6.x86_64.rpm

下载后打命令安装

rpm -ivh /root/java//numactl-2.0.9-2.el6.x86_64.rpm

提示缺少libaio.so.1这个文件,安装libaio即可

yum install -y libaio

安装完成后;继续执行命令安装mysql

./bin/mysqld --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --initialize

安装成功后,记住随机密码

9.开启mysql服务,命令如下:

./support-files/mysql.server start

如果开启mysql服务失败,报什么路径找不到,那是因为mysql启动时,会读mysql的配置文件/etc/my.cnf,因为里面的初始路径不对

修改内容如下,datadir和socket都修改成mysql的安装目录下,增加[client]板块,用于命令行连接mysql数据库

[mysqld]
port=3306
datadir=/usr/local/mysql/data
socket=/usr/local/mysql/mysql.sock
user=mysql

max_connections=151

federated

# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0

# 设置忽略大小写
lower_case_table_names = 1

# 指定编码
character-set-server=utf8

collation-server=utf8_general_ci

# 开启ip绑定
bind-address = 0.0.0.0

[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid

#指定客户端连接mysql时的socket通信文件路径
[client]
socket=/usr/local/mysql/mysql.sock

default-character-set=utf8

如果依然启动不了提示“The server quit without updating PID file”

参考:http://www.xiazaiba.com/jiaocheng/10354.html 处理

应该是程序已经存在mysql进程

ps -ef|grep mysqld
kill -9 进程号

杀掉进程即可

10.将mysql进程放入系统进程中,命令如下:

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

11.重新启动mysql服务,命令如下:

service mysqld restart

12.使用随机密码登录mysql数据库,命令如下:

先把mysql的命令设置为环境变量

/etc/profile中添加语句

export PATH=$PATH:/usr/local/mysql/bin

编译/etc/profile

source /etc/profile

登录mysql

mysql -u root -p

等待系统提示,输入随机密码,即可登录

13.进入mysql操作行,为root用户设置新密码(小编设为rootroot):

alter user 'root'@'localhost' identified by 'rootroot';

14.设置允许远程连接数据库,命令如下:

先选择数据库

use mysql
update user set user.Host='%' where user.User='root';

查看修改后的值

select user,host from user;

15.刷新权限,命令如下:

flush privileges;

16、开启3306防火墙端口,然后即可远程连接mysql

17、如果还是无法远程连接,查看/etc/my.cnf

找到bind-address = 127.0.0.1这一行 改为bind-address = 0.0.0.0即可