Linux安装mysql8

Linux 安装Mysql
1.官网下载mysql

​ 官网下载地址:https://dev.mysql.com/downloads/mysql/

2.检查服务器是否已经安装过mysql
  • find / -name mysql : 全局搜索是否有mysql相关文件

  • msyql --version: 查看是否已安装mysql

  • rpm -qa | grep -i mysql (参数-i 忽略大小写),没有输出表示没有通过rpm方式安装过mysql;

2.1卸载mysql
  • tar 解压方式安装mysql的卸载方式

    find / -name mysql 查出mysql相关文件;

    rm -rf mysql相关文件: 空格隔开多个文件目录

  • rmp安装mysql的卸载方式

    rpm -qa | grep -i mysql :查看安装了哪些mysql相关组件

    rpm -e 查出的组件名称 : 卸载所有mysql相关组件,有些有先后卸载依赖关系。

    find / -name mysql 查出mysql相关文件;

    rm -rf mysql相关文件: 空格隔开多个文件目录

  • yum安装mysql的卸载方式

    find / -name mysql 查出mysql相关文件;

    rm -rf mysql相关文件: 空格隔开多个文件目录

3.将压缩包上传到服务器目录 /usr/local (目录可以自定义)
4.解压mysql安装包

执行命令:tar -xvf mysql-8.0.30-linux-glibc2.12-x86_64.tar.xz

tar -xvf 目标压缩包:用于解压 .tar.xz

tar -zxvf 目标压缩包 :用于解压 .tar.gz

5.在mysql目录下创建存储文件夹

执行命令:mkdir data

6.新建mysql data目录

cd /usr/local/mysql-8.0.30

mkdir data : 新建data文件夹

chmod -R 755 /usr/local/mysql/mysql-8.0.32/data : 给data目录添加执行权限

7.编辑mysql 配置文件

执行命令:vim /etc/my.cnf

编辑以下内容:

[mysqld]
symbolic-links=0
port=3306
basedir=/usr/local/mysql-8.0.30/  # MySQL根目录
datadir=/usr/local/mysql-8.0.30/data/  # MySQL的data目录
socket=/tmp/mysql.sock
character-set-server=UTF8MB4
symbolic-links=0
#skip-grant-tables

其中skip-grant-tables可以设置免密登录;

8.进入mysql bin目录,执行初始化命令

执行命令: ./mysqld --user=mysql --basedir=/usr/local/mysql-8.0.30 --datadir=/usr/local/mysql-8.0.30/data --initialize

初始化mysql登录密码需要保存。

9.添加mysql服务

cd mysql解压根目录

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

chmod +x /etc/init.d/mysql : 添加可执行权限

chkconfig --add mysql : 添加服务

10.启动mysql

service mysql start

service mysql stop

service mysql status

11.将mysql启动脚本添加到系统目录:(相当于配置全局环境变量)

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

12.登录mysql

mysql -uroot -p: 输出初始化密码;或者/etc/my.cnf中配置 skip-grant-tables跳过输入密码;

13.修改密码

use mysql;

select Host,User from user where User='root';

查看root 对应的host是什么值,是localhost表示mysql客户端只允许本机访问,将其修改成 “%”,

让所有ip都能访问;

ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '123456';

flush privileges; : 刷新权限

ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '123456';:修改密码

flush privileges; : 刷新权限

14.防火墙添加3306端口

systemctl status firewalld : 查看防火墙服务状态

firewall-cmd --list-all:查看防火墙开通的所有端口

firewall-cmd --add-port=3306/tcp --permanent :添加3306端口

firawall-cmd --reload:重新加载配置文件

systemctl restart firewalld :重启防火墙

15. 云服务的话另外还需要开通3306的安全组;
16.错误记录
  1. 启动报错:找不到mysql启动文件的值;

    vim /etc/init.d/mysql 后发现 basedir 和datadir中没有赋值;将 /etc/my.cnf中的值粘贴后来后,启动成功;

  1. 外部ip mysql 连接工具连接服务器上的mysq失败:报错连接超时;

    解决:修改/etc/my.cnf ;

    增加 :

    wait_timeout=31536000
    interactive_timeout=31536000

​ 再重启mysql后成功;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值