Linux安装MySQL5.7.26

/ ARC / 没有评论 / 40浏览
欢迎关注微信公众号:程序员小圈圈
原文首发于:www.zhangruibin.com
本文出自于:RebornChang的博客
转载请标明出处^_^

Linux安装MySQL5.7.26

清理环境

如果之前安装过MySQL的,重装需要清理之前下载的。

检查是否安装过

[root@localhost /]# rpm -qa | grep mysql

如果安装过的话会显示安装过的历史版本。

若是安装过则删除并且删除旧有的文件夹及MySQL用户

使用find和whereis找到文件或者文件夹rm删除,这里就不多说了。 如果之前没有安装过的话,直接跳过这一步然后看下面的就行了。

准备安装包

Linux安装MySQL首先要要准备安装包,安装包通用的分为两种方式 1.wget获取安装包


 wget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.26-linux-glibc2.12-x86_64.tar.gz

2.官网下载压缩包 官网下载压缩包,然后上传到Linux上之后,解压安装。 可以自行官网下载,或者进入笔者公众号回复MySQL5.7即可获取下载链接。 3.将压缩包放到/usr/local/zhrb下 然后进行解压

[root@VM-0-10-centos zhrb]# ll
total 629760
-rw-r--r-- 1 root root 644869837 Oct 11 17:48 mysql-5.7.26-linux-glibc2.12-x86_64.tar.gz
[root@VM-0-10-centos zhrb]# tar -zxvf mysql-5.7.26-linux-glibc2.12-x86_64.tar.gz 

解压完毕之后,复制并修改文件夹名称为mysql-5.7.26

cp mysql-5.7.26-linux-glibc2.12-x86_64/ /usr/local/mysql-5.7.26

此时,关于mysql资源已经准备完毕,接下来我们开始进行安装。

安装

新建用户

在/usr/local下执行

[root@VM-0-10-centos local]# groupadd mysql
[root@VM-0-10-centos local]# useradd -r -g mysql mysql

创建data文件夹用来存放mysql数据并分配权限

[root@VM-0-10-centos /]# mkdir -p data
[root@VM-0-10-centos /]# cd data/
[root@VM-0-10-centos data]# ll
[root@VM-0-10-centos data]# mkdir -p mysql
[root@VM-0-10-centos data]# chown mysql:mysql -R /data/mysql

修改my.cnf文件

[root@VM-0-10-centos data]# vim /etc/my.cnf

修改内容如下:

[mysqld]
port=3306
user=mysql
basedir=/usr/local/mysql-5.7.26
datadir=/data/mysql
log-error=/data/mysql/mysql.err
pid-file=/data/mysql/mysql.pid
#绑定IP登录地址
#bind-address=0.0.0.0
socket=/var/lib/mysql/mysql.sock

#免密登录
#skip-grant-tables=1

注意免密登录这点,mysql在初始化安装的时候,会在mysql.err文件中打印初始root登录密码,如果需要直接密码登录的话就vi /data/mysql/mysql.err把密码复制出来,然后在/usr/local/mysql-5.7.26/bin目录下 mysql -u root -p 回车输入密码登录。 如果初始设置不想使用密码登录的话,就把skip-grant-tables=1的注释放开,输入密码时直接略过敲回车即可。

初始化mysql

切换到mysql的bin目录来进行初始化:

 [root@VM-0-10-centos data]# cd /usr/local/mysql-5.7.26/bin/
[root@VM-0-10-centos bin]# ./mysqld --defaults-file=/etc/my.cnf --basedir=/usr/local/mysql-5.7.26/ --datadir=/data/mysql/ --user=mysql --initialize
./mysqld: error while loading shared libraries: libnuma.so.1: cannot open shared object file: No such file or directory

可以看到,初始化报错了,是因为缺少了一个库,那我们直接把这个库安装下就行了:

[root@VM-0-10-centos bin]# yum -y install numactl

安装过这个库之后,再进行初始化就没报错了。

然后看下初始化的root登录密码:

[root@VM-0-10-centos bin]# vim /data/mysql/mysql.err

如上面所说,可以使用免密登录,然后进去到mysql之后再修改root的密码。

启动mysql

[root@VM-0-10-centos bin]#  cd /usr/local/mysql-5.7.26/support-files
[root@VM-0-10-centos support-files]# ./mysql.server start
Starting MySQL SUCCESS! 

如上,成功启动mysql之后,我们登入mysql,进行root用户的密码修改。

修改root密码

如下,登录成功mysql之后,切换到mysql库,然后之后就可以对mysql的密码进行修改。

[root@VM-0-10-centos bin]# mysql -u root -p
Enter password: 
Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MySQL connection id is 4
Server version: 5.7.26 MySQL Community Server (GPL)

Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

MySQL [(none)]> use mysql
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A


修改root密码并且刷新权限

MySQL [mysql]> update mysql.user set authentication_string=password('password') where user='root' and host = 'localhost';
Query OK, 1 row affected, 1 warning (0.00 sec)
Rows matched: 1  Changed: 1  Warnings: 1

MySQL [mysql]> flush privileges;
Query OK, 0 rows affected (0.00 sec)

MySQL [mysql]> alter user 'root'@'localhost' identified by 'root';
Query OK, 0 rows affected (0.00 sec)


设置用户可以远程登录

MySQL [mysql]> update user set host = '%' where user = 'root';
MySQL [mysql]> update mysql.user set authentication_string=password('password') where user='root' and host = '%';

Query OK, 1 row affected (0.00 sec)
MySQL [mysql]> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%'IDENTIFIED BY 'password' WITH GRANT OPTION;
MySQL [mysql]> Flush Privileges;

在my.cnf文件中,bind-address=0.0.0.0注释掉。

至此,mysql-5.7.26已经安装成功了,如果按照 笔者这一套操作没有安装成功,有问题的话可以Google哈~