yum方式安装的mysql(如果以前没有装过可略过这里)
1、yum remove mysql mysql-server mysql-libs compat-mysql51
2、rm -rf /var/lib/mysql
3、rm/etc/my.cnf
查看是否还有mysql软件:
rpm -qa|grep mysql
如果存在的话,继续删除即可。
rpm方式安装的mysql
a)查看系统中是否以rpm包安装的mysql:
[root@localhost opt]#rpm -qa | grep -i mysql
MySQL-server-5.6.17-1.el6.i686
MySQL-client-5.6.17-1.el6.i686
b)卸载mysql
[root@localhostlocal]# rpm -e MySQL-server-5.6.17-1.el6.i686
[root@localhost local]# rpm -e MySQL-client-5.6.17-1.el6.i686
c)删除mysql服务
[root@localhostlocal]# chkconfig --list | grep -i mysql
[root@localhost local]# chkconfig --del mysql
d)删除分散mysql文件夹
[root@localhostlocal]# whereis mysql 或者 find / -name mysql
mysql:/usr/lib/mysql /usr/share/mysql
清空相关mysql的所有目录以及文件
rm -rf /usr/lib/mysql
rm -rf /usr/share/mysql
rm -rf /usr/my.cnf
通过以上几步,mysql应该已经完全卸载干净了
确定卸载干净后开始安装:
1、下载源码包,一般将源码包放在/usr/local/中;
cd /usr/local/
2、安装mysql,以下是安装命令
wget http://dev.mysql.com/get/mysql-community-release-el7-5.noarch.rpm
(这里的版本可以随时去mysql官网进行选择)
#rpm -ivhmysql-community-release-el7-5.noarch.rpm
# yuminstall mysql-community-server
系统会自动安装。最后会提示成功安装。
3、安装完之后重启一下mysql服务:
# service mysqld restart
4、登录mysql:
#mysql -u root
5、这时会报错:
ERROR 2002 (HY000): Can't connect tolocal MySQL server through socket '/var/lib/mysql/mysql.sock' (2)
原因是/var/lib/mysql的访问权限问题。下面的命令把/var/lib/mysql的拥有者改为当前用户:
sudo chown -R openscanner:openscanner/var/lib/mysql
6, 重置密码:
mysql-u root;
报错:ERROR 2002 (HY000): Can‘tconnect to local MySQL server through socket ‘/var/lib/mysql/mysql.sock‘ (2),原因是/var/lib/mysql的访问权限问题。下面的命令把/var/lib/mysql的拥有者改为当前用户:
sudo chown -R openscanner:openscanner /var/lib/mysql
重启服务:
servicemysqld restart
再次登录:
mysql-u root
报错:
此种情况是因为存在了默认密码问题,解决:(最保险的是重置root密码)
1、修改 /etc/my.cnf,在[mysqld] 小节下添加一行:skip-grant-tables=1
这一行配置让 mysqld 启动时不对密码进行验证
2、重启 mysqld 服务:systemctlrestart mysqld
3、使用 root 用户登录到 mysql:mysql -u root
4、切换到mysql数据库,更新 user 表:
update user set authentication_string =password('root'), password_expired = 'N', password_last_changed = now() whereuser = 'root';
在之前的版本中,密码字段的字段名是 password,5.7版本改为了 authentication_string
5、退出 mysql,编辑/etc/my.cnf 文件,删除 skip-grant-tables=1 的内容
6、重启 mysqld 服务,再用新密码登录即可
7.开放防火墙:
vim /etc/sysconfig/iptables
添加以下内容:
-A INPUT -p tcp -m state --state NEW -m tcp --dport 3306-j ACCEPT
保存后重启防火墙:
$ sudo service iptables restart
这样从其它客户机也可以连接上mysql服务了。
8.阿里云安全组设置:
如果此时在其他客户机上还是链接不上mysql,登录阿里云,查看实例的安全组有没有为3306端口开启规则;