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教程超级详细
目录
1、进入mysql官网,然后选择【linux-Generic】
2、选择操作系统版本,选择【linux-Generic(glibc 2.12)(x86,64-bit)】
3、选择【Compressed TAR Archive】进行下载
19、执行【flush privileges;】使密码立即生效
一、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版本实战详细教程的主要内容,如果未能解决你的问题,请参考以下文章