公司最近需要恢复一批Mysql备份数据,对mysql和解压工具版本要求较高,整理了一下安装Mysql5.6的详细步骤,方便下次查询。
准备工作
删除系统自带的mariadb,安装mysql。
- [root@localhost ~]# rpm -qa | grep mariadb
- mariadb-libs-5.5.44-2.el7.centos.x86_64
- [root@localhost ~]# rpm -e --nodeps mariadb-libs-5.5.44-2.el7.centos.x86_64
下载对应版本mysql源码包
- cd /usr/local/
- wget http://dev.mysql.com/get/Downloads/MySQL-5.6/mysql-5.6.23.tar.gz
如果没有安装wget,请先通过yum安装
- yum install -y wget
mysql安装包下载完成之后,下载源码编译需要的工具
- yum install gcc gcc-c++ cmake ncurses-devel bison
创建mysql数据存放的文件
- [root@localhost ~]# mkdir /usr/local/mysql/data
开始安装
切换到,mysql源码包放置路径下
- cd /usr/local/
解压mysql
- tar -zxvf mysql-5.6.23.tar.gz
解压完成,进入到mysql-5.6.23下
- cd /usr/local/mysql-5.6.23/
预编译
- cmake . \
- -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
- -DINSTALL_DATADIR=/usr/local/mysql/data \
- -DDEFAULT_CHARSET=utf8 \
- -DDEFAULT_COLLATION=utf8_general_ci \
- -DEXTRA_CHARSETS=all \
- -DENABLED_LOCAL_INFILE=1
参数说明:
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql //安装目录
-DINSTALL_DATADIR=/usr/local/mysql/data //数据库存放目录
-DDEFAULT_CHARSET=utf8 //使用utf8字符
-DDEFAULT_COLLATION=utf8_general_ci //校验字符
-DEXTRA_CHARSETS=all //安装所有扩展字符集
-DENABLED_LOCAL_INFILE=1 //允许从本地导入数据
开始编译安装,耐心等待…
- make && make install
安装配置mysql
开始安装mysql
- [root@localhost scripts]# cd /usr/local/mysql/
- [root@localhost mysql]# ./scripts/mysql_install_db --user=mysql
执行口令是,如果报错“FATAL ERROR: please install the following Perl modules before executing ./mysql_install_db:Data::Dumper”,则,安装autoconf库,然后重新执行mysql安装。
- yum -y install autoconf
vi编辑mysql配置文件
- [root@localhost mysql]vi /etc/my.cnf
添加如下配置:
- [mysql]
- # 设置mysql客户端默认字符集
- default-character-set=utf8
- socket=/var/lib/mysql/mysql.sock
- [mysqld]
- skip-name-resolve
- #设置3306端口
- port = 3306
- socket=/var/lib/mysql/mysql.sock
- # 设置mysql的安装目录
- basedir=/usr/local/mysql
- # 设置mysql数据库的数据的存放目录
- datadir=/usr/local/mysql/data
- # 允许最大连接数
- max_connections=200
- # 服务端使用的字符集默认为8比特编码的latin1字符集
- character-set-server=utf8
- # 创建新表时将使用的默认存储引擎
- default-storage-engine=INNODB
- lower_case_table_name=1
- max_allowed_packet=16M
保存,退出。
添加用户组和用户,并对相应文件数据添加权限
- [root@localhost mysql] groupadd mysql
- [root@localhost mysql] useradd mysql -g mysql
- [root@localhost mysql] chmod 664 /etc/my.cnf
- [root@localhost mysql] chown -R mysql:mysql /etc/my.cnf
- [root@localhost mysql] chown -R mysql:mysql /usr/local/mysql
设置开机自启动服务控制脚本
复制启动脚本到资源目录
- [root@localhost mysql]# cp ./support-files/mysql.server /etc/rc.d/init.d/mysqld
增加mysqld服务控制脚本执行权限
- [root@localhost mysql]# chmod +x /etc/rc.d/init.d/mysqld
将mysqld服务加入到系统服务
- [root@localhost mysql]# chkconfig --add mysqld
重启mysqld
- [root@localhost mysql]# service mysqld restart
将mysql的bin目录加入PATH环境变量,编辑 ~/.bash_profile文件
[root@localhost mysql]# vim ~/.bash_profile
在文件最后添加如下信息:
export PATH=$PATH:/usr/local/mysql/bin
保存,退出
- [root@localhost mysql]# source ~/.bash_profile
以root账户登录mysql,默认是没有密码的
- [root@localhost mysql]# mysql -uroot -p
- mysql>use mysql;
- mysql>delete from user where root='';
- mysql>update user set password=password('123456') where user='root';
- mysql>flush privileges;
退出。
其他账号权限调整,自行百度。