centos7、centos8 安装mysql5.7

2 篇文章 0 订阅
2 篇文章 0 订阅

centos7安装MySQL5.7

  1. 查看是否有安装过MySQL,有则删除

    rpm -qa|grep mysql
    # whereis mysql # 查看MySQL安装位置
    # find / -name mysql # 查看MySQL相关文件位置
    
  2. 卸载系统自带的Mariadb

    rpm -qa|grep mariadb
    rpm -e --nodeps mariadb-xxx.x86_64
    rm /etc/my.cnf
    
  3. 检查是否有MySQL用户和用户组,没有则创建

    cat /etc/group | grep mysql
    cat /etc/passwd |grep mysql
    
    # 创建用户和用户组
    groupadd mysql
    useradd -r -g mysql mysql
    
  4. 将下载好的MySQL解压放到/usr/local/mysql下(也可以自定义文件目录)

    • MySQL下载(也可用浏览器去官网下载):
    wget https://cdn.mysql.com//Downloads/MySQL-5.7/mysql-5.7.35-el7-x86_64.tar.gz # 下载mysql
    tar -xvf mysql-5.7.35-el7-x86_64.tar.gz # 解压
    mv mysql-5.7.35-el7-x86_64 /usr/local/mysql 
    
  5. 创建MySQL相关目录并初始化数据库

    # 创建数据库需要使用的目录
    mkdir -p /home/mysql/{data,logs,tmp} # 创建目录
    chown -R mysql.mysql /home/mysql/ # 更改文件夹所属
    
    # 初始化数据库
    /usr/local/mysql/bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/home/mysql/data
    
  6. 创建数据库配置文件 my.cnf

    vi /etc/my.cnf
    
    # 粘贴以下内容到my.cnf中
    [mysqld]
    user = mysql
    basedir = /usr/local/mysql
    datadir = /home/mysql/data
    socket = /home/mysql/tmp/mysql.sock
    pid-file = /home/mysql/tmp/mysqld.pid
    tmpdir = /home/mysql/tmp
    character-set-server=utf8
    sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
    lower_case_table_names = 1
    log_timestamps=SYSTEM
    character-set-server = utf8
    interactive_timeout = 36000
    wait_timeout = 36000
    max_allowed_packet = 1G # 单次最大查询
    #logs
    server-id = 100
    log-error = /home/mysql/logs/error.log
    slow_query_log = 1
    slow_query_log_file = /home/mysql/logs/slow.log
    long_query_time = 3
    log-bin = /home/mysql/logs/binlog
    expire_logs_days = 15
    log_bin_trust_function_creators = 1
    relay-log = /home/mysql/logs/relay-bin
    relay-log-recovery = 1
    relay_log_purge = 1
    
    [client]
    socket = /home/mysql/tmp/mysql.sock
    default-character-set=utf8
    [mysql]
    default-character-set=utf8
    
  7. 配置mysql.server

    vi /usr/local/mysql/support-files/mysql.server
    
    # 修改mysqld.service中的一下两个配置
    basedir=/usr/local/mysql
    datadir=/home/mysql/data
    
  8. 配置systemctl服务

    vim /usr/lib/systemd/system/mysqld.service
    
    # 粘贴以下内容到mysqld.service中
    [Unit]
    Description=MySQL Server
    After=network.target
    After=syslog.target
    [Service]
    User=mysql
    Group=mysql
    Type=forking
    PermissionsStartOnly=true
    ExecStart= /usr/local/mysql/support-files/mysql.server start
    ExecStop= /usr/local/mysql/support-files/mysql.server stop
    ExecReload= /usr/local/mysql/support-files/mysql.server restart
    [Install]
    WantedBy=multi-user.target
    
  9. 添加环境变量(也可以不添加)

    echo "PATH=$PATH:/usr/local/mysql/bin " >> /etc/profile 
    source /etc/profile
    
  10. 启动数据库

    systemctl daemon-reload
    systemctl start mysqld
    
  11. 修改密码

    • 获取初始密码
    more /home/mysql/logs/error.log |grep password
    

    其他版本可能在初始化时直接给出初始密码
    密码在‘A temporary password is generated for root@localhost:’ 提示之后

    密码

    • 配置了环境变量

      mysql -u root -p
      alter user 'root'@'localhost' identified by '123';
      flush privileges;
      
    • 未设置环境变量

      /usr/local/mysql/bin/mysql -u root -p
      

    解决centos8可能会提示没有 ‘libncurses.so.5’:

    yum install libncurses.*
    
  12. 开机自启

    systemctl enable mysqld
    

参考:https://www.cnblogs.com/wherehappens/articles/15055614.html

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
解压:将下载的zip包解压到你想要放置的位置,我的是:E:\study\mysql-5.7.15-winx64 新建配置文件my.ini:在E:\study\mysql-5.7.15-winx64路径下有一个my-default.ini文件,该文件是mysql默认的配置文件。我们可以复制一份,并改名为my.ini。打开该文件,在里面添加:skip-grant-tables( 用于跳过密码认证) 安装mysql: 以管理员权限打开cmd,然后进入E:\study\mysql-5.7.15-winx64\bin文件夹输入以下命令:mysqld --initialize (用于初始化mysqlMySQL会帮你自动进行初始化,例如生成data文件夹) 再输入:mysqld install(安装mysql)若安装成功,会提示Service successfully installed 安全模式打开:输入命令:mysqld --skip-grant-tables(跳过认证表),此时光标会跳到下一行一直闪烁。 新窗口启动服务:同样以管理员权限进入bin文件夹,输入命令:mysql -u root -p会提示输入密码,直接回车可以进入。此时就可以成功进入数据库了。 修改密码:输入use mysql;然后更改密码: update user set password=password("123456") where user="root";//旧版本 update user set authentication_string=password("123456") where user="root";//新版本 最后flush privileges;就可以了 重新使用密码登录:先在my.ini配置删除skip-grant-tables,然后在bin文件夹下输入net start mysql(若提示无法启动可能是刚刚的mysql还没有结束,可以打开任务管理器把mysqld.exe关闭),接着输入mysql -u root -p回车,然后输入你刚刚的密码,这里是:123456。可以看到成功登录进去。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值