yum安装是最简便和稳定的安装方式,centos7默认安装的是mariadb,需要先卸载mariadb,先查看是否安装mariadb
rpm -qa | grep mariadb
如果找到,则拷贝结果,使用下面命令删除,如删除mariadb-libs-5.5.35-3.el7.x86_64
rpm -e --nodeps mariadb-libs-5.5.35-3.el7.x86_64
1.卸载 先停掉mysql进程 没有安装过的可以直接跳过
pkill -9 mysqld
rpm -qa|grep -i mysql
用命令 yum -y remove
yum -y remove mysql-community-client-5.6.38-2.el7.x86_64
卸载不掉的用 rpm -ev
依次卸载 直到没有
2.下载mysql的安装的包
cd /usr/local/src
wget -i -c http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm
yum -y install mysql57-community-release-el7-10.noarch.rpm
yum -y install mysql-community-server
然后等待安装就行,一切都是默认的
不过安装完成后,密码为随机密码,需要重置密码。
4. 启动mysql服务
service mysqld restart
#获取初始化密码 #由于mysql5.7加强了安全性的设置,root密码默认不再为空,而是通过生成随机密码。 #刚安装时死活找不到密码,网上查了很多资料也都不靠谱。折腾了好久之后在官网找到了相应的说明
[root@localhost ~]# grep "temporary password" /var/log/mysqld.log
可以看到 输入 mysql -u root -p 密码 进入 第一次登陆 ,需要重置密码 要不什么也不能操作
修改密码语句如:alter user 'root'@'localhost' identified by '123456';
出现错误
ERROR 1819 (HY000): Your password does not satisfy the current policy requirements
对于5.7版本的mysql,即可解决问题
-
set global validate_password_policy=0;
-
set global validate_password_length=1;
对于8.0版本的解决方案
如果服务器安装的是8.0版本的mysql,使用5.7的解决方案,则会出现以下报错信息
ERROR 1193 (HY000): Unknown system variable 'validate_password_policy'
ERROR 1193 (HY000): Unknown system variable 'validate_password_length'
原因:8.0版本的mysql这两个变量是不存在的,已经替换成其他的变量名了
查看8.0版本的变量名
SHOW VARIABLES LIKE 'validate_password%';
所以使用以下命令进行配置修改
-
set global validate_password.policy=0;
-
set global validate_password.length=1;
最后记得刷新权限;
flush privileges
root用户外部ip能访问,使用下面语句:
CREATE USER 'root'@'%' IDENTIFIED BY ‘'Root!!2018‘;
grant all on *.* to 'root'@'%' identified by ''Root!!2018' with grant option;
或
1、连接服务器: mysql -u root -p
2、看当前所有数据库:show databases;
3、进入mysql数据库:use mysql;
4、查看mysql数据库中所有的表:show tables;
5、查看user表中的数据:select Host, User,Password from user;
6、修改user表中的Host:update user set Host='%' where User='root';
7、最后刷新一下:flush privileges;
如果想限制只能让指定IP登录请把%替换成IP地址
常用启动命令:
systemctl restart mysqld
systemctl status mysqld