Linux安装下载mysql8.0版本实战详细教程

Posted Zmy_ymZ

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux安装下载mysql8.0版本实战详细教程相关的知识,希望对你有一定的参考价值。

Linux安装下载mysql8.0版本实战详细教程

1.进入 /usr/local下,根据需要的版本下载mysql:wget https://cdn.mysql.com/archives/mysql-8.0/mysql-8.0.30-el7-x86_64.tar.gz,不通版本修改命令里的版本号

没有wget命令的可以安装此命令 sudo yum -y install wget

也可以下载完自己上传到linux里面

2.解压下载的包,tar zxvf mysql-8.0.30-el7-x86_64.tar.gz,解压完成后将文件夹重命名为 mysql(为了好看)

3.进入mysql文件夹,创建data文件夹用来存储文件

4.创建用户组以及用户和密码
groupadd mysql
useradd -g mysql mysql

用户组名以及用户名和密码为了方便记都用mysql就行,当然也可以自己叫什么都行

5.授权刚刚创建的 mysql 用户组对mysql文件夹的操作权限
chown -R mysql.mysql /usr/local/mysql
chmod 777 /usr/local/mysql/mysql/data

6.编辑 my.cnf 文件
vi /etc/my.cnf 或者 vim /etc/my.cnf (编辑命令的使用不用说了吧)
下面的配置为了防止出错,就按照这个写吧
basedir=/usr/local/mysql/
datadir=/usr/local/mysql/data/
socket=/tmp/mysql.sock
character-set-server=UTF8MB4
lower_case_table_names=1(:设置数据库表名大小写不敏感,如果想要区分大小写,这个不加,默认是0,所以不用加)
sql_mode=‘STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION’(:MySQL8.0 配置中 sql_mode 配置了 only_full_group,需要 GROUP BY中包含所有 在 SELECT 中出现的字段。因此需要在 MySQL 的配置中去掉这个配置)

7.保存后,进入mysql的bin目录下,执行下面命令
./mysqld --user=mysql --basedir=/usr/local/mysql/ --datadir=/usr/local/mysql/data/ --lower-case-table-names=1 --initialize

其中 --lower-case-table-names=1 这个参数依然根据是否需要数据库表名大小写敏感设置成 0 或者 1,默认是0,
区分大小写的话这个就删除掉不用加就行
成功后显示如下

这个随机密码不用记,记住也没有用

8.复制 mysql.server 文件,添加mysql 和 mysqld服务
注意,此时在mysql目录下
cp -a ./support-files/mysql.server /etc/init.d/mysql
cp -a ./support-files/mysql.server /etc/init.d/mysqld
复制完后赋予权限:
chown 777 /etc/my.cnf
chmod +x /etc/init.d/mysql
chmod +x /etc/init.d/mysqld

9.启动mysql
service mysql start
见到如下表示启动成功

10.添加软连接命令
ln -s /usr/local/mysql/bin/mysql /usr/bin

11.登录mysql
mysql -uroot -p
此时输入密码你会发现怎么都不对,即使你确定你输对了之前生成的随机密码

这就是说的前面生成的那个初始密码根本没用的原因,解决如下:
编辑my.cnf文件
vi /etc/my.cnf
在文件中随便一行加入 skip-grant-tables,这行在之前的贴图中用#号注释着的,用途就是为了这里,
保存后重启mysql:service mysql restart
再次 mysql -uroot -p 登录mysql ,直接敲两次回车,密码已经被跳过了,看到如下

此时已经登录进来了
输入命令 use mysql

使用命令清空之前的密码设置
update user set authentication_string = ‘’ where user = ‘root’;

此时密码已被清空,quit退出mysql
将之前my.cnf文件中添加的跳过密码配置删掉,保存后service mysql restart重启mysql,然后mysql -uroot -p敲两次回车登录mysql,
因为密码已经被清空了,所以这里依然不用输入密码
进去后重新修改密码
输入use mysql命令
输入修改密码命令 ALTER USER ‘root’@‘localhost’ IDENTIFIED WITH mysql_native_password BY ‘12345678’;

输入刷新权限命令 flush privileges;

接着输入命令配置可以远程连接到此数据库:update user set host=‘%’ where user=‘root’;
并刷新权限

接着可以用Navicat尝试连接一下了

linux安装mysql教程超级详细

目录

一、mysql官网下载地址

二、详细安装步骤

1、进入mysql官网,然后选择【linux-Generic】

2、选择操作系统版本,选择【linux-Generic(glibc 2.12)(x86,64-bit)】

​3、选择【Compressed TAR Archive】进行下载

4、复制下载链接地址 或者 直接点击下载

5、进入【/usr/local/】目录下

6、下载安装包

7、解压安装包

8、重命名文件夹

9、创建用户组以及用户和密码

10、授权用户

11、切换到bin目录下

12、初始化数据库

13、编辑my.cnf文件

14、添加mysql服务到系统服务中  

