MySQL安装踩坑记录

基础背景

生产环境出现了慢SQL,定位后发现索引字段没有使用;MySQL版本太低,需要升级,计划升级为5.6.28匹配腾讯云

安装步骤

1-环境准备

首先,查询安装机器上的数据库信息:
来寻找mysql-server的安装位置

find / -name mysql  

寻找mysql-server 的配置文件的位置

find / -name my.cnf   

查询mysql

rpm -qa | grep -i mysql

查询mariadb(不用删除,除非安装报错,我提示冲突后才删除)

rpm -qa|grep -i mariadb

删除历史安装信息

2-确定安装方式:源码安装 或者 rpm安装

  1. 源码下载地址(也可以github下载):
    http://dev.mysql.com/get/Downloads/MySQL-5.6/mysql-5.6.28.tar.gz
  2. 官方安装文档:https://dev.mysql.com/doc/refman/5.6/en/source-installation.html
  3. rpm下载地址:https://downloads.mysql.com/archives/community/
  4. 本文采用源码安装

先用rpm安装后 报错,没有找到问题;删除数据后采用源码安装

3-创建用户和用户组

  1. 查询用户组信息,cat /etc/group
  2. 确认没有mysql,有给删除掉
userdel mysql 删除用户
groupdel mysql 删除组mysql
  1. 添加用户组和用户
groupadd mysql
useradd -g mysql mysql

4-解压 MySQL 源代码包

  1. 源码放在 /usr/local/src 目录下
 tar -xzxf mysql-5.6.28.tar.gz
  1. 解压后有新的目录:mysql-5.6.28
  2. 安装依赖;如果有 可以不安装
yum -y install wget gcc gcc-c++ ncurses-devel cmake make perl
  1. 生成配置安装文件, 在源码目录下执行
cmake -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DEXTRA_CHARSETS=all
参考
cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_UNIX_ADDR=/usr/local/mysql/mysql.sock -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_ARCHIVE_STORAGE_ENGINE=1 -DWITH_BLACKHOLE_STORAGE_ENGINE=1 -DMYSQL_DATADIR=/usr/local/mysql/data -DMYSQL_TCP_PORT=3306 -DMYSQL_USER=mysql -DENABLE_DOWNLOADS=1
cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \       #安装目录
-DMYSQL_DATADIR=/usr/local/mysql/data \      #数据库存放目录
-DSYSCONFDIR=/etc \      #系统配置目录
-DMYSQL_USER=mysql \      #指定mysql用户(默认是mysql)
-DWITH_MYISAM_STORAGE_ENGINE=1 \     #安装myisam存储引擎
-DWITH_INNOBASE_STORAGE_ENGINE=1 \     #安装innodb存储引擎
-DWITH_ARCHIVE_STORAGE_ENGINE=1 \     #安装archive存储引擎
-DWITH_BLACKHOLE_STORAGE_ENGINE=1\     #安装blackhole存储引擎
-DWITH_PARTITION_SOTRAGE_ENGINE=1\     #安装数据库分区
-DWITH_READLINE=1 \     #启用readline库支持
-DMYSQL_UNIX_ADDR=/usr/local/mysql/data/mysql.sock \     #指定mysql.sock路径
-DMYSQL_TCP_PORT=3306 \     #指定端口3306
-DENABLED_LOCAL_INFILE=1 \     #允许本地导入数据
-DENABLED_DOWNLOADS=1 \
-DWITH_PARTITION_STORAGE_ENGINE=1 \
-DEXTRA_CHARSETS=all \     #安装所有扩展字符集
-DDEFAULT_CHARSET=utf8 \     #使用utf8字符集
-DDEFAULT_COLLATION=utf8_general_ci \     #设定默认排序规则
-DWITH_DEBUG=0 \     #禁用DEBUG(默认禁用)
-DMYSQL_MAINTAINER_MODE=1 \
-DWITH_SSL:STRING=bundled \     #通讯时支持ssl协议
-DWITH_ZLIB:STRING=bundled \     #允许使用zlib library
-DDOWNLOAD_BOOST=1 \     #
-DWITH_BOOST=/usr/share/doc/boost-doc-1.41.0/     #boost库路径
  1. 开始编译和安装, 在源码目录下执行
make && make install
  1. 时间有点长,安装完成后,安装在 /usr/local/mysql

5-MySQL 配置文件

  1. 安装完成后,安装目录和 support-files 目录都有配置模板
  2. 复制模板到etc
cp support-files/my-default.cnf  /etc/my.cnf
  1. 修改配置
 vi /etc/my.cnf
 
 添加内容:
 [mysqld]
basedir = /usr/local/mysql
datadir = /usr/local/mysql/data
sock = /tmp/mysql.sock

[mysqld_safe]
log-error=/home/mysql/log/mariadb.log
pid-file=/home/mysql/mariadb.pid

6-数据库初始化

  1. 进入安装目录,执行初始化
cd /usr/local/mysql
./scripts/mysql_install_db --user=mysql --datadir=/usr/local/mysql/data
  1. 这里踩坑了,一直提示各种错误;
    常规错误,网上的方案都是OK的;我的错误是一只提示没有sock文件;错误原因,原来的my。cnf没有删除,直接在上面修改的数据,配置中带了一个符合如: $sock=XXX
  2. 排错思路
 - [1 ] 配置日志路径
 执行报错后,查看日志
 - [2 ] 注射my.cnf验证
	验证配置问题

7-MySQL 目录授权

chown mysq:mysql /usr/local/mysql
mysq:mysql 用户:组
命令拓展
“chown –R root .”,将文件的所有属性改为 root 用户。注意那个点,表示所有文件;
“chown –R mysql data”,将数据目录的所有属性改为 mysql 用户;
“chgrp –R mysql .”,将组属性改为 mysql 组。注意那个点,表示所有文件。

8-启动 MySQL

cd /usr/local/mysql
bin/mysqld_safe --user=mysql
启动命令
cd /usr/local/mysql/
/bin/sh bin/mysqld_safe --user=mysql

9-验证 MySQL 安装

查询端口和进程
netstat -tnl | grep 3306
ps -ef|grep mysql

10-登陆客户端

进入安装目录bin
cd /usr/local/mysql/bin
初始化登录
./mysql -uroot -h 127.0.0.1 mysql
密码登录
./mysql -uroot -p123456 -h127.0.0.1 mysql

11-设置密码

为root添加远程连接的能力,据需谨慎操作。
GRANT ALL PRIVILEGES ON *.* TO root@"%" IDENTIFIED BY "root";
设置密码
update user set password = password('123456') where User='root';//更新root密码

总结

安装的注意点:

  1. 环境清理,历史的安装信息清楚,排除一些错误
  2. 安装依赖,安装路径和配置文件
  3. 安装失败排错:查看启动日志,配置问题导致使用住宿my.cnf,或者删除my.cnf,重新配置
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值