Linux 系统快速安装 MySQL数据库(新手版)

Linux 系统快速安装 MySQL数据库(新手版)

1.删除原有的mariadb,不然mysql装不进去

查询MAriaDB命令

复制代码
 rpm -qa|grep  mariadb

删除

复制代码
rpm -e --nodeps   mariadb-libs-5.5.60-1.el7_5.x86_64

(yum -y remove mysql 如需要清除服务器上以前安装过的MySQL可执行此命令,执行前一定要备份好数据库)

2、安装MySQL依赖libaio包

复制代码
yum install libaio

3、上传MySQL安装包

复制代码
 cd /usr/local/

  tar -xvf   mysql-8.0.26-linux-glibc2.12-x86_64.tar.xz

  mv mysql-8.0.26-linux-glibc2.12-x86_64   mysql

4、给MySQL安装目录赋予访问权限并创建MySQL组和用户

进入MySQL8目录下赋予777权限(777 读写执行)

复制代码
 chmod -R 777 /usr/local/mysql 意思就是将mysql8目录下所有文件都给予最高权限

创建MySQL用户组

复制代码
 groupadd mysql

创建mysql用户,-s /bin/false参数指定mysql用户仅拥有所有权,而没有登录权限:

复制代码
 useradd -m -g mysql -s /bin/false mysql

添加用户mysql到组mysql中

复制代码
 chown -R mysql:mysql ./

5、修改MySQL配置文件

在mysql8目录中新建文件夹mysqldb,这个文件夹在mysql的配置中将会用到,和windows系统中通过解压安装的方式的意义是一样的:

复制代码
 cd  /usr/local/mysql
mkdir   mysqldb

修改配置文件

vi /etc/my.cnf

bash 复制代码
[mysqld]
# 设置3306端口
port=3306
# 设置mysql的安装目录
basedir=/usr/local/mysql
# 设置mysql数据库的数据的存放目录
datadir=/usr/local/mysql/mysqldb
# 允许最大连接数
max_connections=10000
# 允许连接失败的次数。这是为了防止有人从该主机试图攻击数据库系统
max_connect_errors=10
# 服务端使用的字符集默认为UTF8
character-set-server=utf8
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
# 默认使用"mysql_native_password"插件认证
default_authentication_plugin=mysql_native_password
[mysql]
# 设置mysql客户端默认字符集
default-character-set=utf8
[client]
# 设置mysql客户端连接服务端时默认使用的端口
port=3306
default-character-set=utf8

6、安装MySQL并启动MySQL服务

进入到MySQL bin目录下,执行安装,安装完成会生成一个随机密码要记录一下,第一次登录要使用

复制代码
cd  /usr/local/mysql/bin/

 ./mysqld --defaults-file=/etc/my.cnf --basedir=/usr/local/mysql/ --datadir=/usr/local/mysql/mysqldb --user=mysql --initialize

随机产生的密码 h%kIha-eb6ye

启动服务

mysql.server服务在安装目录的support-files目录下,执行以下指令进行启动:

bash 复制代码
 cd /usr/local/mysql/support-files
   chmod -R 777 /usr/local/mysql
 ./mysql.server start

7、添加MySQL到系统进程中

bash 复制代码
 cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld

8、设置MySQL服务开机自动启动

bash 复制代码
chmod +x /etc/init.d/mysqld

自动启动方法

bash 复制代码
  systemctl enable mysqld

9、修改root用户原始密码

添加环境变量

vi /etc/profile

bash 复制代码
 export  PATH=/usr/local/mysql/bin:$PATH

这样可以是mysql命令被识别

bash 复制代码
 source  /etc/profile

  mysql -uroot -p       #输入上边记录的密码

alter user 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '1';

10、设置允许远程登录 (需要登录MySQL执行)

bash 复制代码
use mysql;
update user set user.Host='%' where user.User='root';
flush privileges;
quit;
执行完以上语句后要重新启动服务才能生效


service  mysqld   restart
systemctl restart mysql

查看MySQL服务是否启动成功

bash 复制代码
systemctl status mysql

如出现active(running则表示服务是启动的)

11、设置防火墙,开放3306端口

查看防火墙是否开放过此端口

bash 复制代码
firewall-cmd --list-all  
开放端口
firewall-cmd --zone=public --add-port=3306/tcp --permanent
 一定要重启防火墙
firewall-cmd --reload

12、用 Navicat客户端链接测试

#############################################################################

问题解决:

#############################################################################

1、-bash: mysql: 未找到命令

echo $PATH 没有MySQL相关的命令

在profile文件中添加环境变量

bash 复制代码
vim  /etc/profile
 export  PATH=/usr/local/mysql/bin:/usr/local/mysql/lib:$PATH
相关推荐
wdfk_prog几秒前
[Linux]学习笔记系列 -- 底层CPU与体系结构宏
linux·笔记·学习
计算机毕设指导61 分钟前
基于微信小程序的钓鱼论坛系统【源码文末联系】
java·spring boot·mysql·微信小程序·小程序·tomcat·maven
行走的bug...6 分钟前
cmake总结
linux·运维·服务器
zfxwasaboy8 分钟前
DRM KMS 子系统(3)CRTC
linux·c语言
凌波粒13 分钟前
Linux 面试题篇
linux·运维·服务器
列御寇14 分钟前
MongoDB分片集群——集群组件概述
数据库·mongodb
Joren的学习记录15 分钟前
【Linux运维疑难杂症】k8s集群创建calico网络失败
linux·运维·kubernetes
七夜zippoe20 分钟前
领域驱动设计在Python中的实现:从理论到生产级实践
数据库·python·sqlite·ddd·pydantic
小CC吃豆子21 分钟前
Qt的信号与槽机制
开发语言·数据库·qt
虾..23 分钟前
Linux 线程控制
linux·运维·服务器