Centos6 and 7 mysql5.7安装

40 篇文章 0 订阅
7 篇文章 0 订阅

一、官网下载二进制包
https://downloads.mysql.com/archives/community/
选择Linux – Generic版本下的X86,64bit TAR Archive版本下载
二、删除老版本mysql
1.查找以前是否装有mysql,命令:rpm -qa|grep -i mysql

例可以看到mysql的两个包:

mysql-4.1.12-3.RHEL4.1
mysqlclient10-3.23.58-4.RHEL4.1

2、删除mysql,删除命令:rpm -e --nodeps 包名

shell> rpm -ev mysql-4.1.12-3.RHEL4.1或
shell> yum -y remove mysql-4.1.12-3.RHEL4.1

3、删除老版本mysql的开发头文件和库

命令:

shell> rm -fr /usr/lib/mysql
shell> rm -fr /usr/include/mysql

注意:卸载后/var/lib/mysql中的数据及/etc/my.cnf不会删除,如果确定没用后就手工删除

shell> rm -f /etc/my.cnf
shell> rm -fr /var/lib/mysql

三、安装新版本mysql

1. 解压至安装目录

shell> tar zxvf mysql-5.7.22-linux-glibc2.12-x86_64.tar.gz

假设解压目录为/opt/local/mysql

2.安装流程可参照官网https://dev.mysql.com/doc/refman/5.7/en/binary-installation.html,下面只是带一些解释性操作

#mysql需要依赖libaio,所以安装前最好检查下依赖是否已经安装
shell> yum search libaio  # search for info
shell> yum -y install libaio # install library
#建立用户和用户组
shell> groupadd mysql
shell> useradd -r -g mysql -s /bin/false mysql
可以man useradd看参数说明。-r创建的是系统帐号,一般用来做系统服务的,MySQL建议做为系统服务来运行,所以建议创建系统帐号,同时禁止直接以mysql用户身份登录系统,所以使用-s /bin/false参数
shell> cd mysql
#新建mysql-files,data,sock,pid,log目录,其中log目录下要新建mysqld.log文件
shell> mkdir mysql-files data sock pid log
shell> vim log/mysqld.log
#更改目录下所有文件的所有权
shell> chown -R mysql:mysql .
#更改前面创建文件夹的执行权限
shell> chmod -R 775 mysql-files data sock pid log

#初始化,此处在最后会生成root的初始密码,一定要记下来,否则无法登录
shell> bin/mysqld --initialize --user=mysql --basedir=/opt/local/mysql --datadir=/opt/local/mysql/data
#因为从mysql5.7开始不再提供默认my.cnf,这里需要手动在建立
shell> vim /etc/my.cnf
#安装mysql
shell> bin/mysql_ssl_rsa_setup  
#启动mysql            
shell> bin/mysqld_safe --user=mysql &
#将mysql做为开机启动服务
shell> cp support-files/mysql.server /etc/init.d/mysql.server
#将mysql做为全局可访问项
shell> ln -s /opt/local/mysql/bin/mysql /usr/bin/mysql

#修改/etc/profile,添加mysql目录,否则mysqladmin等命令会无法访问
MYSQL=/opt/local/mysql
PATH=$MYSQL/bin:$PATH
export PATH
#修改root密码为可自己的密码

mysqladmin -uroot password 自己的密码 -p

附:my.cnf配置一份

[mysqld]
datadir=/opt/local/mysql/data
user=mysql
socket = /opt/local/mysql/sock/mysql.sock
symbolic-links=0
port= 3306
skip-external-locking
key_buffer_size = 384M
max_allowed_packet = 1M
table_open_cache = 512
sort_buffer_size = 2M
read_buffer_size = 2M
read_rnd_buffer_size = 8M
myisam_sort_buffer_size = 64M
thread_cache_size = 64
query_cache_size = 32M
# Try number of CPU's*2 for thread_concurrency
innodb_thread_concurrency = 8
max_connections=1000
skip-name-resolve

log-bin=mysql-bin
binlog_format = "MIXED"

server-id = 1

innodb_buffer_pool_size = 512M
innodb_log_buffer_size = 80M
innodb_flush_log_at_trx_commit = 2
innodb_flush_method = O_DIRECT
character-set-server = utf8
collation-server = utf8_general_ci
tmpdir = /tmp
explicit_defaults_for_timestamp = true

[mysqldump]
quick
max_allowed_packet = 16M

[mysql]
no-auto-rehash

[myisamchk]
key_buffer_size = 256M
sort_buffer_size = 256M
read_buffer = 2M
write_buffer = 2M

[mysqlhotcopy]
interactive-timeout
long_query_time = 2
log_slow_queries

[client]
port = 3306
socket = /opt/local/mysql/sock/mysql.sock

[mysqld_safe]
log-error=/opt/local/mysql/log/mysqld.log
pid-file=/opt/local/mysql/pid/mysqld.pid
#增加每个进程的可打开文件数量
open-files-limit = 65536

sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值