转:https://www.cnblogs.com/luckyang/p/13853763.html
一丶卸载CentOS7系统中默认的数据库mariadb
原因一:ps原作者的话介绍下背景:CentOS 7 版本将MySQL数据库软件从默认的程序列表中移除,用MariaDB代替了,MariaDB数据库管理系统是MySQL的一个分支,主要由开源社区在维护,采用GPL授权许可。开发这个分支的原因之一是:甲骨文公司收购了MySQL后,有将MySQL闭源的潜在风险,因此社区采用分支的方式来避开这个风险。MariaDB的目的是完全兼容MySQL,包括API和命令行,使之能轻松成为MySQL的代替品。
原因解释二:以前的Linux系统中数据库大部分是mysql,不过自从被sun收购之后,就没用集成在centos这些开源Linux系统中了,那么如果想用的话就需要自己安装了,首先centos7 已经不支持mysql,因为收费了你懂得,所以内部集成了mariadb,而安装mysql的话会和mariadb的文件冲突,所以需要先卸载掉mariadb。
1 $ yum list installed | grep mariadb #检查mariadb是否安装
2 卸载命令一:$ yum -y remove mariadb*
二丶安装Mysql
1.下载Mysql
下载地址:https://dev.mysql.com/downloads/mysql/
Select Version: 5.7.32
Select Operating System: Red Hat Enterprise Linux / Oracle Linux
Select OS Version: All
下载下方 Red Hat Enterprise Linux 7 / Oracle Linux 7 (x86, 64-bit), RPM Bundle (mysql-5.7.32-1.el7.x86_64.rpm-bundle.tar)
2.将下载的mysql-5.7.32-1.el7.x86_64.rpm-bundle.tar文件放到/usr/local/mysql目录
2.1切换到/usr/local/mysql的当前目录
2.2解压压缩文件
命令如下:
1 $ tar -xf mysql-5.7.32-1.el7.x86_64.rpm-bundle.tar
解压后你会看到有10个rpm包
mysql-community-client(*客户端程序和工具)
mysql-community-server(*服务器程序和工具)
mysql-community-libs(*LIB库)
mysql-community-libs-compat(*LIB共享兼容库)
mysql-community-common(*公共文件)
mysql-community-devel(开发MySQL必备的头文件和库)
mysql-community-embedded(嵌入式库)
mysql-community-embedded-compat(嵌入式共享兼容库)
mysql-community-embedded-devel(嵌入式开发库)
mysql-community-test(测试套件)
2.3通过rpm方式安装(ps记得在当前目录, 只安装必备包及其部分包)
命令如下:
-ivh解释
-i 安装软件包 -v 可视化,提供更多的详细信息的输出 -h 显示安装进度
rpm -ivh mysql-community-common-5.7.32-1.el7.x86_64.rpm
rpm -ivh mysql-community-libs-5.7.32-1.el7.x86_64.rpm
rpm -ivh mysql-community-libs-compat-5.7.32-1.el7.x86_64.rpm
rpm -ivh mysql-community-devel-5.7.32-1.el7.x86_64.rpm
rpm -ivh mysql-community-client-5.7.32-1.el7.x86_64.rpm
rpm -ivh mysql-community-server-5.7.32-1.el7.x86_64.rpm
rpm -ivh mysql-community-embedded-compat-5.7.32-1.el7.x86_64.rpm
安装结束后会在Linux中的各种目录生成必要的文件,如下表
到现在为止,CentOS 7 安装MySQL 5.7.32已经安装结束。
.tar.gz的安装方式中的, 比如添加mysql用户及mysql用户组等操作才需要额外设置的
这里RPM安装包自动把这些都设置好了, 所以推荐rpm安装方式, 可以大幅度减少操作.
3.初始化数据库, 启动mysql,设置开机自启
初始化数据库命令如下:
mysqld --defaults-file=/etc/my.cnf --initialize-insecure --user=mysql
启动mysql:
systemctl start mysqld.service
设置为自动启动
systemctl enable mysqld
三丶测试数据库安装是否成功
1.查询默认生成的数据库密码
如下: #D#<Psahb3Gq就是密码:
[root@VM_0_10_centos mysql]# grep 'temporary password' /var/log/mysqld.log
2020-10-20T04:42:25.145990Z 1 [Note] A temporary password is generated for root@localhost: #D#<Psahb3Gq
2.登录MYSQL(输入密码的时候是没有显示的, ssh工具一般支持赋值粘贴,可以考虑复制)
mysql -u root -p
3.修改MYSQL密码
注意: 可能出现的情况
1.密码要大于8位才能修改成功
2.可以考虑设置为符合要求的密码,或者修改密码策略
修改密码策略
mysql> set global validate_password_special_char_count=0; 参数是密码中非英文数字等特殊字符的个数,当密码策略是MEDIUM或以上时生效。
mysql> set global validate_password_length=6 参数是密码的长度
mysql> set global validate_password_mixed_case_count=0; 参数是密码中英文字符大小写的个数,当密码策略是MEDIUM或以上时生效。
mysql> set global validate_password_number_count=0; 参数是密码中至少含有的数字个数,当密码策略是MEDIUM或以上时生效。
mysql> set global validate_password_policy=0; 这个参数可以设为0、1、2,分别代表从低到高的密码强度,此参数的默认值为1,如果想将密码强度改弱,则更改此参数为0。
修改密码的三个方式(任选其一即可): 在123456处填入你要修改的密码
方式1: ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '123456';
方式2: SET PASSWORD FOR 'root'@'localhost' = PASSWORD('123456');
方式3: mysql> use mysql;
mysql> UPDATE user SET Password = PASSWORD('123456') WHERE user = 'root';
mysql> FLUSH PRIVILEGES;
exit退出mysql,再使用新密码登录
4.远程访问Mysql授权设置
刷新权限 FLUSH PRIVILEGES; 使修改立即生效.
mysql> use mysql;
mysql> UPDATE user SET host = '%' WHERE user = 'root';
mysql> FLUSH PRIVILEGES;
这个时候, 你就可以通过其它的电脑使用数据库操作软件远程连接你服务器的数据库了