Linux安装MySQL

Linux安装MySQL

  • 使用rpm -qa|grep mysql命令来查看rpm方式安装的mysql,如果查询结果不为空,需要将这些rpm卸载掉。

    [root@localhost support-files]# rpm -qa | grep mysql
    [root@localhost support-files]# rpm -e --nodeps 卸载的包
    
  • 然后找出mysql文件夹,并删除

    [root@localhost support-files]# find / -name mysql
    [root@localhost support-files]# rm -rf 删除目录
    
    删除mysql的rpm包
    rpm -qa | grep -i mysql | xargs rpm -e --nodeps
    删除mysql遗留的文件
    find / -name mysql | xargs rm -rf
    find / -name my.cnf | xargs rm -rf
    
  1. 使用xftp把mysql-8.0.25-linux-glibc2.12-x86_64.tar.xz压缩包上传到/usr/local 目录

在这里插入图片描述

  1. 解压文件

    [root@localhost local]# tar -xvf mysql-8.0.25-linux-glibc2.12-x86_64.tar.xz
    
  2. 重命名为mysql

    [root@localhost local]# mv mysql-8.0.25-linux-glibc2.12-x86_64 mysql
    

在这里插入图片描述

  1. 进入到/usr/local目录下,创建用户和用户组并授权

    [root@localhost local]# pwd
    /usr/local
    [root@localhost local]# groupadd mysql             #创建用户组
    [root@localhost local]# useradd -r -g mysql mysql  #创建用户
    [root@localhost local]# chown -R mysql:mysql ./    #授权
    [root@localhost local]# 
    
  2. 进入/usr/local/mysql目录下,并创建data文件夹

    [root@localhost mysql]# mkdir data
    

    在这里插入图片描述

  3. 初始化数据库,会自动生成随机密码,并记下首次登陆要用

    [root@localhost mysql]# bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data
    

在这里插入图片描述

  1. 修改/usr/local/mysql当前目录得用户

    [root@localhost mysql]# chown -R root:root ./
    [root@localhost mysql]# chown -R mysql:mysql data
    

在这里插入图片描述

  1. 创建my.cnf文件

    [root@localhost mysql]# cd support-files/
    [root@localhost support-files]# touch my-default.cnf
    [root@localhost support-files]# chmod 777 ./my-default.cnf
    [root@localhost support-files]# cp my-default.cnf /etc/my.cnf
    cp:是否覆盖"/etc/my.cnf"? y
    [root@localhost support-files]# ll
    总用量 20
    -rwxrwxrwx. 1 root root     0 11月  8 10:06 my-default.cnf
    -rwxr-xr-x. 1 root root  1061 4月  23 2021 mysqld_multi.server
    -rw-r--r--. 1 root root  2027 4月  24 2021 mysql-log-rotate
    -rwxr-xr-x. 1 root root 10576 4月  24 2021 mysql.server
    [root@localhost support-files]# 
    
  2. 配置my.cnf

    [root@localhost support-files]# vim /etc/my.cnf
    
    [client]
    port = 3306
    socket = /tmp/mysql.sock
    [mysqld]
    init-connect='SET NAMES utf8'
    basedir=/usr/local/mysql              #根据自己的安装目录填写 
    datadir=/usr/local/mysql/data     #根据自己的mysql数据目录填写
    socket=/tmp/mysql.sock
    max_connections=200             # 允许最大连接数
    character-set-server=utf8           # 服务端使用的字符集默认为8比特编码的latin1字符集
    default-storage-engine=INNODB           # 创建新表时将使用的默认存储引擎
    
  3. 开机自启,进入/usr/local/mysql/support-files进行设置

    [root@localhost support-files]# cp mysql.server /etc/init.d/mysql
    [root@localhost support-files]# chmod +x /etc/init.d/mysql
    
  4. 注册服务

    [root@localhost support-files]# chkconfig --add mysql
    [root@localhost support-files]# chkconfig --list mysql
    
    注:该输出结果只显示 SysV 服务,并不包含
    原生 systemd 服务。SysV 配置数据
    可能被原生 systemd 配置覆盖。 
    
          要列出 systemd 服务,请执行 'systemctl list-unit-files'。
          查看在具体 target 启用的服务请执行
          'systemctl list-dependencies [target]'。
    
    mysql          	0:关	1:关	2:开	3:开	4:开	5:开	6:关
    [root@localhost support-files]# 
    
  5. /etc/ld.so.conf要配置路径,不然报错

    [root@localhost support-files]# vim /etc/ld.so.conf
    
    加入这段    /usr/local/mysql/lib
    

