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

Linux安装MySQL数据库

时间:2024-09-11 15:07:08浏览次数:10  
标签:09 47 数据库 Linux cnf etc mysql MySQL my

Linux安装MySQL数据库

1. 检查是否已经安装MySQL

rpm -qa | grep mysql

如果已经安装必须进行卸载之后在进行安装,可以使用下面命令将其删除(xxx 为文件全名)

rpm -e xxx

2. 安装MySQL

2.1 下载安装包

下载mysql   

MySQL :: Download MySQL Community Server (Archived Versions)

选择对应的包 如下5.7包。

2.2 上传解压

tar -zxvf mysql-5.7.35-linux-glibc2.12-x86_64.tar.gz

2.3 创建用户组和用户

先检查是否有mysql用户组和mysql用户,没有就添加有就忽略:

[mysql@mysql soft]$ groups mysql 
mysql : mysql

添加用户组和用户:

groupadd mysql && useradd -r -g mysql mysql

2.4 创建数据目录

4.创建数据目录并赋予权限

mkdir -p /data/mysql
chown mysql:mysql -R /data/mysql

2.5 修改配置文件

修改/etc/my.cnf文件,如果没有就新建这个文件。

[root@mysql soft]# cat /etc/my.cnf
[mysqld]
# Disabling symbolic-links is recommended to prevent assorted security risks
# Settings user and group are ignored when systemd is used.
# If you need to run mysqld under a different user or group,
# customize your systemd unit file for mariadb according to the
# instructions in http://fedoraproject.org/wiki/Systemd
bind-address=0.0.0.0
port=3306
user=mysql
basedir=/usr/local/mysql
datadir=/data/mysql
socket=/tmp/mysql.sock
log-error=/data/mysql/mysql.err
pid-file=/data/mysql/mysql.pid
#character config
character_set_server=utf8mb4
symbolic-links=0
explicit_defaults_for_timestamp=true

[mysqld_safe]
log-error=/var/log/mariadb/mariadb.log
pid-file=/var/run/mariadb/mariadb.pid

#
# include all files from the config directory
#
!includedir /etc/my.cnf.d

2.6 初始化

解压后的mysql-5.7.35-linux-glibc2.12-x86_64文件移动到/usr/local/mysql (文件夹名称修改为mysql不带版本号信息)

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

2.7 查看初始密码

cat /data/mysql/mysql.err

[root@mysql bin]# cat /data/mysql/mysql.err
2024-09-05T09:47:39.927022Z 0 [Warning] InnoDB: New log files created, LSN=45790
2024-09-05T09:47:39.971064Z 0 [Warning] InnoDB: Creating foreign key constraint system tables.
2024-09-05T09:47:40.303241Z 0 [Warning] No existing UUID has been found, so we assume that this is the first time that this server has been started. Generating a new UUID: e405c6ce-6b6b-11ef-ae6c-000c2942780c.
2024-09-05T09:47:40.315850Z 0 [Warning] Gtid table is not ready to be used. Table 'mysql.gtid_executed' cannot be opened.
2024-09-05T09:47:40.943488Z 0 [Warning] A deprecated TLS version TLSv1 is enabled. Please use TLSv1.2 or higher.
2024-09-05T09:47:40.943496Z 0 [Warning] A deprecated TLS version TLSv1.1 is enabled. Please use TLSv1.2 or higher.
2024-09-05T09:47:40.943940Z 0 [Warning] CA certificate ca.pem is self signed.
2024-09-05T09:47:41.135313Z 1 [Note] A temporary password is generated for root@localhost: ISp+>%t?i161

2.8 启动MySQL

cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql
service mysql start

3. 修改密码

3.1 开启免密码登陆

修改my.cnf文件 默认在/etc/my.cnf

# 在【mysqld】模块下面添加:skip-grant-tables 保存退出。
vim /etc/my.cnf

3.2 重启服务,

重启mysql服务,使配置生效 。

service mysql restart

3.3 登陆

# 不输入密码直接敲回车键
/usr/local/mysql/bin/mysql -u root -p

3.4 刷新规则允许外部访问

# 选择访问mysql库
use mysql
# 使root能再任何host访问
update user set host = '%' where user = 'root';
# 刷新 
FLUSH PRIVILEGES;

3.5 修改密码

ALTER USER "root"@"%" IDENTIFIED  BY "123456";
# 刷新 
FLUSH PRIVILEGES;

3.6 关闭免密登录

退出数据库,修改my.cnf文件关闭免密登录,再次重启mysql服务。

# 退出
mysql> quit
# 把/etc/my.cnf免密删掉。
vim /etc/my.cnf
# 重启服务    
service mysql restart

3.7 再次登陆

