MariaDB数据库管理系统是MySQL的一个分支,主要由开源社区在维护,采用GPL授权许可。开发这个分支的原因之一是:甲骨文公司收购了MySQL后,有将MySQL闭源的潜在风险,因此社区采用分支的方式来避开这个风险。MariaDB的目的是完全兼容MySQL,包括API和命令行,使之能轻松成为MySQL的代替品。CentOS 7 版本将MySQL数据库软件从默认的程序列表中移除,用mariadb代替了。
centos 7 卸载 mariadb 的正确命令
#列出所有被安装的rpm package
rpm -qa | grep mariadb
#卸载
rpm -e mariadb-libs-5.5.37-1.el7_0.x86_64
错误:依赖检测失败:
libmysqlclient.so.18()(64bit) 被 (已安裝) postfix-2:2.10.1-6.el7.x86_64 需要
libmysqlclient.so.18(libmysqlclient_18)(64bit) 被 (已安裝) postfix-2:2.10.1-6.el7.x86_64 需要
#强制卸载,因为没有--nodeps
rpm -e --nodeps mariadb-libs-5.5.56-2.el7.x86_64
mysql下载地址:https://dev.mysql.com/downloads/mysql/
下载完之后解压:tar -xf mysql-5.7.21-1.el7.x86_64.rpm-bundle.tar
解压出来的东西:
mysql相关的包
libaio-0.3.109-13.el7.x86_64.rpm 下载地址:http://mirror.centos.org/centos/6/os/x86_64/Packages/libaio-0.3.107-10.el6.x86_64.rpm
安装相互依赖的包要安装顺序安装:
rpm -ivh mysql-community-common-*.rpm
rpm -ivh mysql-community-libs-*.rpm
rpm -ivh mysql-community-client-*.rpm
rpm -ivh libaio-0.3.107-10.el6.x86_64.rpm
rpm -ivh mysql-community-server-*.rpm
安装最后一步的时候可能会提示缺少依赖net-toos和perl 使用yum install perl来安装即可。
安装完成之后要先设置一下mysql的登陆密码
首先修改/etc/my.cnf来禁用密码,通过mysql -uroot登录进去后设置新密码,然后再重启一下就可以用新密码正常登录了。
vi /etc/my.cnf 在最后一行添加skip-grant-tables 保存 退出
重启mysql:systemctl restart mysqld.service
此时即可用mysql -uroot登陆
登陆之后修改root密码:use mysql;
update user set authentication_string=password("TYU!@#ert") where user="root";//这个密码一定要设置的复杂一点 符合mysql密码强度要求 以免以后操作的时候 提示密码不符合mysql规则
最后要去vi /etc/my.cnf 将添加的skip-grant-tables 去掉
此时mysql是无法被远程连接的
firewall-cmd --zone=public --add-port=3306/tcp --permanent
firewall-cmd --reload
systemctl stop firewalld.service #停止
systemctl disable firewalld.service #禁用
最后还要允许远程连接
可以通过修改表来实现远程:
mysql -uroot -p
mysql> use mysql;
mysql> update user set host = '%' where user = 'root';
mysql> select host, user from user;
设置完之后要给root账户设置权限
grant all privileges on *.* to 'root'@'%' identified by 'TYU!@#ert' with grant option;
flush privileges;
这个时候mysql就可以被远程连接 但是 连上之后做任何操作都会提示:
ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.
mysql5.7第一次登录修改root密码
使用下面语句去修改密码:alter user 'root'@'localhost' identified by 'xxx' PASSWORD EXPIRE NEVER account unlock;
有个密码过期,你不指定,就是默认的值是default_password_lifetime指定的360天,需要注意下。
如果设置的密码过于简单会提示:ERROR 1819 (HY000): Your password does not satisfy the current policy requirements
就是密码不符合规则 密码要设置的尽量复杂 要有数字 大写字母 特殊符号等。