环境
-系统:CentOS7
-数据库:MySql5.7.16
系统安装
请看上篇教程:http://blog.csdn.net/FengYe_YuLu/article/details/53224515
数据库安装:
http://dev.mysql.com/downloads/mysql/
1.下载
因为本人是CentOS7
所有我下载
将其放在
打开终端运行
yum install mysql-community-{server,client,common,libs}-*
一路:y 下去
好了,安装成功了,
接下来配置
[client]
default-character-set=utf8
在[mysqld]下添加
character-set-server=utf8
skip-grant-tables
use mysql
update user set authentication_string = password("新密码") where user ="root";
关闭mysql
service mysqld stop
删除配置文件中skip-grant-tables
重新启动mysql
注意:在进行操作时报:ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement
执行:
set password = password("新密码");
执行时会提示
ERROR 1819 (HY000): Your password does not satisfy the current policy requirements
这是mysql升级后对密码的强度加强的原因,可以降低密码强度,也可以自己设置的密码强大大些
降低密码强度:
set global validate_password_policy=0;
到此基础mysql已安装成功
修改数据存放目录
进一步修改:
可以看到datadir的路径,linux系统的var文件容量很小
所有我们要修改
mkdir -p /data/mysql
cp -a /var/lib/mysql /data/mysql/
简历一个mysql.sock的软连接
启动mysql
这是因selinux防火墙原因导致的
执行
setenforce 0
可彻底关闭
vi /etc/selinux/config
#SELINUX=enforcing #注释掉
#SELINUXTYPE=targeted #注释掉
SELINUX=disabled #增加
:wq
这个要重启项目才生效,可在下面设置外网访问时,在设置彻底关闭,临时用 setenforce 0
到此mysql修改数据存放位置结束!
设置外网访问
1.关闭防火墙
systemctl stop firewalld.service
2.禁止启动防火墙
systemctl disable firewalld.service
查看防火墙状态
firewall-cmd --state
3.创建用户
create user '用户名'@'%' identified by '密码'; //创建用户
update user set HOST='%' where USER='用户名'; //设置用户供所有网段访问
grant All privileges on *.* to 用户名@'%' identified by '密码' with grant option; //分配权限
flush privileges; //立即生效
例如:
create user 'qfmyy'@'%' identified by 'Langman082522';
update user set HOST='%' where USER='qfmyy';
grant All privileges on *.* to qfmyy@'%' identified by 'Langman082522' with grant option;
flush privileges;
重启系统,
外网:
mysql -h 192.168.133.161 -u qfmyy -p