[日常填坑]centos7.0+版本服务器安装mysql

 
yum install mariadb mariadb-server
(从 CentOS 7 系统开始,MariaDB 成为 yum 源中默认的数据库安装包。在 CentOS 7 及以上的系统中使用 yum 安装 MySQL 包将无法使用 MySQL。您可以选择使用完全兼容的 MariaDB)
 
启动mysql
systemctl start mariadb.service
或systemctl start mysqld.service

登录 MySQL 
show databases;
 

注意!!!
一定要删除空用户!!!
就是数据库mysql的user表里面有一个host为localhost的空用户!!!
【''@localhost】了解一下...
一定要先把已经存在了host为localhost的空用户记录删除!!!
drop user ''@localhost;
 


修改 root 密码。
输入命令:

mysql>update mysql.user set password = PASSWORD('123456') where user='root';
mysql>flush privileges;
 
 
[本地客户端连接远程服务器的mysql数据库]
问题:
mysql数据库远程连接出错"ERROR 1130: Host '' is not allowed to connect to this MySQL server"
解决方法:
改表法
很可能的原因是你的帐号不允许从远程登陆,只能在localhost。这个时候只要在localhost的那台电脑,登入mysql后,更改 "mysql" 数据库里的 "user" 表里的 "host" 项,从"localhost"改成"%"
mysql -u root -p
mysql>use mysql;
mysql>update user set host= '%' where user = 'root';
此时如果提示报错,不用管,继续往下走
mysql>flush privileges;
数据库刷新刚才的内容,为什么一定要刷新,因为操作的是系统授权表
 
 
另外可能遇到另一个问题:

在本地主机下通过Navicat连接服务器MySql的时候,提示“2003 Can't connect to mysql server on 'xxx.xxx.xxx.xxx'(10038)”

原因:服务器3306远程端口没有开放

解决:

1.首先查看端口是否打开,命令:netstat  -an|grep 3306

会显示127.0.0.1:3306,表示的是本地

2.打开mysql配置文件,命令:sudo vim /etc/mysql/my.cnf

将bind-address = 127.0.0.1注释

3.重启

再次执行netstat  -an|grep 3306,发现已经变化。

 
 

 
如何彻底卸载mysql服务?
首先第一步:yum remove mariadb mariadb-service
其次:使用rpm -qa |grep -i mysql和find / -name mysql
这两个命令查找并删除残余
不过注意:系统本身自带的已经有了
/100/mysql
/lib64/mysql
/share/mysql
这三个不用删
 

Uncharacteristic front-end development intern.
原文地址:https://www.cnblogs.com/hoanfir/p/9020797.html