CentOS7.3安装mysql 5.7 并配置外网访问

1、查看系统中是否已安装 MySQL 服务

rpm -qa | grep mysql

或者

yum list installed | grep mysql


2、如果有那么就删除mysql及其依赖包

yum remove  依赖包


3、下载mysql5.7的源

wget http://repo.mysql.com/mysql57-community-release-el7-8.noarch.rpm

CentOS7.3安装mysql 5.7 并配置外网访问_第1张图片

4、安装 mysql57-community-release-el7-8.noarch.rpm这个文件

rpm -ivh mysql57-community-release-el7-8.noarch.rpm


5、开始安装mysql(安装的过程中会出现选择,可以一直选择y)

yum install mysql-server

CentOS7.3安装mysql 5.7 并配置外网访问_第2张图片

6、安装完成后启动mysql

service mysqld start

7、查看mysql生成的随机密码,并记录下来

grep "password" /var/log/mysqld.log


8、登录到mysql

mysql -u root -p  回车输入密码,输入的密码是看不见的

.CZ)eDWu-1FF(这是密码)

CentOS7.3安装mysql 5.7 并配置外网访问_第3张图片

登录成功

9、修改mysql密码为自己的密码

SET PASSWORD = PASSWORD('新密码');

ALTER USER 'root'@'localhost' PASSWORD EXPIRE NEVER;

刷新权限生效

flush privileges;

(如果出现以下错误,则是因为mysql的安全策略限制所引起的)


10、修改mysql安全策略

查看mysql当前密码的策略

show variables like 'validate_password%';

CentOS7.3安装mysql 5.7 并配置外网访问_第4张图片

validate_password_dictionary_file:密码策略文件,策略为STRONG才需要

validate_password_length:密码最少长度 

validate_password_mixed_case_count:大小写字符长度,至少1个

validate_password_number_count :数字至少1个  validate_password_special_char_count:特殊字符至少1个

修改策略的值为

set global validate_password_policy=0;
set global validate_password_length=1;


11、再次修改密码,修改成功(修改成功后重启mysql,mysql的安全策略会初始化到安装的时候一样)

SET PASSWORD = PASSWORD('新密码');



刷新权限生效

flush privileges;

12、设置用户 root 可以在任意 IP 下被访问

grant all privileges on *.* to root@"%" identified by "密码";


刷新权限生效

flush privileges;


13、设置用户 root 可以在本地被访问

grant all privileges on *.* to root@"localhost" identified by "密码";


刷新权限生效

flush privileges;


14、最后连接云服务器上的mysql数据库(连接成功)ps:最好用ip进行数据库连接

CentOS7.3安装mysql 5.7 并配置外网访问_第5张图片

15、设置子字符集为utf-8和解决工具连接mysql执行语句时报错的问题

vim /etc/my.cnf       insert打开编辑模式

直接将文中的

[mysqld]替换成下面的4句

[client]
default-character-set=utf8
[mysqld]

character_set_server=utf8

sql_mode=PIPES_AS_CONCAT,ANSI_QUOTES,NO_AUTO_VALUE_ON_ZERO,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION

加sql_mode这一句是为了防止工具连接时执行语句报错

安装完mysql后查询出来的结果是这样

select @@sql_mode;

sql_mode=PIPES_AS_CONCAT,ANSI_QUOTES,ONLY_FULL_GROUP_BY,NO_AUTO_VALUE_ON_ZERO,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION

这里去掉了其中的  ONLY_FULL_GROUP_BY防止执行语句时报错

esc退出编辑模式,输入:wq保存


重启mysql

service mysqld restart


如果不设置字符集使用sql语句

select name,address,(case sex when 1 then '男' when 0 then '女' else '未知' end) as sex from t_student;

导出来的数据会出现乱码的情况


设置字符集后导出的数据恢复正常


你可能感兴趣的:(Mysql,开发环境搭建,centos服务器)