参考自:Centos7使用yum安装Mysql5.7.19的详细步骤(可用)_mysql5.7.19 yum 源_猪猪猪猪猪鸭的博客-CSDN博客
一、前言
本文环境基于CentOS7.4 阿里云服务器镜像为:centos_7_04_64_20G_alibase_201701015.vhd
首先要在阿里云服务器管理中设置安全组规则,向外开放相应的端口,如果不是阿里云,则需要防火墙放开对应端口
二、安装过程
1.检测系统。
是否已经安装过mysql或其依赖,若已装过要先将其删除,否则第4步使用yum安装时会报错:
# yum list installed | grep mysql
若出现如下所示,则用第三行中的命令删掉mysql:
# yum list installed | grep mysql
mysql-libs.i686 5.1.71-1.el6 @anaconda-CentOS-201311271240.i386/6.5
# yum -y remove mysql-libs.i686
2.卸载MariaDB
因为担心Oracle把MySQL变成闭源软件
MySQL的创始人利用MySQL的源代码创建了MariaDB,MariaDB与MySQL兼容
CentOS担心使用MySQL会引来版权问题,所以改为集成MariaDB
yum remove mariadb*
3.下载mysql安装包
yum是基于rpm的新的包管理工具,提供了更强大的功能和更好的体验!
首先我们下载mysql的repo源,我们可以去mysql官网找最新的repo源地址
地址:
MySQL :: Download MySQL Yum Repository
开始在linux下下载repo源
//下载mysql rpm包
# wget http://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm
//安装mysql rpm包
# rpm -ivh mysql57-community-release-el7-11.noarch.rpm
//安装mysql
# yum install mysql-community-server
安装成功后需要重启mysql服务。
service mysqld restart
刚开始安装的Mysql5.7是会随机生成一个root密码的,我们要先找到这个随机密码,然后改新密码。我们可以通过grep命令查找随机root密码。
[root@CentOS7 ~]# grep "password" /var/log/mysqld.log
2018-09-06T18:03:30.374086Z 1 [Note] A temporary password is generated forroot@localhost: 9q3fgbk8_Pgg
使用随机密码登录mysql
[root@CentOS7 ~]# mysql -uroot -p
Enter password:
进入后重置root密码
mysql> SET password=PASSWORD("mysql123456");
ERROR 1819 (HY000): Your password does not satisfy the current policy requirements
如果有上面的报错,说明密码设置的过于简单。需要重新设置一个不简单的,密码设置规则是要有数字大小写字母和字符串。
最后授予外网登录权限,
username为用户名,password是登录密码
mysql>grant all privileges on *.* to username@'%' identified by 'password';
grant all privileges on *.* to wqc@'%' identified by 'mysql@20202021';
4.修改字符集为UTF-8:
vim /etc/my.cnf
在[mysqld]部分添加:
character-set-server=utf8
在[mysqld]部分添加:
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
修改sql_mode,mysql5.7不修改的话,会导致"[Err] 1055 - Expression #1 of ORDER BY clause is not in GROUP BY clause and"错误
在文件末尾新增[client]段,并在[client]段添加:
default-character-set=utf8
修改好之后重启mysqld服务:
service mysqld restart
查看修改结果:
mysql> show variables like "%character%";
+--------------------------+----------------------------+
| Variable_name | Value |
+--------------------------+----------------------------+
| character_set_client | utf8 |
| character_set_connection | utf8 |
| character_set_database | utf8 |
| character_set_filesystem | binary |
| character_set_results | utf8 |
| character_set_server | utf8 |
| character_set_system | utf8 |
| character_sets_dir | /usr/share/mysql/charsets/ |
+--------------------------+----------------------------+
8 rows in set (0.00 sec)
5.安装完成后
不需要设置mysql开机启动,因为安装好后就是已经自动设置了开机启动的