Mysql:centos6/7下mysql5.6安装

一、Mysql下载

下载地址:http://mirrors.ukfast.co.uk/sites/ftp.mysql.com/Downloads/MySQL-5.6/

centos6-64位

    MySQL-client-5.6.51-1.el6.x86_64.rpm
    MySQL-server-5.6.51-1.el6.x86_64.rpm
    MySQL-shared-5.6.51-1.el6.x86_64.rpm
    MySQL-shared-compat-5.6.51-1.el6.x86_64.rpm

centos7-64位

    MySQL-client-5.6.51-1.el7.x86_64.rpm
    MySQL-server-5.6.51-1.el7.x86_64.rpm
    MySQL-shared-5.6.51-1.el7.x86_64.rpm
    MySQL-shared-compat-5.6.51-1.el7.x86_64.rpm

二、Mysql安装

2.1、查看系统版本

1、查看linux版本,命令:uname -a , 可以看到打印包含.el6.x86_64 或 .el7.x86_64
2、查看linux系统,命令: cat /etc/redhat-release,可以看到打印为CentOS release 6.10 或 CentOS release 7.5
通过上面命令,可知道我们安装的Mysql包。

2.2、移除mysql残留

一般系统在安装后,有的会包含mysql-5.1.x-libs的包,或者之前安装过mysql但未卸载的残留信息,需要删除后,在次安装。
1、搜索残留mysql,命令:rpm -qa |grep -i mysql,例如结果为:

	mysql-5.1.73-8.e16_8.x86_64
	mysql-libs-5.1.73-8.e16_8.x86_64

2、删除残留mysql,命令:rpm -e ,例如:

	rpm -e mysql-5.1.73-8.e16_8.x86_64
	rpm -e mysql-libs-5.1.73-8.e16_8.x86_64

3、一般情况下mysql-libs无法直接删除,我们可以先安装MySQL-shared-compat包替换后在删除;

	rpm -ivh MySQL-shared-compat-5.6.51-1.el6.x86_64.rpm	# centos 6
	rpm -ivh MySQL-shared-compat-5.6.51-1.el7.x86_64.rpm	# centos 7

4、针对centos7中,可能会有mariadb库,也需要删除,查询:rpm -qa |grep -i mariadb
对查询的结果按照2中删除语句rpm -e 删除mariadb;

5、针对centos7中,还需要有相关依赖包安装,分别是:libaio和net-tools,使用命令查看是否有依赖:

	rpm -qa | grep libaio			#结果:libaio-0.3.109-13.el7.x86_64
	rpm -qa | grep net-tools		#结果:net-tools-2.0-0.25.20131004git.el7.x86_64
	
	#如果上述命令没有查询到结果,表示没有安装,可以通过yum安装,命令如下:
	yum install –y libaio-0.3.109-13.el7.x86_64
	yum install –y net-tools-2.0-0.25.20131004git.el7.x86_64

6、删除残留目录和配置

	rm -rf /var/lib/mysql
	rm -rf /usr/share/mysql
	rm -rf /usr/my.cnf

2.3、准备配置文件

将my.cnf文件内容按照自己的需求修改后,上传到/etc/目录下,my.cnf配置如下:
示例配置文件使用自定义数据目录/dbdata/mysql,默认目录是/var/lib/mysql

#-----------------------------------------
[client]
port            = 3306
socket          = /dbdata/mysql/mysql.sock
#-----------------------------------------
[mysql]
no-auto-rehash
default-character-set = utf8
#-----------------------------------------
[mysqld]
port            = 3306
socket          = /dbdata/mysql/mysql.sock
datadir         = /dbdata/mysql
#-----------------------------------------
server-id = 1
character_set_server = utf8
character_set_client = utf8
collation-server = utf8_general_ci
default-storage-engine = INNODB
sql_mode = NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
#-----------------------------------------
skip-name-resolve									#禁止域名反向解析
skip-external-locking								#防止外部锁定
#-----------------------------------------
max_allowed_packet = 64M							#允许接收的最大SQL包
lower_case_table_names = 1							#表名小写,比较不区分大小写
event_scheduler = 1									#开启mysql的event任务
group_concat_max_len = 102400						#设置mysql查询的最大group_concat结果字段的最大长度
#default-time_zone = '+8:00'						#如果发现mysql的时间少了可以这里设置时区
#-----------------------------------------
back_log = 500										#默认500
max_connections = 1000								#允许的最大连接数
thread_cache_size = 512								#线程缓存池大小
max_connect_errors = 10000							#允许的最大错误连接数
#-----------------------------------------
table_open_cache = 2048								#开启表缓存个数
tmp_table_size = 64M								#临时表的大小,就是我们建立临时表或内存表大小
max_heap_table_size = 64M							#堆栈表的大小,临时表大小受限于这个大小
#-----------------------------------------
query_cache_size= 64M								#查询缓存区大小
query_cache_limit = 2M								#查询缓冲区排序大小
query_cache_type = 1								#缓存类型,默认1
query_cache_min_res_unit = 2k						#缓存最小单元大小,默认2k
#-----------------------------------------
sort_buffer_size = 4M								#排序读缓存大小,读性能(提升order by、group by)
read_buffer_size = 4M								#顺序读缓存大小,读性能
join_buffer_size = 1M								#连接读缓存大小,读性能(提升join)
read_rnd_buffer_size = 4M							#随机读缓存大小,读性能
#-----------------------------------------
key_buffer_size = 256M								#myisam引擎,索引的缓存大小,读性能
bulk_insert_buffer_size = 32M						#myisam引擎,批量写缓存大小默认8M,写性能(提升insert into)
myisam_sort_buffer_size = 64M						#myisam引擎,重建索引排序缓存大小(提升alter table或repair table)
#-----------------------------------------
innodb_additional_mem_pool_size = 16M				#innodb引擎,5.7废弃,建议设置16M,写性能
innodb_buffer_pool_size = 256M						#innodb引擎,数据的缓存区大小,读性能
innodb_buffer_pool_instances = 8					#innodb引擎,读性能,默认8
innodb_data_file_path = ibdata1:128M:autoextend		#innodb引擎,设置ibdata1共享数据存储空间初始化大小
innodb_autoextend_increment = 64					#innodb引擎,设置bdata1共享数据满后扩展大小,建议64或128
innodb_log_files_in_group = 2						#innodb引擎,设置开启几个ib_logfile文件,系统默认2
innodb_log_file_size = 64M							#innodb引擎,设置ib_logfile存储空间大小,设置innodb_buffer_pool_size的25%
innodb_log_buffer_size = 8M							#innodb引擎,缓存区大小,大数据可以设置16M
innodb_flush_log_at_trx_commit = 1					#innodb引擎,0延时写延时刷,1实时写实时刷,2实时写延时刷(常规1,中等写入2,大量写入0)
innodb_file_per_table = 1							#innodb引擎,表单独文件存放,如果设置为0,数据都会存放在共享存储空间ibdata1里面
#-----------------------------------------
log-error = /dbdata/mysql/mysql-error.log			#错误日志地址