# 输入刚修改的密码123456敲回车键
/usr/local/mysql/bin/mysql -u root -p

4. 创建新用户并给授权指定的数据库权限

4.1 创建mysql新用户

CREATE USER 'test'@'%' IDENTIFIED BY '123456';

备注上面@后的命令解释:

'%' - 所有情况都能访问
‘localhost’ - 本机才能访问
’111.222.33.44‘ - 指定 ip 才能访问

4.2 创建数据库

mysql> create database mydb;
Query OK, 1 row affected (0.00 sec)

mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mydb               |
| mysql              |
| performance_schema |
| sys                |
+--------------------+
5 rows in set (0.00 sec)

4.3 给用户授权

grant all on 数据库名.数据库表 to 用户名@'%' identified by "密码";
grant all on mydb.* to 'test'@'%' identified by "123456";

备注:

all 可以替换为 select,delete,update,create,drop
数据库名 所有的 用*
数据库表 所有的 用*

标签:09,47,数据库,Linux,cnf,etc,mysql,MySQL,my
From: https://www.cnblogs.com/zreo2home/p/18408233

相关文章

  • 使用python进行PostgreSQL 数据库连接
    使用python进行PostgreSQL数据库连接PostgreSQL数据库是最常用的关系型数据库之一,最吸引人的一点是它作为开源数据库且具有可拓展性,能够提供丰富的应用。运用python可以很简单的建立PostgreSQL数据库连接,其中最受欢迎的就是psycopg。1.安装psycopg2Psycopy是针对python的Po......
  • socket套接字通信---win和linux互通(1)
    一、Windows下的网络调试工具-NetAssist下载页面下载后无需安装,解压缩就是个exe的执行文件。双击打开就可使用软件界面二、linux下的网络调试工具nc(netcat)1、当前系统$cat/proc/versionLinuxversion6.6.47-current-x86(build@armbian)(gcc(Ubuntu11.4.0-1ubun......
  • 数据库系统 第46节 数据库版本控制
    数据库版本控制是确保数据库架构和数据模型随着时间的推移而正确演进的重要实践。它允许开发团队跟踪数据库的变更历史,回滚到以前的版本,以及在不同环境(如开发、测试和生产环境)之间同步数据库结构。以下是两种主要的数据库版本控制方法及其实现:脚本版本控制脚本版本控制是......
  • 数据库事务的四大特性
     ‌原子性(Atomicity):原子性是指事务包含的所有操作要么全部成功,要么全部失败回滚。这意味着事务内的操作如果失败,会回滚到事务开始前的状态;如果成功,则事务内的所有操作都会提交。原子性确保事务内的操作要么全做,要么全不做,是一个不可分割的工作单位。‌‌一......
  • 摄影分享|基于Springboot的摄影分享网站设计与实现(源码+数据库+文档)
    摄影分享源码|基于SpingBoot+vue的摄影分享网站|摄影分享网站源码影分享网站源码:摄影分享网站能够高效管理,使信息管理方法更为科学和规范化,摄影分享网站应用Java语言表达开展代码编写,摄影分享网站规范化管理信息具备安全性强、工作效率高、内存空间大、成本费用低等特点。它能......
  • Arch Linux 安装记录
    ArchLinux个人直接在arch中使用arch-install-scripts安装新系统,一些前面的步骤没有记录。其中的步骤可以用GUI软件逃课。分区和格式化可以使用partitionmanager(Linux)、diskgenius(Windows)等GUI软件一键分区。partitionmanager在安装btrfs-progs后可以格式化分区为......
  • 基于Java+Vue+Mysql的人力资源管理系统:简单易用,高效协同(项目代码)
    前言:eHR(ElectronicHumanResources)人力资源管理系统是一个综合性的软件平台,用于管理组织的人力资源相关的各种活动和数据。该系统可以显著提高人力资源部门的工作效率,确保数据准确性和一致性,同时提供决策支持。以下是eHR人力资源管理系统的六个主要模块及其功能的简要介绍:......
  • Linux——进程
    ......
  • Springboot计算机毕业设计校园失物招领系统(程序+源码+数据库+调试部署+开发环境)
    本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表权利人,失物登记,申请领取,拾得人开题报告内容一、选题的依据及意义1.1背景分析随着高校规模的不断扩大和学生数量的增加,校园内失物与寻物的现象日益频繁。传......
  • Springboot计算机毕业设计校园社区系统(程序+源码+数据库+调试部署+开发环境)
    本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表用户,发布人,项目组队,项目报名,校园互助,类型,互助信息开题报告内容一、项目背景与意义1.1项目背景随着高校规模的不断扩大和社团数量的增加,校园社区管理面......