1 首先查找以前是否安装过 Mysql
rpm -qa | grep -i mysql
1 如果有,删除
rpm -e --nodeps 包名
2 查看老版本的Mysql 文件
查找 残留文件: find / -name mysql
如果有,逐个删除, 指令如下:
rm -rf 路径
如果非常多,一键删除指令如下:
find / -name mysql | xargs rm -r
ps: /etc/my.conf 先不要删除,因为有可能后续的安装过程中不会生成此文件
改名: mv /etc/my.conf /etc/my_test.conf
3 删除 mysql 用户组及用户
查看组:
groups mysql
如果有,删除:
groupdel 组名 , userdel -r 用户名,-r 表示删除自创建的家目录
确认信息:
cat /etc/passwd 查看所有用户信息
cat /etc/group 查看所有组信息
4 下载mysql 包,存放路径为当前路径
wget http://dev.mysql.com/get/Downloads/MySQL-5.6/mysql-5.6.33-linux-glibc2.5-x86_64.tar.gz
如果使用自定义版本,可以通过官网下载,ftp上传到服务器
5 解压目录
tar -zxvf mysql-5.6.17-linux-glibc2.5-i686.tar.gz
6 复制到本地目录
cp mysql-5.6.17-linux-glibc2.5-i686 /usr/local/mysql -r
-r 表示递归复制,不然会报错
7 添加系统mysql组和mysql用户
groupadd mysql
useradd -r -g mysql mysql
-g 表示的是 指定的用户主组,就是上面创建的mysql 组
通过 cat /etc/passwd 查看
8 安装数据库
- 进入目录: cd /usr/local/mysql
- 修改当前目录拥有者为mysql用户:执行命令 chown -R mysql:mysql ./
- 安装数据库:执行命令 ./scripts/mysql_install_db --user=mysql
- 修改当前目录拥有者为root用户:执行命令 chown -R root:root ./
- 修改当前data目录拥有者为mysql用户:执行命令 chown -R mysql:mysql data
- 安装完毕
如果安装过程中报错,可能是缺少一些依赖包,通过搜索引擎查找具体的错误信息,然后安装对应的依赖包。
9 添加开机启动mysql服务
cp support-files/mysql.server /etc/init.d/mysql
也可以通过 chkconfig --add mysql 添加
通过 chkconfig --list | grep mysql 查看是否添加成功
10 启动服务
service mysql start
如果显示 [ok] 表示启动成功, 通过 ps -ef | grep mysql 查看进程信息
如果 启动失败, 首先通过 ps -ef | grep mysql 查看进程是否已启动,如果启动,通过 kill -9 进程号终止进程,再次启动mysql 服务
11 设置软连接,把mysql客户端放到默认路径
ln -s /usr/local/mysql/bin/mysql /usr/local/bin/mysql
如果报一个后缀为 .sock 的异常:
ln -s /var/lib/mysql/mysql.sock /tmp/
12 启动
mysql -uroot -p
初始账户名为 root,密码为空
13 修改密码
mysql 命令: set password for root@localhost = '新密码'
linux 命令: ./bin/mysqladmin -u root password '新密码'
14 允许外网访问
查看防火墙状态: service iptables status
建议:调试环境下永久环境防火墙,组合使用下列指令
永久: chkconfig iptables off 即刻: service iptables stop
开机启动设置不启动防火墙, 立即关闭防火墙
sql指令: grant all on . to root@'%' identified by '外网访问的密码';
'%' 代表所有ip可以访问
sql指令: flush privileges 立即刷新
15 安装完成
16 : 一些安装过程中的异常
1、mysql 配置文件没有生成
目录 /usr/local/mysql/bin, 缺少一个 mysql 文件,原因是之前安装过mysql ,残留文件没有彻底删除干净,导致的安装异常。
解决1: 从正常的运行的mysql 中拷贝一份,通过ftp 上传到服务器的对应目录,版本最好一致。
解决2: 服务器格式化,重新安装,并及时最好备份存档。
2、mysql -uroot -p 连接异常:
可能是没有启动 mysql 服务, 指令: ps -ef | grep mysql 查看是否存在mysql 进程。
service mysql start 启动mysql 服务之后,再次连接mysql 数据库。
3、mysql 没有生成 /etc/my.conf 配置文件
把原来的my_test.conf 文件 改为 my.conf 文件即可,前提是版本一致
mv /etc/my_test.conf /etc/my.conf
4、MySQL server PID file could not be found!
如果mysql已经运行过了,那么多半是日志文件满了。删除mysql 目录下的日志文件,之后重启就可以了。