首页 > 数据库 > MySQL > 正文

mysql安装启动和关闭――密码重置及权限管理

2024-07-24 12:34:56
字体:
来源:转载
供稿:网友
        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;

(编辑:武林网)

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表