非转载!亲自试验可行!
服务器:阿里云服务器(ECS)
系统:CentOS 7
mysql版本:mariadb(玛丽亚),属于mysql的一个分支
0、这种服务器+系统+mysql下是没有mysqld命令的。
1、安装:yum install -y mariadb
会提示具体的安装包,按照这个名字再执行一次yum install -y mariadb-5.5.60-1.el7_5.x86_64
2、查询my.cnf文件,并编辑这个文件(为了绕过登录密码)
[mysqld]最后一行加入skip_grant_tables,保存。
重启服务systemctl restart mariadb.service(或者先stop再start)
如果提示Failed to restart mariadb.service: Unit not found,需在安装yum install -y mariadb-server才行
3、登录数据库。
两种方式:
第一种方式是命令:mysql -uroot -p回车,然后提示输入密码,直接回车即可。
然后切换数据库:use mysql;
修改密码:SET PASSWORD FOR 'root'@'localhost' = PASSWORD('123456');
刷新权限:flush privileges;
看Host字段有没有是"%",没有的话把"localhost"改为"%",这样做的目的是可以通过navicat远程连接过来。
第二种方式是直接通过navicat新建连接新来,输密码的时候随便输一个就行。
然后跟第一种方式一样修改user表和刷新权限。
4、删除my.cnf的skip_grant_tables,保存。
5.重启服务systemctl restart mariadb.service(或者先stop再start)
这样就能够使用新密码登录了。
如果还是没权限的话,可以百度下grant privileges on databasename.tablename to 'username'@'host' IDENTIFIED BY 'PASSWORD';这个我没试过,因为阿里云服务器+玛丽亚数据库+CentOS 7下不需要这一步,我只是记录下,以备不时之需。
=================以下是腾讯云安装mysql================
1.安装
yum install mariadb mariadb-server
2.启动
systemctl start mariadb.service
3.登录mysql,安装完之后默认的是无密码登录,回车即可,登录。
mysql -u root -p
4.修改root用户的密码
首先设置无用户密码登录,在/etc/my.cof文件中加入
skip-grant-tables #加入这一行
然后重启服务:
sudo systemctl restart mariadb.service
重启服务之后,登录,此时只需要运行命令
mysql
即可登录数据库,然后切换数据库
use mysql
数据库切换成功之后,可以查询一下user表看一下此时有什么用户:
select host,user,password from user;
修改密码:
UPDATE user SET Password = password ( '123456 ) WHERE User = 'root';
更新完之后刷新权限:
flush privileges;
然后删除/etc/my.cnf文件中的刚刚加上去的一行。重启服务:
sudo systemctl restart mariadb.service
使用root账号以及新设置的密码登录即可。
mysql -u root -p
5.配置远程登录
创建一个在任意ip均可以登录的root用户
insert into mysql.user(Host,User,Password) values("%","root",password("123456"));
赋予所有权限给这个用户:
grant all privileges on *.* to 'root'@'%' identified by '123456' with grant option;
然后刷新权限:
flush privileges;
这样就可以远程用root/123456登录。