15、授权以及添加服务     

14、启动mysql

15、查看启动状态

16、将mysql命令添加到服务

17、登录mysql密码,使用之前初始密码

18、修改【root】用户的密码

19、执行【flush privileges;】使密码立即生效

20、选择mysql数据库

21、修改远程连接并立即生效 


一、mysql官网下载地址

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

 

二、详细安装步骤

1、进入mysql官网,然后选择【linux-Generic】

 这里我选着的是截止目前最新的mysql版本,自己可以根据自己需求下对应的版本。

2、选择操作系统版本,选择【linux-Generic(glibc 2.12)(x86,64-bit)】

3、选择【Compressed TAR Archive】进行下载

4、复制下载链接地址 或者 直接点击下载

https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-8.0.26-linux-glibc2.12-x86_64.tar.xz

5、进入【/usr/local/】目录下

cd /usr/local/

6、下载安装包

下载方式
    1、通过wget直接下载到/usr/local路径下【这里使用这种方式】
    2、通过再别的地方下载后复制到/usr/local路径下

wget https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-8.0.26-linux-glibc2.12-x86_64.tar.xz

7、解压安装包

tar xvJf mysql-8.0.26-linux-glibc2.12-x86_64.tar.xz

8、重命名文件夹

mv mysql-8.0.26-linux-glibc2.12-x86_64 mysql

9、创建用户组以及用户和密码

groupadd mysql
useradd -g mysql mysql

10、授权用户

chown -R mysql.mysql /usr/local/mysql

11、切换到bin目录下

cd bin

12、初始化数据库

./mysqld --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data/ --initialize --lower-case-table-names=1

初始化参数说明

【--user=mysql】:安装mysql,用户身份是mysql用户组。

【--basedir=/usr/local/mysql】:指定了安装 MySQL 的安装路径。

【--datadir=/usr/local/mysql/data/】:指定了 MySQL 的数据库文件放在什么路径下。

【--initialize】:初始化。

【--lower-case-table-names=1】:是否数据目录所在的文件系统对文件名的大小写敏感。0-大小写敏感1-大小写不敏感2-大小写不敏感(注:只在对大小写不敏感的文件系统上适用)

      linux下lower_case_table_names默认值为 0

      Windows下默认值是 1

      Mac OS下默认值是 2

      大小写区分规则如下
      linux下:
            数据库名与表名是严格区分大小写的;
            表的别名是严格区分大小写的;
            列名与列的别名在所有的情况下均是忽略大小写的;
            变量名也是严格区分大小写的;
       windows下:
            都不区分大小写
       Mac OS下(非UFS卷):
            都不区分大小写

初始化命令执行后,在最后会显示初始密码,记得一定要先保存下来,第一次登录需要使用。

13、编辑my.cnf文件

vi /etc/my.cnf

编辑内容如下【可供参考】:

[client]
port = 3306
socket=/usr/local/mysql/mysql.sock

[mysqld]
basedir=/usr/local/mysql
datadir=/usr/local/mysql/data
socket=/usr/local/mysql/mysql.sock
character-set-server=UTF8MB4
lower_case_table_names = 1
# 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

# [mysqld_safe]
# log-error=/usr/local/mysql-8.0/logs/mysqld-error.log
# pid-file=/tmp/mysqld.pid

14、添加mysql服务到系统服务中  

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

15、授权以及添加服务     

chmod +x /etc/init.d/mysql
chkconfig --add mysql

14、启动mysql

service mysql start

启动这里有个坑  我话了好多时间来填坑【记录一下】

【现象】如果在初始化数据库的参数有【lower-case-table-names=1】,并且在my.cnf文件中没有添加。

当运行【service mysql start】命令时会报错。

【解决方案】:编辑my.cnf文件,将【lower-case-table-names=1】参数加入【mysqld】下边。

15、查看启动状态

service mysql status

16、将mysql命令添加到服务

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

17、登录mysql密码,使用之前初始密码

mysql -uroot -p

18、修改【root】用户的密码

其中【!QAZ1qaz】是新的密码,自己根据自己情况进行设置。

 ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '!QAZ1qaz';

19、执行【flush privileges;】使密码立即生效

flush privileges;

20、选择mysql数据库

use mysql;

21、修改远程连接并立即生效 

update user set host='%' where user='root';
flush privileges;

……
帮助他人,快乐自己,最后,感谢您的阅读!
所以如有纰漏或者建议,还请读者朋友们在评论区不吝指出!

个人网站…知识是一种宝贵的资源和财富,益发掘,更益分享…

以上是关于Linux安装下载mysql8.0版本实战详细教程的主要内容,如果未能解决你的问题,请参考以下文章

MySQL8.0安装教程---详细

MySQL8.0版本安装教程(详细版)

mysql8.0安装

MySQL8.0安装

MySQL8.0.20安装详细图文教程,mysql安装教程

MySQL8.0.20安装详细图文教程,mysql安装教程