之前安装方式都是源码安装,现在自己电脑linux虚拟机上测试采用yum安装方式进行安装。大致的步骤如下:
1. 一般 CentOS6.5 linux 安装的时候自带了数据库mysql5.1 ,先将mysql进程停止然后将其卸载。
rpm -qa | grep mysql #这个命令就会查看该操作系统上是否已经安装了mysql数据库
rpm -e mysql #普通删除模式
rpm -e --nodeps mysql #强力删除模式,如果使用上面命令删除时,提示有依赖的其它文件,
#则用该命令可以对其进行强力删除
yum -y remove mysql-libs-5.1.66*
#使用yum卸载rpm包防止mysql安装冲突,我安装到linux系统中版本是5.1.66
2. 网上博客关于安装linux方面的资料很多,我们这边也按照如下方法下周
http://dev.mysql.com/downloads/mysql/5.5.html#downloads站点可以下载下面的三个rpm包:
分别下载以下三个文件(下面是32位版本的包,如果你的机器是64位的请下载64位版本):
MySQL-server-5.5.16-1.rhel4.i386.rpm
MySQL-client-5.5.16-1.rhel4.i386.rpm
MySQL-devel-5.5.16-1.rhel4.i386.rpm
使用wget命令使用断点传输的方式将这三个文件下载
wget -c http://dev.mysql.com/get/Downloads/MySQL-5.5/MySQL-server-5.5.16-1.rhel4.i386.rpm/from/http://mysql.spd.co.il/
wget -c http://dev.mysql.com/get/Downloads/MySQL-5.5/MySQL-client-5.5.16-1.rhel4.i386.rpm/from/http://mysql.spd.co.il/
wget -c http://dev.mysql.com/get/Downloads/MySQL-5.5/MySQL-devel-5.5.16-1.rhel4.i386.rpm/from/http://mysql.spd.co.il/
3. 下载后采用 yum命令安装,之前可以先将mysql依赖的rpm包安装如c++运行环境gcc等,不过采用yum方式会自动安装依赖的rpm包
yum install MySQL-server-5.5.16-1.rhel4.i386.rpm
yum install MySQL-client-5.5.16-1.rhel4.i386.rpm
yum install MySQL-devel-5.5.16-1.rhel4.i386.rpm
4. 须知yum方式安装之后默认的一些mysql数据库
数据库目录
/var/lib/mysql/
配置文件
/usr/share/mysql(mysql.server命令及配置文件)
相关命令
/usr/bin(mysqladmin mysqldump等命令)
启动脚本
/etc/rc.d/init.d/(启动脚本文件mysql的目录)
5. 初始化mysql,启动mysql
运行/user/bin/mysql_install_db这个程序,一般路径是/usr/bin/mysql_install_db,用于初始化mysql的数据库,
生成元数据。不运行的话,会出现
Can't open and lock privilege tables: Table 'mysql.host' doesn't exist,这样的错误。
运行 mysql_install_db 有可能不成功,按照提示使用 mysql_install_db --force 可以查看其中的一个原因,
有一个原因是 缺少一个rpm包 ,使用yum安装 :
yum install libgcc_s.so.1
再次运行 mysql_install_db即可成功初始化mysql
运行 /etc/rc.d/init.d/mysql start启动mysql
有可能报的错误:
ERROR! The server quit without updating PID file (/var/lib/mysql/localhost.localdomain.pid)
可以查看错误日志 vi /var/lib/mysql/ XXXXX.err 查看
里面可能的记载是:/user/sbin/mysqld Can't find file ' ./mysql/host.frm' (error:13)
这主要是linux 用户权限组的问题:
cd /var/lib/mysql/mysql/ #就是进入到mysql这个数据库中,这里面存储了mysql用户角色和其他元数据信息等
chown mysql:mysql ./*
再次启动mysql
service mysql start 或 /etc/rc.d/init.d/mysql start
6. mysql 数据的root用户进行添加密码
/usr/bin/mysqladmin -u root password 'root123'
然后再次登录
mysql -u root –p
rpm包安装的MySQL是不会安装/etc/my.cnf文件的,解决方法,
只需要复制/usr/share/mysql目录下的my-huge.cnf 文件到/etc目录,并改名为my.cnf即可
cp /usr/share/mysql/my-huge.cnf /etc/my.cnf
处于安全考虑,Mysql默认是不允许远程访问的,可以使用下面开启远程访问
赋予任何主机访问数据的权限
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%'WITH GRANT OPTION
删除一些可能有安全隐患的数据
DELETE FROM mysql.user WHERE user = '' OR host = '';
DROP DATABASE test;
使修改生效
FLUSH PRIVILEGES
如果依然不能远程访问的话,那就很可能防火墙的原因了,可以在防火墙中开启3306端口或者干脆关掉防火墙。
/etc/init.d/iptables status
会得到一系列信息,说明防火墙开着。
/etc/init.d/iptables stop
永久关闭:
chkconfig --level 35 iptables off
7. 修改mysql默认的字符集
一般mysql通过yum安装默认字符集是latin1 ,一般我们都修改成utf8,借助网上其他人的博客方式修改,并且已经验证过了
两个参数:
1.在[mysqld]下添加
default-character-set=utf8(注意:mysql 5.5 版本之后必须写成: character-set-server=utf8)
init_connect = 'SET NAMES utf8'
2.在[client]下添加
default-character-set=utf8(注意:mysql 5.5 版本之后必须写成: character-set-server=utf8)
mysql安装还是比较简单的,oracle安装稍微复杂一些,不过解决问题的思路都一样。