CentOS7安装MySQL5.6
==========================================准备工作=========================================
第1步、首先,创建虚拟机
第2步、安装CentOS
第3步、配置IP
第4步、下面,用yum安装mysql
https://dev.mysql.com/downloads/repo/yum/
第5步、安装yum源
第6步、修改默认的安装版本为5.6
第7步、卸载CentOS7自带的mariadb
rpm -qa | grep mariadb
rpm -e --nodeps 文件名
第8步、创建一个mysql用户和mysql用户组,然后将mysql用户加到mysql用户组
groupadd mysql
useradd -g mysql mysql
第9步、接下来,可以安装了
安装完成后,可以在/etc下面多出一个my.cnf文件,查看如下
可见,数据文件在/var/lib/mysql
启动mysql
service mysql start|stop|status|restart
或者
systemctl start|stop|status|restart mysqld
默认mysql开机自动启动,我不想让它开机自启动,于是取消开机自动启动
默认情况下,root用户登录本机的mysql是不需要密码的,所以直接输入mysql回车就可以进去
这是为什么呢?看一下mysql数据库中的user表就知道了
默认的编码格式是utf-8
可以给root用户也设一个密码
在设密码的过程中,不知道怎么的,把root用户在localhost登录的权限给搞丢了,导致登录进去只能看到information_schema数据库。
然后各种百度,最终得到是怎么重置root密码,大致的做法是:先停掉mysql,然后启动的时候跳过权限,然后再进去修改
service mysql stop
mysqld_safe --skip-grant-tables &
但是,我的user表中都没有Host=localhost并且User=root这样的记录,即使将所有root用户的密码都改成123456,在命令行直接输入mysql进去也还是那样。
信号,机智的我发现,直接输入mysql进去用的应该是localhost,于是我指定主机地址为127.0.0.1进去改
完美解决!!!
现在还有一个问题:现在仅仅只是本机可以访问,远程计算机还无法访问mysql
于是,授权远程可以用root访问mysql
遗憾的是,外部还是无法访问。
我发现,ping 192.168.10.128是可以通,但是telnet 192.168.10.128 3306是不通的。我怀疑是防火墙的问题,于是关闭防火墙,再试,通了!
但是关闭防火墙始终不是办法,于是修改防火墙,添加3306端口
现在就可以了
参考
https://dev.mysql.com/downloads/mysql/
http://blog.csdn.net/a9529lty/article/details/14519471
https://stackoverflow.com/questions/9382219/error-1045-28000-access-denied-for-user-rootlocalhost-using-password-ye
http://www.sojson.com/blog/197.html
http://blog.csdn.net/xlgen157387/article/details/52672988
https://www.cnblogs.com/moxiaoan/p/5683743.html
http://blog.csdn.net/gebitan505/article/details/51726649