linux 安装mysql-8.0.20 (实战记录)

安装前先确认一下你的机器上是否已经安装过mysql,有的清理干净,没有则直接进入安装步骤,下面将会记录一下自己的整个安装过程以及遇到的问题和解决方法。

我的系统是:CentOS Linux release 7.5.1804 (Core)     内核:3.10.0-862.11.6.el7.x86_64

安装前的系统确认:

1、检查是否已经安装过mysql :    rpm -qa | grep mysql

如果环境中有遗留mysql则执行删除命令:rpm -e --nodeps mysql-xxxxxxxxx

2、查询遗留的mysql设置或命令,执行两条命令:

whereis mysql

find / -name mysql

如通过上述两条命令发现有遗留,则执行清除命令,将所有查到的mysql都删除感觉 :rm -rf  xxx xxx   

 

下面开始正式的安装了,不要眨眼错过每一步哦!

1、检查mysql用户组和用户是否存在,如果没有,则创建,有的话可以不用添加,如果已经忘记密码等则保险期间还是删除重新创建吧

查看是否存在mysql用户的命令:

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

增加 mysql 用户的命令:

groupadd mysql
useradd -r -g mysql mysql

2、从官网下载是用于Linux的Mysql安装包

官网下载8.20版本mysql的地址:https://downloads.mysql.com/archives/community/

两种方法下载:

第一:如果你的linux 系统有外网,则直接通过命令下载到linux系统上:wget   https://dev.mysql.com/get/Downloads/MySQL-8.0.20/mysql-8.0.20-linux-glibc2.12-x86_64.tar.xz

第二:通过浏览器打开网页,按照图片的执行,点击"DownLoad"

 

 

 

3、开始解压、安装

tar -xvf  mysql-8.0.20-linux-glibc2.12-x86_64.tar.xz

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

4、更改mysql目录下所有的目录及文件夹所属的用户组和用户,以及权限

mysql文件夹要配置为755的权限,如果不是则执行命令:
chmod -R 755 /usr/local/mysql

5、找一个目录来存储mysql的数据,如果你的数据量大,记得要找个大点的盘和目录,我的是在/data目录下

mkdir -p  /data/mysql

此时一般网友的操作步骤是给这个目录设置了mysql权限:chown mysql:mysql -R /data/mysql

我在执行和调试过程中,遇到了mysql.sock无法找到和其他无法写的权限等问题,所以为给这个目录权限设置为:chmod 777 /data/mysql    

这应该和我的调试有关系,也不必都设置为777权限,,当你遇到无法解决的读写文件问题时可以这么设置

4、设置配置文件,编译/etc/my.cnf  , 内容如下

[mysqld]
#datadir=/var/lib/mysql
#socket=/var/lib/mysql/mysql.sock
# Disabling symbolic-links is recommended to prevent assorted security risks
#symbolic-links=0
# Settings user and group are ignored when systemd is used.
# If you need to run mysqld under a different user or group,
# customize your systemd unit file for mariadb according to the
# instructions in http://fedoraproject.org/wiki/Systemd
bind-address=127.0.0.1
port=3306
user=mysql
basedir=/usr/local/mysql
datadir=/data/mysql
socket=/tmp/mysql.sock
#socket=/data/mysql/mysql.sock
log-error=/data/mysql/mysql.err
pid-file=/data/mysql/mysql.pid
##character config
character_set_server=utf8mb4
symbolic-links=0
explicit_defaults_for_timestamp=true

[mysqld_safe]
#log-error=/var/log/mariadb/mariadb.log
log-error=/data/mysql/mariadb.log
#pid-file=/var/run/mariadb/mariadb.pid
pid-file=/data/mysql/mariadb.pid

#
# include all files from the config directory
#
!includedir /etc/my.cnf.d

 

注意、注意、注意,很重要,补充知识:

不要将配置文件中的socket=/tmp/mysql.sock 改为你自定义目录文件的路径,如:#socket=/data/mysql/mysql.sock,非常容易出现一下图片中的错误,处理起来可能费时间和精力,我也像网上说的使用自己的目录且给/tmp/mysql.sock 建立了软连接也不管用,所以还是建议按照我的配置去配置,不要改socket的目录了。

 

 当然出现上述错误后,你又想快速的访问mysql数据库(数据库已经初始化好后的步骤),也可以执行如下命令先使用着

执行连接命令:./mysql -uroot -h 127.0.0.1 -p 

 

5、初始化mysql,一定要记住初始化输出日志末尾的密码(数据库管理员临时密码)

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

如果屏幕上没有打印则去日志文件中查看初始化完成后的临时密码:

cat /data/mysql/mysql.err

 

 

 6、测试启动mysql服务器

先将mysql.server放置到/etc/init.d/mysql中
cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql

service mysql start
ps -ef | grep mysql

 

 

 

7、修改初始密码

首先登录mysql,密码是上述初始化时,日志最后一行生成的那个临时密码
./mysql -u root -p #bin目录下
./mysql -uroot -h 127.0.0.1 -p

 

 

8、修改初始化的密码,设置自己的密码

注意:对于8.0.20版本的mysql,使用以前的修改密码的命令不可用,无法使用set password命令,会出现以下错误:

 

 

怎么办呢,经过验证,需要使用alert命令去修改,执行命令:

ALTER USER 'root'@'localhost' IDENTIFIED BY 'xxxxxxx';
FLUSH PRIVILEGES;

 

 

9、开放远程连接(开通后你的mysql就可以让其他远端客户端访问了),执行命令:

use mysql;

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

flush privileges;

 

 

到此,你的mysql已经安装成功,开心的使用去吧。

 

另:如有环境依赖上的问题,比如执行初始化命令时遇到系统提示无相关库时,可以参考以下网友的解决方法,我没有遇到此类问题所以就不多着叙述:

https://www.jianshu.com/p/276d59cbc529

 

补充:

mysql 5.7.31版本下载路径:

https://dev.mysql.com/downloads/mysql/5.7.html#downloads    

下载后安装步骤同上,注意 改密码那个步骤略微有不同。

1、linux上执行下载命令:wget  https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.24-linux-glibc2.12-x86_64.tar.gz

2、网页上的下载如下所示:

弹出以下页面:

 

posted @ 2020-10-15 16:41  天地一体  阅读(3985)  评论(2编辑  收藏  举报