首页 > 数据库 >Linux下安装MySQL数据库

Linux下安装MySQL数据库

时间:2023-05-11 19:46:39浏览次数:62  
标签:tar 数据库 Linux mysqld usr 设置 mysql MySQL local

系统:Centos7

安装MySQL版本:8.0.32

安装方式:压缩包

MySQL官网下载 https://downloads.mysql.com/archives/community/

 

一、检查是否安装过msyql和mariadb数据库

rpm -qa | grep mysql 
rpm -qa | grep mariadb 

如果存在的话使用命令卸载:rpm -e --nodeps   

二、 安装mysql数据库

1、利用工具把下载的压缩包放到/usr/local/路径下解压

解压tar.xz文件:先 xz -d xxx.tar.xz 将 xxx.tar.xz解压成 xxx.tar ,再用 tar xvf xxx.tar来解包。

解压后修改文件名称为msyql:

mv mysql-8.0.32 mysq

2、在mysql的安装目录下编译配置文件my.cnf(这个文件一般是默认存在的,不需要自己手动创建,mysql在初始化是会去寻找这个配置文件,如果没有有则是默认的系统配置),新建文件夹data

进入mysql文件夹:

cd /usr/local/mysql

编辑my.cnf:

vim my.cnf

在my.cnf文件加入如下配置:

[mysqld]
# 设置3306端口
port=3306
 
# 设置mysql的安装目录
basedir=/usr/local/mysql
 
# 设置mysql数据库的数据的存放目录
datadir=/usr/local/mysql/data
 
# 允许最大连接数/
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
user=mysql

 创建data文件夹:

mkdir data

3、创建mysql用户组和mysql用户并修改mysql文件权限

groupadd mysql
useradd -r -g mysql mysql
chown -R mysql.mysql /usr/local/mysql
chmod -R 777 /usr/local/mysql

4、进入bin目录下初始化mysql

cd /usr/local/mysql/bin
./mysqld --initialize --console #mysql初始化

记录下初始化信息中结尾的密码

5、启动mysql

进入/usr/local/support-files文件夹,启动mysql 

cd /usr/local/support-files
./mysql.server start

6、将mysql 添加到系统中,设置自启动

#将服务添加进系统
cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld
#设置自启动
chmod +x /etc/init.d/mysqld
systemctl enable mysqld

7、登录mysql,修改root 密码,设置可以远程访问

#设置mysql环境变量
vim /etc/profile
#在结尾另起一行加入以下配置,wq保存
export PATH=$PATH:/usr/local/mysql/bin
#刷新
source /etc/profile
#登录msyql,输入上面记录的临时密码
msyql -uroot -p
#>msyql 表示已成功进入

 登录成功后输入以下sql语句:

#修改root密码,123456改为要换的密码
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '123456';
#设置远程访问
update user set host=’%’ where user=‘root’;
#刷新mysql系统权限表
FLUSH PRIVILEGES;
#退出
quit;

 

8、重启mysql用新密码登录,成功后用工具远程连接测试

#重启mysql
service mysqld restart 
#用新密码登录msyql
mysql -uroot -p

 

9、msyql8.0版本新建用户并授权远程访问

use mysql;
create user ‘用户名’@‘%’ identified by '密码';
flush privileges;
grant all privileges on 数据库 to '用户名'@'%';

 

标签:tar,数据库,Linux,mysqld,usr,设置,mysql,MySQL,local
From: https://www.cnblogs.com/afana/p/17391381.html

相关文章

  • Java 远程连接 SQLite 数据库
    Java远程连接SQLite数据库 Java可以使用JDBCAPI来连接SQLite数据库。但是,SQLite不支持远程连接,因为它是一种文件数据库,需要直接访问数据库文件。如果您需要从远程位置访问SQLite数据库,可以将SQLite数据库文件放在共享文件夹中,并将该文件夹映射到本地计算机上。......
  • Flink MySQL CDC connector 使用注意事项
    注意事项表要有主键库名和表名不能有点号是个BUG,估计后续会修复。表名不能有大写也是个BUG,估计后续会修复。如果表名含有大写的字母,查询时日志可看到如下信息:java.util.concurrent.ExecutionException:java.io.FileNotFoundException:Filedoesnotexist:hdf......
  • 数据库DDL和DML
    DDL代表数据定义语言,是一种有助于创建数据库模式的SQL命令。而,DML代表数据操作语言,是一种有助于检索和管理关系数据库中数据的SQL命令。  命令上的区别:DDL中常用的命令有:create,drop,alter,truncate和rename等等。而,DML中常用的命令有:insert,update,delete和select等等。 1.......
  • Linux crontab定时执行脚本
    一、创建shell脚本示例:查看a.txt文件是否存在#!/bin/shecho"查找2.txt文件是否存在?"if[-e/test/2.txt];thenecho$(date+%F%n%T)文件存在-yes>>/test/log.txtelseecho$(date+%F%n%T)文件不存在-no>>/test/log.txtfi执行脚本:[root@localhosttest]#chmo......
  • linux 管理进程和计划任务
    目录一、进程原理二、进程工作过程三、进程类型四、管理进程五、前后台调度六、定时任务七、管理定时任务        一、进程原理进程:指正在运行的程序称之为进程程序:指的是没有运行的代码线程:真正的执行者,是复制了一部分进程的代码,可以完成......
  • Linux 安装python、flaks
    linux默认是带有python的下载并安装python3下载地址:https://www.python.org/ftp/python/3.8.2/Python-3.8.2.tgz--创建安装目录mkdir-p/usr/local/python3 --解压安装包tar-zxvfPython-3.8.2.tgz --进入目录编译安装cdPython-3.8.2./configure--pre......
  • 数据库基础(上)
    1.基础篇1.1MySQL概述1.1.1数据库相关概念主流的关系型数据库管理系统1.1.2MySQL数据库   要想在任意目录下执行MySQL指令,需要配置PATH环境变量  1.2SQL1.2.1SQL通用语法1.2.2SQL分类1.2.3DDL使用double要指定两个参数,一个参数是double的整......
  • Linux文件传输FTP命令详解
    首先需要下载ftp客户端工具yuminstall-yftplftp语法ftp(选项)(参数)选项-d启动调试模式-u关闭自动认证-e不记录历史指令-i关闭交互模式-x在成功认证之后,协商密钥-n关闭自动登录功能-p传输文件模式为被动模式-v程序运行时......
  • Linux下修改MySQL可以远程访问
    所有操作均在MySQL命令行下执行,进入MySQL命令行:mysql-uroot-p#允许root账户远程登录updatemysql.usersethost='%'whereuser='root';#刷新权限表FLUSHPRIVILEGES;一些其他配置#禁止root账户远程登录updatemysql.usersethost='localhost'whereuser='root';#查......
  • 什么是 SELinux?为什么都想要禁用它?
    什么是SELinux?为什么都想要禁用它?原创 入门小站 入门小站 2023-05-0621:30 发表于湖北收录于合集#Linux778个入门小站分享运维技巧及10k+Stars的开源项目241篇原创内容公众号【Linux250个常用命令速查手册】关注【入门小站】,后台回复「1001......