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
相关推荐
小小工匠几秒前
系统安全 - Linux /Docker 安全模型及实践
linux·安全·系统安全
hefaxiang26 分钟前
【MYSQL】mysql约束---自增长约束(auto_increment)
数据库·mysql
琴智冰26 分钟前
SpringBoot
java·数据库·spring boot
AAEllisonPang34 分钟前
Oracle 时间计算
数据库·oracle
m0_7164990635 分钟前
达梦8-数据守护集群主备故障实验和脑裂处理
数据库
2201_761199041 小时前
nginx 负载均衡1
linux·运维·服务器·nginx·负载均衡
小登ai学习1 小时前
简单认识 redis -3 -其他命令
数据库·redis·缓存
suri ..1 小时前
【Linux】进程第三弹(虚拟地址空间)
linux·运维·服务器
害羞的白菜1 小时前
Nginx基础详解5(nginx集群、四七层的负载均衡、Jmeter工具的使用、实验验证集群的性能与单节点的性能)
linux·运维·笔记·jmeter·nginx·centos·负载均衡
纪伊路上盛名在1 小时前
如何初步部署自己的服务器,达到生信分析的及格线
linux·运维·服务器·python·学习·r语言·github