第一步:下载
下载MySQL5.7:http://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.12-1.el6.x86_64.rpm-bundle.tar
第二步:安装
安装前检查服务器是否已安装MySQL,如已安装则将其卸载:
[root@worker1 tmp]# rpm -qa|grep mysql
mysql-libs-5.1.71-1.el6.x86_64
[root@worker1 tmp]# rpm -e --nodeps mysql-libs-5.1.71-1.el6.x86_64 //卸载
将下载的文件进行解压:
[root@worker1 tmp]# tar -xf mysql-5.7.12-1.el6.x86_64.rpm-bundle.tar
按顺序依次安装:
rpm -ivh mysql-community-common-5.7.12-1.el6.x86_64.rpm
rpm -ivh mysql-community-libs-5.7.12-1.el6.x86_64.rpm --force --nodeps
rpm -ivh mysql-community-devel-5.7.12-1.el6.x86_64.rpm --force --nodeps
rpm -ivh mysql-community-client-5.7.12-1.el6.x86_64.rpm --force --nodeps
rpm -ivh mysql-community-server-5.7.12-1.el6.x86_64.rpm --force --nodeps
不出意外,MySQL应该已经安装成功。
第三步:环境变量设置
1、启动MySQL:service mysqld start
2、登录:mysql -u root -p,初次登录密码为空,直接回车:
为什么会出现这个错误,原因是因为MySQL5.7中的mysql.user 表中没有Password字段,所以要以安全方式登录,然后修改密码。
解决方法如下:
修改MySQL配置文件:vim /etc/my.cnf,在文件末尾加上:skip-grant-tables,保存后重启MySQL服务:service mysqld restart,然后重新登录。
3、修改密码,用户密码是在名为mysql的database下面:
依次执行以下指令:
mysql> use mysql
mysql> update user set password_expired='N' where user='root';
mysql> update user set authentication_string=password('123456') where user=‘root';
mysql> flush privileges;
注意:一定要将my.cnf配置文件之前加的跳过密码检测内容去掉,重启服务;
其他:
1、编码设置:vim /etc/my.cnf,文件末尾加上编码内容default-character-set=utf8
2、允许远程访问MySQL: 赋予任何主机访问数据的权限
修改mysql库的user表,将host项,从localhost改为%。%这里表示的是允许任意host访问,如果只允许某一个ip访问,则可改为相应的ip,比如可以将localhost改为192.168.1.123,这表示只允许局域网的192.168.1.123这个ip远程访问mysql。
mysql> use mysql;
mysql> update user set host = '%' where user = 'root';
mysql> select host, user from user;
mysql> flush privileges;
防火墙开放3306端口
1、打开防火墙配置文件
vi /etc/sysconfig/iptables
2、增加下面一行
-A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT
3、重启防火墙
service iptables restart
注意:增加的开放3306端口的语句一定要在icmp-host-prohibited之前
参考:https://www.cnblogs.com/uoar/p/8056174.html
https://www.php.cn/mysql-tutorials-419590.html