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尝试连接一下了

  • 4
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值