linux安装mysql5.7.17

linux安装mysql5.7.17

安装之前准备工作

  1. 准备安装文件
  2. 没有安装过mydql的系统,或者彻底卸载干净

卸载原有mysql

  1. 执行# service mysqld status,mysql没有运行,停止服务失败
    mysql服务状态
  2. 开始卸载,查找所有mysql文件# find / -name mysql
    所有mysql相关文件
  3. 删除文件
    # rm -rf /usr/local/mysql/mysql-advanced-5.7.17-linux-glibc2.5-x86_64/
    # rm -rf /usr/share/mysql
    # rm -rf /usr/bin/mysql
    # rm -rf /usr/lock/subsys/
    # rm -rf /var/lock/subsys/mysql
    id mysql
    # userdel mysql
    # service mysqld status
    显示未被识别的服务证明删除干净删除过程

开始安装
(说明:本文是多次修改整理的,所以会出现命令中路径前后不一致的情况,注意不要混淆,全部改成自己的路径即可)

  1. 新建安装目录 # mkdir /data/mysql-5.7.17
    新建数据文件夹 # mkdir /data/mysql

  2. 将安装文件放至/data文件夹内,进行解压
    # tar -zxvf mysql-advanced-5.7.17-linux-glibc2.5-x86_64.tar.gz
    解压mysql文件

  3. 重命名解压后的文件夹 # mv /data/mysql-advanced-5.7.17-linux-glibc2.5-x86_64 /data/mysql-5.7.17
    新版mysql只认 /usr/local/mysql安装路径,所以配置文件中的路径需要修改

  4. 添加用户和用户组并授权

  5. # groupadd mysql
    # useradd -r -g mysql mysql
    # chown -R mysql:mysql  /data/mysql-5.7.17
    # chown -R mysql:mysql  /data/mysql/
    # chmod -R 755 /data/mysql-5.7.17
    
  6. # yum search libaio//查看有没有依赖包
    如果没有这个依赖包初始化时候会报如下错
    在这里插入图片描述
    #yum install libaio-devel.x86_64//安装缺少的依赖
    下图为安装过程输出
    在这里插入图片描述在这里插入图片描述
    再次执行查看依赖命令
    # yum search libaio//查看有没有依赖包,查看就会显示如下图
    在这里插入图片描述

  7. 执行初始化命令

    # cd /data/mysql-5.7.17/bin
    # ./mysqld --user=mysql --basedir=/data/mysql-5.7.17 --datadir=/data/mysql --initialize//注意root@localhost:之后红圈圈住的为初始化临时密码,初次登录时要用到;执行这步报错原因可能是之前安装在datadir目录中的残留文件没有删除
    

    初始化之后

  8. 修改mysql.server文件

    # sh /data/mysql-5.7.17/support-files/mysql.server start
    

    执行这个命令可能会报错,因为我们不在默认路径下面安装,所以执行下个命令修改配置文件在这里插入图片描述
    # vi /data/mysql-5.7.17/support-files/mysql.server//修改路径
    修改红框部分的内容在这里插入图片描述
    修改后,如下图在这里插入图片描述
    # cp /data/mysql-5.7.17/support-files/mysql.server /etc/init.d/mysqld
    # chmod 755 /etc/init.d/mysqld

  9. 修改/etc/my.cnf文件

    # vi /etc/my.cnf //将下面一段复制进去,替换了文件中的所有内容!!!其余都删掉
    [client]
    
    socket =/data/mysql-5.7.17/mysql.sock
    host=localhost
    user=root
    password='root'
    	# pipe
    	# socket=0.0
    port=3306
    [mysql]
    default-character-set=utf8
    [mysqld]
    lower_case_table_names=1
    basedir=/data/mysql-5.7.17
    datadir=/data/mysql
    port=3306
    pid-file=/data/mysql-5.7.17/mysqld.pid
    #skip-grant-tables
    skip-name-resolve
    socket = /data/mysql-5.7.17/mysql.sock
    character-set-server=utf8
    default-storage-engine=INNODB
    explicit_defaults_for_timestamp = true
    	# Server Id.
    server-id=1
    max_connections=2000
    query_cache_size=0
    table_open_cache=2000
    tmp_table_size=246M
    thread_cache_size=300
    #限定用于每个数据库线程的栈大小。默认设置足以满足大多数应用
    thread_stack = 192k
    	key_buffer_size=512M
    read_buffer_size=4M
    read_rnd_buffer_size=32M
    innodb_data_home_dir = /data/mysql
    innodb_flush_log_at_trx_commit=0
    innodb_log_buffer_size=16M
    innodb_buffer_pool_size=256M
    innodb_log_file_size=128M
    innodb_thread_concurrency=128
    innodb_autoextend_increment=1000
    innodb_buffer_pool_instances=8
    innodb_concurrency_tickets=5000
    innodb_old_blocks_time=1000
    innodb_open_files=300
    innodb_stats_on_metadata=0
    innodb_file_per_table=1
    innodb_checksum_algorithm=0
    back_log=80
    flush_time=0
    join_buffer_size=128M
    max_allowed_packet=1024M
    max_connect_errors=2000
    open_files_limit=4161
    query_cache_type=0
    sort_buffer_size=32M
    table_definition_cache=1400
    binlog_row_event_max_size=8K
    sync_master_info=10000
    sync_relay_log=10000
    sync_relay_log=10000
    sync_relay_log_info=10000
    #批量插入数据缓存大小,可以有效提高插入效率,默认为8M
    bulk_insert_buffer_size = 64M
    interactive_timeout = 86400
    wait_timeout = 86400
    log-bin-trust-function-creators=1
    sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
    

    报错

  10. 启动mysql
    # service mysqld start//重启mysql
    直接执行命令可能会报错,需要建立软连接,执行下一个命令
    在这里插入图片描述

       # ln -s /data/mysql-5.7.17/bin/mysqld   /usr/local/mysql/bin/mysqld  建立软连接,完成后执行上个命令重启
       //重启后登录修改密码
       # /data/mysql-5.7.17/bin/mysql -uroot -p,J0j4dw:kGnm//用临时密码登录
       mysql> set password=password('mypassword');//修改密码
       grant all privileges on *.* to root@'%' identified by 'mypassword';//执行次命令是允许任何ip以root连接,否则可能远程无法连接只允许本地连接
       flush privileges;  
    
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值