欢迎光临
我们一直在努力

mysql学习5:第二章:mysql安装启动和关闭——密码重置及权限管理

 

1.1.

 

mysql数据库root密码丢失问题

 

通过添加–skip-grant-tables参数跳过权限表

#mysql -uroot -p

强制停库,先查看mysql进程号

[root@localhost mysql]# ps -ef |grep mysql

root      16762      1  0 10:18 pts/3    00:00:00 /bin/sh /usr/local/mysql/bin/mysqld_safe –datadir=/data/mysql –pid-file=/data/mysql/mysql.pid

mysql 

   18122  16762

 0 10:18 pts/3    00:00:01 /usr/local/mysql/bin/mysqld –basedir=/usr/local/mysql –datadir=/data/mysql –plugin-dir=/usr/local/mysql/lib/plugin –user=mysql –log-error=/data/mysql/error.log –open-files-limit=65535 –pid-file=/data/mysql/mysql.pid –socket=/tmp/mysql.sock –port=3306

 

kill掉mysql进程,命令如下:

[root@localhost mysql]# kill -9 18122 16762

跳过权限检查表,重启数据库;

#./mysqld_safe –defaults-file=/etc/my.cnf –skip-grant-tables &


为了安全可以这样禁止远程连接:

# mysqld_safe –skip-grant-tables –skip-networking &

重新登陆入数据库

给root用户设置新密码并授权,5.7之后,密码password用authentication_string字段代替;

# mysql

mysql>use mysql

#查看用户

mysql> select user,host from user;

mysql> update mysql.user set authentication_string=password('root') where user='root' and Host = 'localhost';

mysql>flush privileges;

修改完毕。重启

[root@localhost ~]# service mysql restart

正常启动数据库

#./mysqld_safe –defaults_file=/etc/my.cnf &

#mysql -uroot -p

然后mysql就可以连接,可正常修改用户密码

mysql> alter user 'root' identified by 'root123';

mysql> set password for 'root'@'localhost'=password('123');

 

1.2.

 

mysql数据库的连接方式

linux平台两种连接方式:1.tcp/ip连接方式;2.Socket连接

windows平台:1.name pipe;2.share memory(不考虑);

 

TCP/IP连接使用最广:

mysql -u username -p password -P port -h IP

客户端发起到实例的链接》实例检查权限表mysql.user》允许则建立链接。

 

Unix Socket连接方式不是网络协议,只能用于客户端和数据库实例在一台服务器上使用。配置文件中指定套接字文件路径:socket=/tmp/mysql.sock

连接命令:

mysql -u username -p password -S */tmp/mysql.sock

 

连接mysql的工具: sqlyog,navicat;

1.3.

 

用户权限管理

MySQL数据库中用户分为超管权限用户root和普通用户(root用户创建)。

超管权限和all privileges权限用户只能归DBA管理。

 

创建用户,尽量专库专账号,不要一个账号管理多个库。

创建用户语法:

create user username@host identified by ‘password’;

注意:主机IP避免用%,可分配一个IP段;

 

权限分类:


l

 


只读权限:只能查询,不能DML


l

 


读写权限:insert,update,delete,select

 

示例:

create user ‘erp_read’@’192.168.56.%’ identified by ‘erp123’;

grant select on erp.* to ‘erp_read’@’192.168.56.%’ identified by ‘erp123’;

flush privileges;

create user ‘erp_user’@’192.168.56.%’ identified by ‘erp456’;

grant select,insert,update,delete on erp.* to ‘erp_user’@’192.168.56.%’ identified by ‘erp456’

flush privileges;

赞(0)
【声明】:本博客不参与任何交易,也非中介,仅记录个人感兴趣的主机测评结果和优惠活动,内容均不作直接、间接、法定、约定的保证。访问本博客请务必遵守有关互联网的相关法律、规定与规则。一旦您访问本博客,即表示您已经知晓并接受了此声明通告。