1.安装前清理node
1.1. 清理原有数据库
1.1.1. 清理软件包
使用 “rpm -pa | grep mysql” 查看原有的软件包和依赖包,将结果使用 “yum remove 包名”逐一删除。
1.1.2. 清理配置
使用“find / -name mysql”查看全部mysql配置,将结果使用“rm -rf 文件名”逐一删除。
1.2. 删除 mariadb 文件
因为MySQL在CentOS7中收费了,因此已经不支持MySQL了,取而代之在CentOS7内部集成了mariadb,而安装MySQL的话会和MariaDB的文件冲突,因此须要先卸载掉MariaDB.
查看:rpm -qa | grep mariadb
可能结果:mariadb-libs-5.5.56-2.el7.x86_64
删除:rpm -e mariadb-libs-5.5.56-2.el7.x86_64
若是出错,则使用强制删除:rpm -e --nodeps mariadb-libs-5.5.56-2.el7.x86_64
2. 下载安装包
centos的yum 源中默认是没有mysql的,因此咱们须要先去官网下载mysql的repo源并安装;
2.1. 访问官网,查看最新安装包
https://dev.mysql.com/downloads/repo/yum/
2.2. 选择版本,点击“download”mysql
2.3. 登陆
若是是未登陆状态,会要求登陆。此时会跳转到 oracle 单点登陆页面,登陆本身的 oracle 帐号便可(没有帐号就注册一个,如今下载 oracle 的产品都须要登陆,好比 jdk)
2.4. 登陆后回到上述页面,右键选择的版本对应的download按钮,点击“复制连接地址菜单项”
2.5. 登陆Linux服务器,进入到某个目录(如 /usr/local/src),使用 wget 下载源安装包
wget https://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpmsql
3. 安装mysql源
3.1. 安装 yum repo 文件
rpm -ivh mysql80-community-release-el7-3.noarch.rpm
执行结果会在/etc/yum.repos.d/目录下生成两个repo文件mysql-community.repo mysql-community-source.repo数据库
3.2. 更新yum缓存
yum clean allcentos
yum makecache缓存
4. 安装mysql服务器
4.1. 选择版本
当咱们在使用yum安装mysql时,yum默认会从yum仓库中安装mysql最新的GA版本;如何选择本身的版本;
4.1.1. 查看mysql yum仓库中mysql版本,使用以下命令
yum repolist all | grep mysql安全
能够看到mysql8是可用的,其它是禁用的,我正好是须要安装mysql8,因此不用管了。若是想要安装其它版本能够修改服务器
4.1.2. 修改禁用启用规则
yum-config-manager --enable mysql57-community
若是命令无效,能够直接编辑 mysql repooracle
4.2. 安装mysql服务
yum install mysql-community-server测试
中间有须要确认的步骤就一直 “y” 就好了。
5. 启动服务,测试链接
启动:systemctl start mysqld.service
中止:systemctl stop mysqld.service
重启:systemctl restart mysqld.service
查看服务状态:systemctl status mysqld.service
6. 修改初始密码
6.1. 查看初始密码
mysql在安装后会建立一个root@locahost帐户,而且把初始的密码放到了/var/log/mysqld.log文件中;
查看:cat /var/log/mysqld.log
初始登陆密码只能用于登陆mysql,不能进行其它操做。会强制要求用户修改密码。
6.2. 修改初始密码
使用初始密码登陆:mysql -uroot -p
若是不修改,则任何操做时会提示以下错误:
You must reset your password using ALTER USER statement before executing this statement.
修改方式是登陆后使用如下语句
ALTER USER USER() IDENTIFIED BY '新密码'
值得注意的是,新密码必须符合安全策略(就是足够复杂,mysql8的默认安全策略级别是 中等,像123456这些确定是过不了的),不然会提示以下错误:
ERROR 1819 (HY000): Your password does not satisfy the current policy requirements
修改为功以后咱们能够看一下mysql服务器的密码安全策略等级:SHOW VARIABLES LIKE 'validate_password%',结果以下:
7. 容许远程登陆
mysql8安装完成以后,root用户只容许本地登陆远程登陆会报错:
ERROR 1130 (HY000): Host '120.79.172.133' is not allowed to connect to this MySQL server
放开远程权限的方法是登陆以后,执行
use mysql;
update user set host = '%' where user = 'root';
flush privileges;
8. 修改密码加密方式
通过 7. 以后,发现远程仍是不能登陆,可是报错有所不一样了:
Authentication plugin 'caching_sha2_password' cannot be loaded: /usr/lib64/mysql/plugin/caching_sha2_password.so: cannot open shared object file: No such file or directory
这是由于mysql7以后,默认的密码加密方式更改了,可是你使用的客户端没有升级,不支持此种加密方式,解决方法是更改服务器加密方式为传统加密方式或者升级客户端。若是是新项目建议使用第二种,毕竟新的确定更好。若是是存量项目的数据库迁移或者升级,考虑到兼容问题和稳定性,建议使用第一种。
修改加密方式为本地登陆以后执行:
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '新密码';
至此,mysql服务已经可使用了。
9. 修改默认服务端口
mysql默认端口号是 3306。通常线上数据库,出于安全考虑,都会修改默认端口号。
9.1. 编辑“/etc/my.cnf”文件
vi /etc/my.cnf
9.2. 添加行
port=新端口;
9.3. 重启mysql服务
systemctl restart mysqld.service
完!