linux centOS7下安装mySQL

服务器:阿里云 Linux CentOS7.4 64位

MySQL:MySQL Community Server 5.6.22

步骤一定要照着来,不然容易出错

如果已经安装过MySQL,想安装新的,也要按照步骤进行彻底清除

下载MySQL

官网下载地址

使用wget下载

1
$ wget http://dev.mysql.com/get/Downloads/MySQL-5.6/MySQL-5.6.22-1.el6.i686.rpm-bundle.tar

下载远程连接工具&上传工具

使用FileZilla将MySQL上传到Linux

FileZilla-3.7.3

Xshell-6

链接:https://pan.baidu.com/s/1CgItHLCOZ_KNjkp6DTydGA 密码:1jol

Xftp-6

链接:https://pan.baidu.com/s/1Gf1c5xcbj-GCUb4L3XXNRA 密码:z95h

检测是否已经安装了mysql

1
$ rpm -qa | grep -i mysql

如果已经安装了,将其卸载:

1
2
$ rpm -e --nodeps  MySQL-server-5.6.22-1.el6.i686
$ yum remove mysql-libs

解压mysql

1
$  mkdir /usr/local/mysql
1
$ tar -xvf MySQL-5.6.22-1.el6.i686.rpm-bundle.tar -C /usr/local/mysql

安装依赖

1
$ yum -y install libncurses.so.5 libtinfo.so.5
1
$ yum -y install libaio.so.1 libgcc_s.so.1 libstdc++.so.6

升级libstdc++-4.4.7-4.el6.x86_64

1
$ yum  update libstdc++-4.4.7-4.el6.x86_64

安装client

进入MySQL解压目录,执行下面的命令

1
$ rpm -ivh MySQL-client-5.6.22-1.el6.i686.rpm

安装server

1
$ rpm -ivh MySQL-server-5.6.22-1.el6.i686.rpm
上图才表示安装成功,下图表示失败,肯定是第二次安装忘记删除my.cnf,会出现PID问题,一定要删干净! 会随机生成root用户的密码,保存在/root/.mysql_secret中
1
$ vi /root/.mysql_secret

复制里面的密码

启动mysql服务

1
2
3
4
$ service mysql start

# 查询mysq服务运行状态
$ service mysql status

使用root账号登录mysql

1
$ mysql -uroot -p

密码输入上面复制的

修改root账号密码

1
$ SET PASSWORD = PASSWORD('root');

开启远程访问

设置远程访问(比如使用Navicat Premium)

1
2
$ grant all privileges on *.* to 'root' @'%' identified by 'root';
$ flush privileges;

防火墙打开3306端口

1
2
3
4
5
6
7
8
# CentOS7使用这个
$ firewall-cmd --zone=public --permanent --add-port=3306/tcp
$ service firewalld restart

# 低版本用这个
$ /sbin/iptables -I INPUT -p tcp --dport 3306 -j ACCEPT
$ /etc/rc.d/init.d/iptables save
$ /etc/init.d/iptables status

重启、关闭、开启防火墙

1
2
3
4
# CentOS7
$ service firewalld restart #重启
$ service firewalld start #开启
$ service firewalld stop #关闭

查看默认防火墙状态

1
2
3
4
# 关闭后显示notrunning,开启后显示running
$ firewall-cmd --state
# 任选一种
$ systemctl status firewalld.service

不建议关闭防火墙

查看3306是否打开

1
$ firewall-cmd --list-all

自动启动mysql服务

加入到系统服务

1
$ chkconfig --add mysql

自动启动

1
$ chkconfig mysql on

查询列表

1
$ chkconfig


修改阿里云安全规则


常见错误

如果安装server出现如下错误,一定要删除/usr/my.cnf再安装!

The server quit without updating PID file(…)
Starting MySQL ERROR! Couldn’t find MySQL manager or server

错误很多,建议完全卸载,重新安装。有的说删除 /etc/my.cnf,结果

linux mysql没有my.cnf (看文章最后的默认位置)
linux mysql没有data

目录不是所有人都一样,有的会默认安装在其他地方

重新安装依然报错

直接查看错误日志

查看ERROR原因,再解决

1
2
# 我是这个错误
cannot allocate memory for the buffer pool

编辑/etc/my.cnf,新增(没有my.cnf看文章最后)

1
innodb_buffer_pool_size=50M

character_set_server=utf8 = 修改mysql的默认编码
解决中文存入数据库乱码问题

启动MySQL服务,成功!

1
2
3
$ /etc/init.d/mysql start
# 任选一种都可以启动
$ service mysql star

Linux下干净卸载mysql

  1. 卸载

    1
    2
    3
    $ rpm -qa|grep -i mysql 
    $ rpm -e --nodeps MySQL-client-5.6.22-1.el6.i686
    $ rpm -e --nodeps MySQL-server-5.6.22-1.el6.i686
  2. 查找之前老版本mysql的目录、并且删除老版本mysql的文件和库

    1
    $ find / -name mysql

注意:卸载后/etc/my.cnf或者上面的/usr/my.cnf不会自动删除,需要自己删除

1
2
3
4
5
$ rm -rf /etc/my.cnf
$ rm -rf /usr/my.cnf
# 记得删除初始密码,如未删除,最后面一个密码是最新的
$ rm -f /root/.mysql_secret
$ rm -f /root/.mysql_histroy

再次确认,文件一定要删干净!

1
2
3
4
$ rpm -qa|grep -i mysql
$ find / -name mysql
# 注意:不要把其他程序的cnf删掉了
$ find / -name *.cnf

无结果,说明已经卸载彻底,重新安装!

mysql默认配置文件my.cnf位置

如果在/etc下面没有存在my.cnf配置文件

使用命令查看mysql的安装位置

1
$ which mysqld

通过命令来查看mysql使用的配置文件默认路径,(注意路径是通过上面的命令获取到的mysql安装目录路径,可能与我不同)

1
$ /usr/sbin/mysqld --verbose --help |grep -A 1 'Default options'

可以看到默认my.cnf顺序以及位置,首先查看/etc/下面是否存在my.cnf配置文件,如果没有的话就复制一个

1
$ find / -name my-default.cnf

复制my-default.cnf 到/etc下改名为my.cnf即可

1
2
3
4
# 复制
$ cp my-default.cnf /etc/
# 改名
$ mv my-default.cnf my.cnf

------本文结束感谢阅读------

本文标题:linux centOS7下安装mySQL

文章作者:churuo

原始链接:https://www.xuchuruo.cn/Linux-CentOS7下安装MySQL.html

许可协议: 署名-非商业性使用-禁止演绎 4.0 国际 转载请保留原文链接及作者。

0%