centos 安装 mysql-5.7.23-linux-glibc2.12-x86_64.tar.gz 详细步骤

1、先检查要安装的Linux服务器cglib版本号,命令 strings /lib64/libc.so.6 | grep GLIBC ,查看其是否有相应cglib版本,如下:

只有在系统列表中的cglib才可以安装,以免对不上还需要升级系统cglib

2、查找mysql相关安装:

rpm -qa|grep -i mysql

可能会出现以下的一个或多个,没有更好,说明你的系统很干净,但是以防万一,不管怎样下面的操作还是检查一变

perl-DBD-MySQL-4.013-3.el6.x86_64

mysql-libs-5.1.71-1.el6.x86_64

qt-mysql-4.6.2-26.el6_4.x86_64

mysql-5.1.71-1.el6.x86_64

mysql-server-5.1.71-1.el6.x86_64

mysql-community-common-5.7.23-1.el7.x86_64

如果出现了上面的一个或多个,也不用担心,使用卸载命令,有几个干掉几个!

卸载命令:rpm –ev {包名},如:

rpm -ev mysql-community-common-5.7.23-1.el7.x86_64

查找老版本mysql相关的安装目录命令:

find / -name mysql

若查找到相关目录使用命令:rm –rf {目录名}

 

最后使用命令:rpm -qa|grep -i mysql,重新检查一遍系统中是否安装mysql。

 

如果是centos7,那么默认会安装一个mysql的分支产品mariadb,必须先卸载此分支产品

 rpm -qa | grep mariadb

拷贝找到的列表,一个个卸载,如

rpm -e --nodeps mariadb-libs-5.5.35-3.el7.x86_64

2.安装包处理

新建software目录,切换到software目录,下载到该目录:

mkdir /root/software

cd/root/software

 

下载:(600M左右,下载需要点时间)

                                                                                   (mysql-5.7.23-linux-glibc2.12-x86_64.tar.gz)
wget https://cdn.mysql.com//Downloads/MySQL-5.7/mysql-5.7.23-linux-glibc2.12-x86_64.tar.gz

注:问题?

-bash: wget: command not found

然后在执行就可以了,或者可以去官网下载。

 

官网下载

地址:

https://dev.mysql.com/downloads/mysql/

 

或者直接找历史版本:https://downloads.mysql.com/archives/community/

国内镜像: http://mirrors.ustc.edu.cn/mysql-ftp/Downloads/MySQL-5.7/

