Linux下第一次使用MySQL数据库,设置密码授权

2018-11-29  本文已影响0人  猿始人723

首先安装wget命令:

1. 下载mysql的repo源

$  wget http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm

2. 安装mysql-community-release-el7-5.noarch.rpm包

$ sudo rpm -ivh mysql-community-release-el7-5.noarch.rpm

安装这个包后,会获得两个mysql的yum repo源:/etc/yum.repos.d/mysql-community.repo,/etc/yum.repos.d/mysql-community-source.repo。

3. 安装mysql

$ sudo yum install mysql-server

安装成功后如图

根据步骤安装就可以了,不过安装完成后,没有密码,需要重置密码。

mysql -u root 

选择数据库:use mysql;

修改密码:UPDATE user SET password=PASSWORD('123456') WHERE user='root';

刷新:flush privileges;

退出:exit;这样就完成了。


完美解决MySQL Access denied for user 'root'@'IP地址' 授权问题

1、mysql -u root -p 登陆进MYSQL;

2、执行以下命令:

GRANT ALL PRIVILEGES ON *.* TO 'your name'@'%' IDENTIFIED BY 'your password' WITH GRANT OPTION;

FLUSH PRIVILEGES;

3、exit;

4、如果此时还无法连接,检测配置文件(/etc/mysql/mysql.conf.d/mysqld.cnf) bind-address配置是否开启,应该是关闭

#bind-address = 127.0.0.1 注释掉;

5、重启mysql:/etc/init.d/mysql restart;

用户相关:

查看全部的用户:

SELECT DISTINCT CONCAT('User: ''',user,'''@''',host,''';') AS query FROM mysql.user;

新建用户:

创建新用户,如创新名字为‘pzsh’,密码为'q1w2'的人:

CREATE USER 'dog'@'localhost' IDENTIFIED BY '123456'; 

解释:(localhost代表只允许本地访问,改成'%'的话,%这里表示的是允许任意host访问,也就是外网可以访问。后面的q1w2是设置的密码)

为用户授权:

格式:

grant 权限 on 数据库.* to username@登录主机 identified by "password";

演示样例:

grant all privileges on testDB.* to test@localhost identified by '1234';

然后须要运行刷新权限的命令:

flush privileges;

为用户授予部分权限:

grant select,update on testDB.* to test@localhost identified by '1234';

授予一个用户全部数据库的某些权限:

grant select,delete,update,create,drop on *.* to test@"%" identified by "1234";

删除用户:

Delete FROM user Where User='test' and Host='localhost';

然后刷新权限;

删除账户及权限:>drop user username@'%';

>drop user username@ localhost; 

解释:(create,insert代表该用户只有新增和创建权限,user.*代表该数据库下的所有表,'user'@'%'代表该数据库可以被外网访问。)

如果是需要增删改查权限的话,GRANT all ON user.* TO 'user'@'%';即可。

改动指定用户password

使用root登录:

mysql -u root -p

运行命令:

update mysql.user set password=password('新密码') where User="test" and Host="localhost";

刷新权限:

flush privileges;

还有就是mysql的3306端口需要开启,请先查询你的服务器端口,看看3306是否开启:

netstat -nuplf|grep 3306 (PS:这个表示查找处于监听状态的,端口号为3306的进程)

netstat -ntlp   //查看当前所有tcp端口·

如果你的服务器没有开启3306端口,且有iptables服务的话,请执行一下命令:

1、打开防火墙配置文件

vi  /etc/sysconfig/iptables

2、增加下面一行

-A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT

3、重启防火墙

service  iptables restart

注意:如果是从阿里云买的服务器,那么是没有iptables服务的,请看这里:

(1)进入服务器该页面,选择更多,找到安全组

(2)选择配置规则--》添加安全规则,例如:

(3)最终配置成这样就可以了:

5、以上配置完成后,就可以通过phpmyadmin连接该数据库了。

进入本地phpmyadmin的页面,找到配置文件:config.inc.php,然后修改主机名,数据库名称,用户密码等即可。

PS:ipconfig:既可以查看服务器的IP,也可以通过cmd查看本机的IP,挺好的。。。

上一篇下一篇

猜你喜欢

热点阅读