环境:centos 6.4 x64
先下载mysql安装包
打开 http://dev.mysql.com/downloads/mysql/
选择 linux - Generic
再选择
下载完毕后,得到安装包mysql-5.6.21-linux-glibc2.5-x86_64.tar.gz
此包不再需要make编译源代码(真是扛扛的),之前的mysql-5.6.4.tar.gz包是源码包,需要先cmake,再make & make install
上传到centos6.4的/software目录下(可以改为你需要的目录,这里只是演示)
ssh登录到centos6.4,开始执行以下命令
1.解压tar包
cd /software
tar-xzvf mysql-5.6.21-linux-glibc2.5-x86_64.tar.gz
mv mysql-5.6.21-linux-glibc2.5-x86_64 mysql-5.6.21
2.添加用户与组
groupadd mysql
useradd -r -g mysql mysql
chown -R mysql:mysqlmysql-5.6.21
3.安装数据库
su mysql
cd mysql-5.6.21/scripts
./mysql_install_db--user=mysql--basedir=/software/mysql-5.6.21 --datadir=/software/mysql-5.6.21/data
exit
4.配置文件
cd /software/mysql-5.6.21/support-files
cp my-default.cnf /etc/my.cnf
cp mysql.server/etc/init.d/mysql
vim /etc/init.d/mysql #若mysql的安装目录是/usr/local/mysql,则可省略此步
修改文件中的两个变更值
basedir=/software/mysql-5.6.21
datadir=/software/mysql-5.6.21/data
5.配置环境变量
vim /etc/profile
exportMYSQL_HOME=/usr/local/mysql
exportPATH=$PATH:$MYSQL_HOME/bin
保存退出
. /etc/profile
6.添加自启动服务
chkconfig --add mysql
chkconfig mysql on
7.启动mysql
service mysql start
8.登录mysql及改密码与配置远程访问
mysqladmin -u root password 'your_password' #修改root用户密码
mysql -u root -p #登录mysql,需要输入密码
mysql>GRANT ALL PRIVILEGESON *.* TO 'root'@'%' IDENTIFIED BY 'your_password' WITH GRANT OPTION; #允许root用户远程访问
mysql>FLUSH PRIVILEGES; #刷新权限
mysql>exit
---------------------------2014/11/25添加
又装了一次此版本的mysql,发现root用户不能登录,提示没权限。使用mysqld_safe 登进去,发现user表居然是空的,没有一个用户,郁闷。
于是从其它地方导出了一份user表的sql语句,手动插入了一个用户,再登录就可以了。
附:
忘记root密码后,如何找回密码
cd $MYSQL_HOME
./bin/mysqld_safe--basedir=/data/mysql-5.6.21 --datadir=/data/mysql-5.6.21/data--skip-grant-tables &
mysql -u root mysql
UPDATE user SET password=PASSWORD("new_password") WHERE user='root';
FLUSH PRIVILEGES;
安装完MYSQL服务器后在本机所有操作都正常, 但在其它机器上远程访问这个MYSQL服务器时怎么都连接不上. shit!
怀疑是端口问题, 结果:
telnet 192.168.1.245 3306
发现连接不上, 原来如此是端口被防火墙限制了.
现在只需要是在防火墙中打开3306端口即可.
执行 vi /etc/sysconfig/iptables 如图:
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp--dport 3306 -j ACCEPT
加入这句话就可以了, 注意这句话一定要加在最后一句话的上面. 否则不会生效.
同样如果是其它端口把"3306"换成相应端口即可.
然后重启一下防火墙
service iptables restart