公司最近需要恢复一批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;
退出。
其他账号权限调整,自行百度。