Centos下Mysql5.7安装(.tar.gz方式安装)

下载地址:https://dev.mysql.com/downloads/mysql/

先卸载

CentOS 7已经将默认集成mariadb而不是mysql,这对于多数还是依赖于mysql的应用来说,需要手动的进行更新。可能会遇到这样错误,换成MySQL就好了。

error 2002 (hy000) mysql.sock /var/lib/mysql/mysql.sock

首先查看都安装了哪些的mariadb相关的模块。枫竹梦自己安装过mariadb,所有模块较多。

rpm -qa | grep 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就可以了。

安装

  1. 离线yum安装,我这显示无可用安装程序。故使用tar.gz文件安装
  2.  解压:tar -xvf mysql-8.0.4-rc-linux-glibc2.12-x86_64.tar.gz  /usr/local/
  3.  修改文件夹名称:mv mysql-8.0.4-rc-linux-glibc2.12-x86_64/ mysql
  4.  为centos添加mysql用户组和mysql用户(-s /bin/false参数指定mysql用户仅拥有所有权,而没有登录权限)

groupadd mysql

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

  1.  进入安装mysql软件的目录,命令如下

cd /usr/local/mysql

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

chown -R mysql:mysql ./

  1.  安装mysql,命令如下:

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

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

./support-files/mysql.server start

如果出现如下错误,则说明mysql配置文件/etc/my.cnf中的路径不对,修改内容如下,datadir和socket都修改成mysql的安装目录下,增加[client]板块,用于命令行连接mysql数据库。

如下所示:

[mysqld]

port=3306

datadir=/usr/local/install/mysql /data

socket=/usr/local/install/mysql/mysql.sock

user=mysql

max_connections=151

# 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/ install/mysql/mysql.sock

default-character-set=utf8

9.重新启开启mysql服务,如下图所示则开启成功!

./support-files/mysql.server start

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

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

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

service mysqld restart

12.配置mysql环境变量

vi /etc/profile

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

保存退出,再编译下:

source /etc/profile

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

mysql -u root -p

输入随机密码登录成功如下图所示:

  1. 进入mysql操作行,为root用户设置新密码

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

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

先选择数据库:

use mysql

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

查看修改后的值:

select user,host from user;

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

flush privileges;

17、开启3306防火墙端口,然后即可远程连接mysql(因为我的防火墙是全部关闭,所以省略了这步)

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

找到bind-address = 127.0.0.1这一行

改为bind-address = 0.0.0.0即可

  1. 设置为自启动

cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql   将服务文件拷贝到init.d下,并重命名为mysql

 

chmod +x /etc/init.d/mysql    赋予可执行权限

chkconfig --add mysql        添加服务

chkconfig --list             显示服务列表

如果看到mysql的服务,并且3,4,5都是on的话则成功,如果是off,则键入

netstat -na | grep 3306,如果看到有监听说明服务启动了

猜你喜欢

转载自blog.csdn.net/weixin_36439837/article/details/88175553