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
相关推荐
WongKyunban11 分钟前
向bash shell脚本传参
linux·开发语言·bash
gzpingesoft24 分钟前
Midjourney Imagine API 使用
数据库·midjourney
chian-ocean37 分钟前
Linux环境变量:系统的隐形纽带
linux·运维·服务器
PigeonGuan1 小时前
[Linux] 服务器CPU信息
java·linux·服务器
ppo_wu1 小时前
解决:com.mongodb.MongoSocketOpenException: Exception opening socket
java·数据库·spring boot·mongodb
会的全对٩(ˊᗜˋ*)و1 小时前
【SQL Server】教材数据库(1)
数据库·经验分享·sql·sqlserver
莫等闲!1 小时前
mongodb
数据库·mongodb
利刃大大1 小时前
【基础篇】三、MySQL表结构的操作
数据库·mysql·oracle
放逐者-保持本心,方可放逐1 小时前
基于Node.js + Koa2 + MySQL + TypeScript的应用示例
mysql·typescript·node.js·koa2·服务端基础应用
蜜獾云1 小时前
linux tar 文件解压压缩
linux·运维·服务器·tar