在CentOS中默认安装有MariaDB,这个是MySQL的分支,但为了需要,还是要在系统中安装MySQL,而且安装完成之后可以直接覆盖掉MariaDB。
安装mysql
(由于yum源上没有mysql-server。所以必须去官网下载,这里 我们用wget命令,直接获取)
wget -i -c http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm
安装mysql的依赖包
yum -y install mysql57-community-release-el7-10.noarch.rpm
安装mysql数据库
yum -y install mysql-community-server
完成安装,重启mysql
systemctl restart mysqld
此时MySQL已经开始正常运行,不过要想进入MySQL还得先找出此时root用户的密码,通过如下命令可以在日志文件中找出密码:
grep "password" /var/log/mysqld.log
复制粘贴上边的密码进入数据库
mysql -uroot -p
输入初始密码,此时不能做任何事情,因为MySQL默认必须修改密码之后才能操作数据库修改密码命令:
ALTER USER ‘root‘@’localhost’ IDENTIFIED BY ‘123’;
解决报错
以上报错是说新设置的密码过于简单,解决方式:
//首先按照默认密码格式复杂度更改
查看MySQL完整的初始密码规则
查看MySQL完整的初始密码规则,查看的前提是必须先用ALTER USER命令更改过密码
SHOW VARIABLES LIKE 'validate_password%';
修改MySQL默认策略和密码长度
因为当前的密码太复杂不方便后期做实验,所以使用命令修改密码策略两种方式:
set global validate_password_policy=0;
set global validate_password_policy=LOW;
注:密码策略分四种
1、OFF(关闭) 2、LOW(低) 3、MEDIUM(中) 4、STRONG(强)
修改密码长度
上边改完策略之后我们在改长度
SET GLOBAL validate_password_length=4;
查看密码规则
都改完之后查看密码规则
SHOW VARIABLES LIKE 'validate_password%';
接下来就可以将刚才的复杂密码改为简单的四位的密码了;
卸载安装源自动更新
此时还有一个问题,就是因为安装了Yum Repository,以后每次yum操作都会自动更新,因为当前数据库已安装完成,所以把这个卸载掉:
yum remove mysql57-community-release.noarch
初始化数据库
mysql_secure_installation
注:执行完初始化命令后需要输入数据库root用户密码,然后默认如上截图一路回车即可。(以上截图问题也可根据自己实际情况进行选择)
开启MySQL远程访问权限 允许远程连接
登陆mysql数据库
mysql -u root -p
查看user表
use mysql
select host,user,password from user;
可以看到在user表中已创建的root用户。host字段表示登录的主机,其值可以用IP,也可用主机名,有时想用本地IP登录,那么可以将以上的Host值改为自己的Ip即可。
实现远程连接(授权法)
将host字段的值改为%就表示在任何客户端机器上能以root用户登录到mysql服务器,建议在开发时设为%。将权限改为ALL PRIVILEGES
grant all privileges on *.* to root@'%' identified by "你的密码";
flush privileges;
select host,user,password from user;
实现远程连接(改表法)
update user set host = ’%’ where user = ’root’;
Linux下彻底卸载mysql详解
使用以下命令查看当前安装mysql情况,查找以前是否装有mysql
rpm -qa|grep -i mysql
停止mysql
systemctl stop mysqld
删除
rpm -ev MySQL-client-5.5.25a-1.rhel5
如果提示依赖包错误,则使用以下命令尝试
rpm -ev MySQL-client-5.5.25a-1.rhel5 --nodeps
如果提示错误:error: %preun(xxxxxx) scriptlet failed, exit status 1
rpm -e --noscripts MySQL-client-5.5.25a-1.rhel5
查找之前老版本mysql的目录、并且删除老版本mysql的文件和库
find / -name mysql
rm -rf /var/lib/mysql
注意:卸载后/etc/my.cnf不会删除,需要进行手工删除
rm -rf /etc/my.cnf
再次查找机器是否安装mysql
rpm -qa|grep -i mysql
end 😄