在这里插入图片描述

  1. 配置环境变量

    [root@localhost support-files]# vim /etc/profile
    

    在这里插入图片描述

  2. 更新环境变量

    [root@localhost support-files]# source /etc/profile
    
  3. 启动mysql服务

    [root@localhost support-files]# service mysql start
    
    Starting MySQL.Logging to '/usr/local/mysql/data/localhost.localdomain.err'.
    .. SUCCESS! 
    [root@localhost support-files]# 
    
  4. 登录,密码为上面第6步随机生成得密码(输入时不显示)

    [root@localhost support-files]# mysql -u root -p
    

在这里插入图片描述

  1. 修改 ‘root’@‘localhost’ 的密码

    mysql> alter user 'root'@'localhost' identified by 'root';
    Query OK, 0 rows affected (0.00 sec)
    mysql> 
    
  2. 开启允许远程登录

    mysql> use mysql;  #如果报以下该错误
    ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.
    mysql> ALTER USER USER() IDENTIFIED BY 'root';   #解决方式
    Query OK, 0 rows affected (0.01 sec)
    
    mysql> use mysql;		#进入数据库
    Database changed
    mysql> select host, user, authentication_string, plugin from user;	#查看用户信息
    +-----------+------------------+------------------------------------------------------------------------+-----------------------+
    | host      | user             | authentication_string                                                  | plugin                |
    +-----------+------------------+------------------------------------------------------------------------+-----------------------+
    | localhost | mysql.infoschema | $A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED | caching_sha2_password |
    | localhost | mysql.session    | $A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED | caching_sha2_password |
    | localhost | mysql.sys        | $A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED | caching_sha2_password |
    | localhost | root             | $A$005$Rq&pD"<:TvYbeAUCd9i4Hrlg1Y1a99i79H20gCu/yvUaUtgC4eJ69e. | caching_sha2_password |
    +-----------+------------------+------------------------------------------------------------------------+-----------------------+
    4 rows in set (0.00 sec)
    
    mysql> CREATE USER 'root'@'%' IDENTIFIED BY 'root';			#创建任意ip连接root用户
    Query OK, 0 rows affected (0.01 sec)
    
    mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION;		 #授权root用户可以远程登陆
    Query OK, 0 rows affected (0.00 sec)
    
    mysql> flush privileges;		#立即生效
    Query OK, 0 rows affected (0.00 sec)
    
    mysql> ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'root';  #修改'root'@'%'用户密码
    Query OK, 0 rows affected (0.00 sec)
    
    mysql> FLUSH PRIVILEGES;	#立即生效
    Query OK, 0 rows affected (0.00 sec)
    
    mysql> exit;	#退出
    Bye
    [root@localhost support-files]# service mysql restart    #重启mysql服务
    Shutting down MySQL. SUCCESS! 
    Starting MySQL. SUCCESS! 
    [root@localhost support-files]# 
    

    防火墙开放3306端口

    [root@localhost support-files]# firewall-cmd --zone=public --add-port=3306/tcp --permanent
    success
    [root@localhost support-files]# systemctl restart firewalld.service
    [root@localhost support-files]# firewall-cmd --list-ports 
    3306/tcp
    

    在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值