(ps:最简单的是Windows的安装版,选择历史档案左侧的installer就可以选择下载:https://downloads.mysql.com/archives/installer/

下载完 

 

解压到当前目录:

tar -xzvf mysql-5.7.23-linux-glibc2.12-x86_64.tar.gz 

mysql主目录处理 

在software目录下移动文件到/usr/local/mysql:

mv mysql-5.7.23-linux-glibc2.12-x86_64/usr/local/mysql

 

cd/usr/local/mysql

mkdir data

主目录权限处理

查看组和用户情况

cat /etc/group | grep mysql
cat /etc/passwd |grep mysql

若存在,则删除原mysql用户:userdel -r mysql,会删除其对应的组和用户。

 

在查看就会发现没有,说明你已经删掉了

 

创建mysql组和mysql用户

 groupadd mysql
useradd -r -g mysql mysql
chown -R mysql:mysql /usr/local/mysql

 

创建配置文件及相关目录

修改配置文件:/etc/my.cnf,配置不对的话,后面初始化不全,会拿不到默认密码。

vim /etc/my.cnf

修改内容:

复制代码

[client]
port = 3307
socket =/var/lib/mysql.sock
default-character-set=utf8
#bind-address = 127.0.0.1
[mysqld]
port = 3307
socket =/var/lib/mysql.sock
basedir=/usr/local/mysql
datadir=/usr/local/mysql/data
tmpdir=/usr/local/mysql/tmp
max_connections=200
character-set-server=utf8
default-storage-engine=INNODB
max_allowed_packet=16M

复制代码

:wq! 保存退出。

创建文件/tmp/mysql.sock:设置用户组及用户,授权

cd /tmp

touch mysql.sock

chown mysql:mysql mysql.sock

chmod 755 mysql.sock

 

创建文件/tmp/mysqld/mysqld.pid:

mkdir mysqld

cd mysqld

touch mysqld.pid

cd ..

chown -R mysql:mysql mysqld

cd mysqld

chmod 755 mysqld.pid

 

创建文件/var/log/mysqld.log:

 

touch /var/log/mysqld.log

chown -R mysql:mysql /var/log

cd log

chmod 755 mysqld.log

 

配置文件其他参数,仅供参考:https://blog.csdn.net/u011823494/article/details/74548642

安装和初始化数据库

进入bin目录:

cd /usr/local/mysql/bin/

 

初始化数据库:

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

注:

这时会出现错误

./mysqld: error while loading shared libraries: libaio.so.1: cannot open shared object file: No such file or directory

解决方案:

 yum install -y libaio

 

如果是内网不能上网的环境,那么就得手动安装 numactl-2.0.9-2.el6.x86_64.rpm 和 libaio-0.3.109-13.el7.x86_64.rpm 这两个rpm包

rpm -ivh  numactl-2.0.9-2.el6.x86_64.rpm

rpm -ivh libaio-0.3.109-13.el7.x86_64.rpm

然后在执行./mysqld --initialize --user=mysql --basedir=/usr/local/mysql--datadir=/usr/local/mysql/data

 

安全启动:

./mysqld_safe --user=mysql &

是否启动成功,可以通过查看mysql进程,ps -ef | grep mysql

 

默认密码在mysqld.log日志里, 找到后保存到安全的地方:

cat /var/log/mysqld.log

其中root@localhost: 后面的就是默认密码,后面登录用.(如果找不到可能默认是空,登录时密码直接回车,否则可能安装有问题)

进入bin目录:

cd /usr/local/mysql/bin/

 

登录mysql:

./mysql -u root -p

拷贝或者输入mysqld.log中获得的默认密码,即可进入mysql命令客户端。

 

但是,若输入相关命令,则会提示你修改用户密码(注意后面一定要加;)。

show databases;

 

假设密码修改为xh2018

mysql> set password=password("xh2018");

 

设置远程登录权限

mysql>grant all privileges on *.* to 'root'@'%' identified by 'xh2018'; 

立即生效:

mysql> flush privileges;

 

退出quit 或者 exit;

mysql> quit;

至此,mysql安装流程已结束,后续如果通过远程ip进行root用户授权,还需要到mysql库下的user表中把%对应的root用户所有权限改为Y,否则远程授权会失败,参考:https://blog.csdn.net/nininininiabc222/article/details/80090384

开机服务启动设置:

把support-files/mysql.server 拷贝为/etc/init.d/mysql:

cp -a /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql

查看是否拷贝成功

 

查看mysql服务是否在服务配置中

chkconfig --list mysql

 

若没有,则把mysql注册为开机启动的服务,然后在进行查看

chkconfig --add mysql

chkconfig --list mysql

 

启动 或 停止

service mysql start

service mysql stop

环境变量配置

将mysql的bin目录加入PATH环境变量

[root@test]# export PATH=$PATH:/usr/local/mysql/bin

[root@test]# echo $PATH
/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin:/usr/local/mysql/bin

创建快捷方式:

服务启动后,直接运行mysql -u root -p即可登录,不需要进入到对应的目录。

ln -s /usr/local/mysql/bin/mysql /usr/bin

 

 

登录 mysql

   测试登录

    登录 mysql:[root@localhost mysql]# mysql -uroot -p(登录密码为初始化的时候显示的临时密码)

    初次登录需要设置密码才能进行后续的数据库操作:SET PASSWORD = PASSWORD('123456');(密码设置为了123456) 

    修改密码为 password:update user set authentication_string=PASSWORD('password') where User='root';

   防火墙端口偶设置,便于远程访问

    [root@localhost ~]$ firewall-cmd --zone=public --add-port=3306/tcp --permanent

    [root@localhost ~]$ firewall-cmd --reload

  开启防火墙mysql3306端口的外部访问

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

  --zone : 作用域,网络区域定义了网络连接的可信等级。

    这是一个一对多的关系,这意味着一次连接可以仅仅是一个区域的一部分,而一个区域可以用于很多连接

  --add-port : 添加端口与通信协议,格式为:端口/通讯协议,协议是tcp 或 udp

  --permanent : 永久生效,没有此参数系统重启后端口访问失效

   使用 SQLyog 远程连接出现不允许连接问题:

    首先使用 dos 窗口 ping 一下 linux,排除网络连通问题,其次使用 SQLyog 连接测试一下。

    解决方法:登录 linux mysql 在用户管理表新增用户帐号

      mysql> use msyql 

      mysql> create user 'user-name'@'ip-address' identified by 'password';(红色标记为需要修改的地方)

    其他方案:

      授权root用户可以进行远程连接,注意替换以下代码中的“password”为 root 用户真正的密码,

      另外请注意如果你的root用户设置的是弱口令,那么非常不建议你这么干!:  

1
2
mysql> grant all privileges on *.* to root@"%" identified by "password" with grant option;
mysql> flush privileges;

 

 摘自:

Linux 系统安装下安装 mysql5.7(glibc版) - zero-gg - 博客园 (cnblogs.com)

centos 安装 mysql-5.7.23-linux-glibc2.12-x86_64.tar.gz 详细步骤 - 关键步就几步 - 博客园 (cnblogs.com)

[Mysql] MySQL配置文件my.cnf的理解 - Devops达人 - 博客园 (cnblogs.com)

 

 

 

 
posted @ 2021-11-09 14:34  期望  阅读(288)  评论(0编辑  收藏  举报