2.4、安装mysql

1、依次安装

	# centos 6
	rpm -ivh MySQL-shared-compat-5.6.51-1.el6.x86_64.rpm	# 上面已装了就无需在安装
    rpm -ivh MySQL-shared-5.6.51-1.el6.x86_64.rpm
    rpm -ivh MySQL-server-5.6.51-1.el6.x86_64.rpm
    rpm -ivh MySQL-client-5.6.51-1.el6.x86_64.rpm
    
	# centos 7
	rpm -ivh MySQL-shared-compat-5.6.51-1.el7.x86_64.rpm	# 上面已装了就无需在安装
    rpm -ivh MySQL-shared-5.6.51-1.el7.x86_64.rpm
    rpm -ivh MySQL-server-5.6.51-1.el7.x86_64.rpm
    rpm -ivh MySQL-client-5.6.51-1.el7.x86_64.rpm

2、可能在centos 6中安装MySQL-server报错,如下:

	libnuma.so.1()(64bit) is needed by MySQL-server-5.6.51-1.el6.x86_64
	# 说明缺少依赖包:numa包
	# 可以下载numactl-2.0.9-2.el6.x86_64.rpm,并安装,或者yum安装
	rpm -ivh numactl-2.0.9-2.el6.x86_64.rpm

3、安装完毕后,我们的初始root密码在/root/.mysql_secret 中查看,或者是配置文件中error-log配置的/dbdata/mysql/mysql-error.log中查看;

2.5、启动mysql并设置

1、启动mysql,命令 service mysql start,进入mysql,命令Mysql -uroot -p 输入密码,进入后是无法操作的,报错是:

You must SET PASSWORD before executing this statement

需要设置密码

SET PASSWORD = PASSWORD('123456');
flush privileges;

退出mysql,在次进入mysql,命令Mysql -h127.0.01 -uroot -p 输入密码,用同样方式在次初始化密码;以上分别是针对root账号的两个域(localhost 和 127.0.0.1)进行密码设置;也可以通过进入mysql 后,更新mysql.user表来操作;

2、日志包含proxies_priv的警告,只需要删除相关账号即可;

delete from user where Host in ('::1','localhost.localdomain','机器是主机名');
delete from proxies_priv where Host in ('::1','localhost.localdomain','机器是主机名');

3、日志告警提示max_open_files: 5000(常见于centos7)

一般情况在安装mysql后,启动错误显示max_open_files: 5000 (requested 20000),由于采用mysqld.service启动,和本地文件打开数限制有关,建议如下方式进行修改:

修改/usr/lib/systemd/system/mysqld.service中LimitNOFILE = 5000改为 65535

2.6、其他问题处理

1、mysql无法启动

常见于sellinx问题,只需要关闭即可,三种方式均可:
a、临时关闭,执行如下命令:
	setenforce 0
b、取消对mysql的控制,执行如下命令:
	setsebool -P mysqld_disable_trans=1
c、永久关闭,单需要重启机器:
	vi /etc/sysconfig/selinux 将 SELINUX=enforcing  改成 SELINUX=disabled

2、mysql安装无法初始化
一般常发生在Mysql安装在自定义数据目录下时,安装没有报错,但在初始化时Mysql下的表都没有被创建,也无法启动,可能是因为权限问题导致。一般权限区分为目录的读写权限、目录是属组权限;

例如目录:
 	/dbdata/mysql/
读写权限:
	注意多级目录都要设置
	# chmod 755 /dbdata/
	# chmod 755 /dbdata/mysql/
属组权限:
	# chown -R mysql:mysql /dbdata/mysql/
在次初始化:
	# /usr/bin/mysql_install_db --user=mysql --datadir=/dbdata/mysql
  • 18
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值