2020Linux 安装MySQL8

4 篇文章 0 订阅

  好久都没有搞过MySQL了,最近去官网一看发现好多东西都变了,之前收藏的博客也不管用了,这次自己写一篇记录下。

1、下载MySQL

  可以从官网直接下载压缩包MySQL官网下载连接

选择与自己服务器对应的版本。下载完成后上传到服务器 /usr/local/mysql 文件夹下(没有就创建一个或者放在其他文件夹下)

也可以用wget直接下载

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

注意:看下载到了哪个文件夹下
下载后移动到 /usr/local/mysql 文件夹下。(确认先创建mysq文件夹,否则文件会被重命名)

mv mysql-8.0.21-linux-glibc2.12-x86_64.tar.xz /usr/local/mysql

进入 /usr/local/mysql 文件夹下,解压压缩文件

tar -xvf mysql-8.0.21-linux-glibc2.17-x86_64-minimal.tar.xz

重命名

mv mysql-8.0.21-linux-glibc2.12-x86_64 mysql8.0

创建文件夹 data 储存数据

cd mysql8.0
mkdir .data

2、安装MySQL

(1)创建 mysql 用户组和 mysql 用户

groupadd mysql
useradd -g mysql mysql

(2)改变 mysql 目录权限(授权)

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

(3)重点来了!
初始化数据库

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

如果失败可以试试先安装数据库(有的没有这一步,直接初始化数据库可能会报错:./bin/mysqld: error while loading shared libraries: libaio.so.1: cannot open shared object file: No such file or directory

yum install -y libaio   或   yum install -y libaio.so.1  

成功后获得如下图所示初始密码
在这里插入图片描述
(4)修改my.cnf文件

vim  /etc/my.cnf

进入编辑模式后写入

[mysqld]
    basedir = /usr/local/mysql/mysql8.0   
    datadir = /usr/local/mysql/mysql8.0/data
    socket = /usr/local/mysql/mysql8.0/mysql.sock
    character-set-server=utf8
    port = 3306
   sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
 [client]
   socket = /usr/local/mysql/mysql8.0/mysql.sock
   default-character-set=utf8

:wq退出
建立Mysql服务

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

添加Mysql到系统服务

chmod +x /etc/init.d/mysql
chkconfig --add mysql
# 检查服务是否生效
chkconfig --list mysql

3、启动MySQL服务

service mysql start

登录MySQL(密码注意大小写)
mysql -uroot -p密码
修改密码:

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '新密码';

刷新权限

FLUSH PRIVILEGES;

远程连接的话记得开放3306端口和防火墙。

检查3306端口是否开放

netstat -nupl|grep 3306

开放3306端口

firewall -cmd --permanent --add-prot=3306/tcp

重启防火墙

firewall -cmd --reload

  同时远程连接时应该再创建一条root记录,而不是直接修改root。不然可能会导致无法登录,本人就曾经踩过这个坑。
  具体代码如下:

授权 root 用户的所有权限并设置远程访问
CREATE USER 'root'@'%' IDENTIFIED BY '111111';
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '111111';(修改加密规则并更新密码)
设置为远程登录
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION ;
GRANT ALL ON 表示所有权限,% 表示通配所有 host,可以访问远程。
flush privileges;(刷新权限)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值