CentOS中安装数据库

1.下载

网址:https://dev.mysql.com/downloads/mysql/

按如图选择,然后点击Download

这里它让我们登录,我们直接选择不登录,直接下载

2.关闭防火墙

shell 复制代码
systemctl disable firewalld

3.正式安装

  1. 切换到/usr/local
shell 复制代码
cd /usr/local
  1. 创建mysql文件夹,并进入里面
shell 复制代码
mkdir mysql ; cd mysql
  1. 将刚刚下载好的安装包导入里面,并解压
shell 复制代码
tar -xvf mysql-8.0.35-linux-glibc2.12-x86_64.tar.xz
  1. 重命名文件夹为:mysql-8.0
shell 复制代码
mv mysql-8.0.35-linux-glibc2.12-x86_64.tar.xz mysql-8.0
  1. /usr/local/mysql文件夹下创建data文件夹,存储文件
shell 复制代码
mkdir data
  1. 创建用户组、用户和密码

    shell 复制代码
    groupadd mysql
    useradd -g mysql mysql
  2. 授权刚刚创建的用户

    shell 复制代码
    chown -R mysql:mysql /usr/local/mysql/mysql-8.0
  3. 配置环境,编辑/etc/profile文件

    shell 复制代码
    vim /etc/profile

    在最后一行加上:

    shell 复制代码
    export PATH=$PATH:/usr/local/mysql/mysql-8.0/bin:/usr/local/mysql/mysql-8.0/lib
  4. 使配置文件生效

    shell 复制代码
    source /etc/profile
  5. 编辑my.cnf文件

    shell 复制代码
    vim /etc/my.cnf

    加入以下信息

    shell 复制代码
    [mysql]
    default-character-set=utf8
    [client]
    socket=/var/lib/mysql/mysql.sock
     
    [mysqld]
    port=3306
    user=mysql
    general_log = 1
    general_log_file= /var/log/mysql/mysql.log
    socket=/var/lib/mysql/mysql.sock
    basedir=/usr/local/mysql/mysql-8.0
    datadir=/usr/local/mysql/data
    log-bin=/usr/local/mysql/data/mysql-bin
    innodb_data_home_dir=/usr/local/mysql/data
    innodb_log_group_home_dir=/usr/local/mysql/data/
    character-set-server=utf8mb4
    lower_case_table_names=1
    autocommit=1
    default_authentication_plugin=mysql_native_password
    symbolic-links=0
     
    [mysqld_safe]
    log-error=/usr/local/mysql/data/mysql.log
    pid-file=/usr/local/mysql/data/mysql.pid
  6. 切换到/usr/local/mysql/mysql-8.0/bin

    shell 复制代码
    cd /usr/local/mysql/mysql-8.0/bin
  7. 安装libaio环境

    shell 复制代码
    yum install -y libaio
  8. 初始化基础信息,得到数据库的初始密码(在/usr/local/mysql/mysql-8.0/bin目录下执行)

    shell 复制代码
     ./mysqld --user=mysql --basedir=/usr/local/mysql/mysql-8.0 --datadir=/usr/local/mysql/data/ --initialize
  9. 将mysqld服务添加到系统中,并赋予权限

    shell 复制代码
    cd /usr/local/mysql/mysql-8.0
    cp -a ./support-files/mysql.server /etc/init.d/mysql
    
    chown 777 /etc/my.cnf
    chmod +x /etc/init.d/mysql
    chkconfig --add mysql
  10. 检查一下/var/lib/mysql是否存在,否则进行创建

    shell 复制代码
    mkdir /var/lib/mysql
  11. 赋予其权限

    shell 复制代码
    chown -R mysql:mysql /var/lib/mysql
  12. 启动数据库

    shell 复制代码
    systemctl start mysql # 启动mysql
    systemctl status mysql # 查看mysql状态

    进入数据库

    sql 复制代码
    mysql -u root -p

    输入刚刚初始化好的密码:V:s:pkjCm9AO

    成功进入!

  13. 重置root密码

    这里我设成了与Linux登录密码一致

    sql 复制代码
    ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '123456qqq.';
  14. 配置root远程登录

    sql 复制代码
    # 第一次设置root远程登录,并配置远程密码使用如下SQL命令
    create user 'root'@'%' IDENTIFIED WITH mysql_native_password BY '密码!';	-- 密码需要符合:大于8位,有大写字母,有特殊符号,不能是连续的简单语句如123,abc
    
    # 后续修改密码使用如下SQL命令
    ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '密码';

    远程登录成功!

  15. 退出MySQL控制台界面

    sql 复制代码
    exit # 退出命令
    
    # 或者通过快捷键退出:ctrl + d
  16. MySQL默认绑定了3306端口,可以通过端口占用检查MySQL的网络状态

    shell 复制代码
    netstat -anp | grep 3306

4.补充

MySQL 8.0中,root用户默认不能直接创建数据库。这是因为MySQL 8.0引入了一个新的安全功能,即用户只能对自己拥有的数据库进行操作。

  1. 使用 CREATE USER 命令创建一个新用户,并赋予该用户对指定数据库的所有权限。例如,创建一个名为 newuser 的用户,并许其在所有数据库上创建表和数据库:

    mysql 复制代码
    CREATE USER 'newuser'@'%' IDENTIFIED BY 'your password';
    
    GRANT ALL PRIVILEGES ON *.* TO 'newuser'@'%' WITH GRANT OPTION;
    
    # 刷新权限,生效
    FLUSH PRIVILEGES;
  2. 如果需要让root用户能够直接创建数据库,可以修改mysql 库中的user 表,将root 用户的Host字段设置为%,并将 create_priv 字段的值设置为Y。请注意,这种方法会降低系统的安全性不建议在生产环境中使用。

相关推荐
嵩山小老虎8 小时前
Windows 10/11 安装 WSL2 并配置 VSCode 开发环境(C 语言 / Linux API 适用)
linux·windows·vscode
Fleshy数模8 小时前
CentOS7 安装配置 MySQL5.7 完整教程(本地虚拟机学习版)
linux·mysql·centos
a41324478 小时前
ubuntu 25 安装vllm
linux·服务器·ubuntu·vllm
az44yao9 小时前
mysql 创建事件 每天17点执行一个存储过程
mysql
一只自律的鸡10 小时前
【Linux驱动】bug处理 ens33找不到IP
linux·运维·bug
17(无规则自律)10 小时前
【CSAPP 读书笔记】第二章:信息的表示和处理
linux·嵌入式硬件·考研·高考
!chen10 小时前
linux服务器静默安装Oracle26ai
linux·运维·服务器
秦老师Q10 小时前
php入门教程(超详细,一篇就够了!!!)
开发语言·mysql·php·db
REDcker10 小时前
Linux 文件描述符与 Socket 选项操作详解
linux·运维·网络
蒹葭玉树11 小时前
【C++上岸】C++常见面试题目--操作系统篇(第二十八期)
linux·c++·面试