1:检查自己的centos 有没有安装 ,默认安装是在/usr/local/mysql 删除该文件下所有文件,再查看(根据具体版本修改指令中的版本号)
# rpm -e mysql
2:检查有没有安装,如有则删除
# rpm -qa | grep mysql
3:将所有与mysql相关的东西删除
#yum -y remove mysql-community-libs-5.7.19-1.el7.x86_64
4:再检查是否删除干净
# rpm -qa | grep mysql
5:手动删除
# yum -y remove mysql-community-release-el7-5.noarch
# yum -y remove mysql-community-common-5.7.19-1.el7.x86_64
6: 卸载MariaDB
# rpm -qa | grep mariadb
将它们统统强制性卸载掉:
# rpm -e --nodeps mariadb-libs-5.5.35-3.el7.x86_64
# rpm -e --nodeps mariadb-5.5.35-3.el7.x86_64
# rpm -e --nodeps mariadb-server-5.5.35-3.el7.x86_64
7:安装依赖包
#yum -y install make gcc-c++ cmake bison-devel ncurses-devel libaio libaio-devel
8:创建mysql用户组
#groupadd mysql
9:在mysql用户组下创建用户mysql
#useradd mysql -g mysql
10:从官网下载mysql-5.6.32-linux-glibc2.5-x86_64.tar.gz 下载地址:https://downloads.mysql.com/archives/community/
11:解压文件mysql-5.6.32-linux-glibc2.5-x86_64.tar.gz
#tar xzvf mysql-5.6.32-linux-glibc2.5-x86_64.tar.gz
12:将mysql-5.6.32-linux-glibc2.5-x86_64更名为mysql并移动到 /usr/local/mysql下
#mv mysql-5.6.32-linux-glibc2.5-x86_64/ /usr/local/mysql
在/dbdata下创建data目录(已在根目录下挂载100G硬盘做data空间,可根据自己实际情况)
#mkdir /dbdata/data
13:返回local目录
#cd /usr/local
将mysql目录及下面的文件、子目录文件组改成mysql
#chown -R mysql:mysql mysql/
给与mysql目录及下面的文件、子目录755权限
#chmod -R 755 mysql/
14:编译安装并初始化mysql,初始化默认数据库运行此命令:
#/usr/local/mysql/scripts/mysql_install_db --user=mysql --datadir=/dbdata/data --basedir=/usr/local/mysql/
[---注意:mysql5.7版本使用下面指令初始化,首先进入usr/local/mysql
bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/dbdata/data
执行后,注意最后一行,和之有版本不同的地方,它给了root一个初始密码,后面要登录的时候要用到这个密码
---]
注意(登录mysql后需要修改密码,否则不能操作):
mysql版本5.7.6版本以前用户可以使用如下命令:
mysql>set password = password('Admin@1212');
MySQL版本5.7.6版本开始的用户可以使用如下命令:
mysql>alter user user() identified by ‘Admin@1212’;
如出现错误:
FATAL ERROR: please install the following Perl modules before executing /usr/local/mysql/scripts/mysql_install_db:
Data::Dumper
解决方法 :安装autoconf库
#yum -y install autoconf //此包安装时会安装Data:Dumper模块
然后再执行以上编译安装初始化命令,安装完提示信息里面会显示如何修改root密码,默认mysql的root密码为空。
15:启动mysql服务
#/usr/local/mysql/support-files/mysql.server start
如出现如下报错
问题可能的原因有多种,具体什么原因最好的办法是先查看下错误日志:
(1)可能是/usr/local/mysql/data/mysql.pid文件没有写的权限
解决方法 :给予权限,执行 “chown -R mysql:mysql /var/data” “chmod -R 755 /usr/local/mysql/data” 然后重新启动mysqld!
(2)可能进程里已经存在mysql进程
解决方法:用命令“ps -ef|grep mysqld”查看是否有mysqld进程,如果有使用“kill -9 进程号”杀死,然后重新启动mysqld!
(3)可能是第二次在机器上安装mysql,有残余数据影响了服务的启动。
解决方法:去mysql的数据目录/data看看,如果存在mysql-bin.index,就赶快把它删除掉吧,它就是罪魁祸首了。
(4)mysql在启动时没有指定配置文件时会使用/etc/my.cnf配置文件,请打开这个文件查看在[mysqld]节下有没有指定数据目录(datadir)。 (我的是这个原因)
解决方法:请在[mysqld]下设置这一行:datadir = /usr/local/mysql/data
(5)skip-federated字段问题
解决方法:检查一下/etc/my.cnf文件中有没有没被注释掉的skip-federated字段,如果有就立即注释掉吧。
(6)错误日志目录不存在
解决方法:使用“chown” “chmod”命令赋予mysql所有者及权限
(7)selinux惹的祸,如果是centos系统,默认会开启selinux
解决方法:关闭它,打开/etc/selinux/config,把SELINUX=enforcing改为SELINUX=disabled后存盘退出重启机器试试。
16:做个软连接,重启mysql服务
#ln -s /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql
#service mysql restart
设置开机自启动。
#vim /etc/rc.local
添加service mysql start
给rc.local添加执行权限
chmod +x rc.loal
17:做个软链接,将安装目录下的mysql 放在/usr/bin 目录下
#ln -s /usr/local/mysql/bin/mysql /usr/bin
18:登录msyql,输入密码
#mysql -u root -p
19:编辑my.cnf,添加配置文件,配置内容为
#vi /usr/local/mysql/my.cnf
20:允许3306端口
sudo firewall-cmd --permanent --zone=public --add-port=3306/tcp
让firewall-cmd重新加载配置:
sudo firewall-cmd --reload
再次列一下当前防火墙配置看是否开放成功:
firewall-cmd --list-all
21:允许局域网连接mysql数据库
登录mysql后
mysql>use mysql;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A
mysql>update user set host='%' where user ='root';
Query OK, 1 row affected (0.00 sec)
Rows matched: 1 Changed: 1 Warnings: 0
mysql>flush privileges;
Query OK, 0 rows affected (0.00 sec)
重启mysql服务后,局域网即可连接。
参考:1.https://www.jianshu.com/p/7a47b41e1e05 2.http://blog.csdn.net/u010860214/article/details/49448003
3.http://blog.sina.com.cn/s/blog_694864e60102vaij.html
4.http://www.jb51.net/article/48625.htm
5.https://downloads.mysql.com/archives/community/