背景:Centos自带的是mysql5.1,使用yum安装的话,最新版本为5.1版本,所以我采用直接从官网下载安装。
准备工作
首先把系统自带的mysql删除,使用命令:
# rpm -qa |grep mysql
# yum -y remove mysql-libs-5.1.73.el6_7.1.x86_64 #卸载5.1
# find / -name mysql #找出的所有mysql目录
注意:卸载后/etc/my.cnf不会删除,需要进行手工删除
# rm -rf /etc/my.cnf
再次执行find指令,无结果,说明已经卸载彻底。
开始安装
软件包下载地址:下载mysql
# groupadd mysql #添加mysql组
# useradd -g mysql mysql -s /bin/false #创建用户mysql并加入到mysql组,不允许mysql用户直接登录系统
# mkdir -p /data/mysql #创建MySQL数据库存放目录
# chown -R mysql:mysql /data/mysql #设置MySQL数据库存放目录权限
# mkdir -p /usr/local/mysql #创建MySQL安装目录
# cd /usr/local/src #进入软件包存放目录
# tar zxvf mysql-5.6.31.tar.gz #解压
# cd /usr/local/mysql #进入MySQL安装目录
# ./scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql --datadir=/data/mysql #生成mysql系统数据库
# ln -s /usr/local/mysql/my.cnf /etc/my.cnf #添加到/etc目录的软连接
# cp ./support-files/mysql.server /etc/rc.d/init.d/mysqld #把Mysql加入系统启动
# chmod 755 /etc/init.d/mysqld #增加执行权限
# chkconfig mysqld on #加入开机启动
# vi /etc/rc.d/init.d/mysqld
basedir=/usr/local/mysql #MySQL程序安装路径
datadir=/data/mysql #MySQl数据库存放目录
service mysqld start #启动
尝试登录出现错误:
# bin/mysql #登录客户端
# UPDATE user SET Password=PASSWORD('newpassword') where USER='root'; #修改密码
# FLUSH PRIVILEGES; #刷新权限
重新登录即可。
# bin/mysql -u root -p
其他配置
设置防火墙:
# vi /etc/sysconfig/iptables #编辑
-A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT #允许3306端口通过防火墙
# /etc/init.d/iptables restart #最后重启防火墙使配置生效
设置权限:
1.新建用户
# mysql -u root -p #创建用户
# insert into mysql.user(Host,User,Password) values('localhost','mysql',Password('mysql'));
解决方案:在my.cnf 中将配置文件中的STRICT_TRANS_TABLES删掉,即改为:sql_mode=NO_ENGINE_SUBSTITUTION
然后重启mysql即可。
# flush privileges; #刷新系统权限表
2.为用户授权
# create database testDB;
# grant all privileges on testDB.* to mysql@localhost identified by 'mysql';
# flush privileges;
到此,数据库安装完成。