久久精品人人爽,华人av在线,亚洲性视频网站,欧美专区一二三

mysql刪除root用戶的方法是什么

141次閱讀
沒有評論

共計 3502 個字符,預計需要花費 9 分鐘才能閱讀完成。

本文丸趣 TV 小編為大家詳細介紹“mysql 刪除 root 用戶的方法是什么”,內容詳細,步驟清晰,細節處理妥當,希望這篇“mysql 刪除 root 用戶的方法是什么”文章能幫助大家解決疑惑,下面跟著丸趣 TV 小編的思路慢慢深入,一起來學習新知識吧。

mysql 刪除 root 用戶的方法:1、使用“CREATE USER”語句創建一個與 root 用戶權限一樣的用戶;2、使用“drop user”語句刪除 root 用戶,語法“DROP USER root 用戶賬號”。

本教程操作環境:windows7 系統、mysql8 版本、Dell G3 電腦。

刪除 MySQL 的默認 root 用戶

需求分析:

root 密碼在多個地方出現過, 比如分享的技術文檔, 郵件, 截圖.

MySQL 默認安裝的管理員帳號名稱 root, 眾所周知. 為了增強安全性, 需要更換一個用戶名稱, 例如換成 superuser, 或者有公司特色的. 例如 xxx_admin.

應對策略:

首先創建一個與 root 用戶權限一樣的用戶.

GRANT ALL PRIVILEGES ON *.* TO  x_admin @ 127.0.0.1  IDENTIFIED BY  xxxx

刪除默認的 root 用戶.

drop user root@ 127.0.0.1 
drop user root@ localhost 
drop user root@ ::1

用戶賬號:

格式為 user_name @ host_name。

這里的 user_name 是用戶名,host_name 為主機名,即用戶連接 MySQL 時所用主機的名字。

如果在創建的過程中,只給出了用戶名,而沒指定主機名,那么主機名默認為“%”,表示一組主機,即對所有主機開放權限。

注意問題:

1、視圖

曾經用 root 帳號為 DEFINER 的視圖, 如果將 root 刪除, 將提示該視圖無法使用, 沒有權限. 所以要注意提前查看是否存在視圖, 存在的話, 需要修改該視圖的 DEFINER 屬性.

修改視圖, 是瞬間就能完成的操作, 除非該視圖被其他 sql 語句占用, 處于鎖定的狀態.

查看視圖

select TABLE_SCHEMA, TABLE_NAME, VIEW_DEFINITION, DEFINER from information_schema.VIEWS;

修改視圖 (非 root 的暫不修改)

ALTER DEFINER=`x_admin`@`127.0.0.1` SQL SECURITY DEFINER VIEW v_name AS...

2、存儲過程 / 函數

情況與視圖類似

查看存儲過程 / 視圖

select ROUTINE_SCHEMA,ROUTINE_NAME,ROUTINE_TYPE,DEFINER from information_schema.ROUTINES;

或者

select db,name,type,definer from mysql.proc;

修改存儲例程, 可直接修改 mysql.proc

update mysql.proc set definer= x_admin@127.0.0.1where db= db_name

如果修改所有庫

update mysql.proc set definer= x_admin@127.0.0.1

2、用 root 用戶連接 MySQL 的腳本

此類問題比較好解決, 可單獨為腳本創建帳號用來執行腳本中指定的操作, 該用戶名可用 script_, 或者腳本名命名. 權限夠用就行, 不要分配過多的權限.

4、方法: 一個增加用戶的腳本.(配合批量執行)

#!/usr/bin/python
#-*- coding: UTF-8 -*-
# ########################################################################
# This program
# Version: 2.0.0 (2012-10-10)
# Authors: lianjie.ning@qunar.com
# History:
# ########################################################################
import os
import socket
import subprocess
import sys
import traceback
from ConfigParser import ConfigParser
class Finger(object):
  finger.py 
 def __init__ (self):
 print  ---- %s, %s  % (socket.gethostname(), self.__doc__)
 def load_config (self, file= finger.ini):
 if not os.path.exists(file):
 print file, is not exists, but is created, please fix it 
 temp_ini =  [conn_db]
login_pwd =
exec_sql =
 open(file,  w).write(temp_ini)
 os.chmod(file, 0600)
 sys.exit()
 config = ConfigParser()
 config.read(file)
 if config.has_section(conn_db) is True:
 if config.has_option(conn_db ,  login_pwd) is True:
 login_pwd = config.get(conn_db ,  login_pwd)
 if config.has_option(conn_db ,  exec_sql) is True:
 exec_sql = config.get(conn_db ,  exec_sql)
 return (login_pwd, exec_sql)
 def grant_user(self, login_pwd, exec_sql):
 if os.path.exists(/usr/local/bin/mysql):
 mysql =  /usr/local/bin/mysql 
 elif os.path.exists(/usr/bin/mysql):
 mysql =  /usr/bin/mysql 
 elif os.path.exists(/bin/mysql):
 mysql =  /bin/mysql 
 else:
 print  command not fount of mysql 
 sys.exit()
 user =  xxxx 
 conn_port = [3306,3307,3308,3309,3310]
 for i in conn_port:
 ss = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
 address = (127.0.0.1 , int(i))
 status = ss.connect_ex(address)
 ss.settimeout(3)
 ss.close()
 if status == 0:
 conn_mysql =  %s -u%s -p%s -h227.0.0.1 -P%d -N -s -e %s  % (mysql, user, login_pwd, i, exec_sql)
 p = subprocess.call(conn_mysql, shell=True, stdout=open( /dev/null))
 if p == 0:
 print  ---- checking port: %s is NORMAL  % i
 else:
 print  ---- checking prot: %s is ERROR  % i
if __name__ ==  __main__ :
 try:
 process = Finger()
 (login_pwd, exec_sql) = process.load_config()
 process.grant_user(login_pwd, exec_sql)
 except Exception, e:
 print str(e)
 traceback.print_exc()
 sys.exit()

讀到這里,這篇“mysql 刪除 root 用戶的方法是什么”文章已經介紹完畢,想要掌握這篇文章的知識點還需要大家自己動手實踐使用過才能領會,如果想了解更多相關內容的文章,歡迎關注丸趣 TV 行業資訊頻道。

正文完
 
丸趣
版權聲明:本站原創文章,由 丸趣 2023-07-15發表,共計3502字。
轉載說明:除特殊說明外本站除技術相關以外文章皆由網絡搜集發布,轉載請注明出處。
評論(沒有評論)
主站蜘蛛池模板: 平邑县| 白城市| 九江县| 昭平县| 普兰县| 遂昌县| 汪清县| 大厂| 镇原县| 毕节市| 烟台市| 无锡市| 大荔县| 武冈市| 开原市| 廊坊市| 南开区| 栾川县| 洪江市| 阿巴嘎旗| 浦北县| 称多县| 佛教| 罗城| 阿图什市| 固安县| 策勒县| 沙湾县| 通渭县| 北海市| 安义县| 普兰店市| 神池县| 佛学| 安陆市| 乌拉特中旗| 沅江市| 普兰店市| 白水县| 云梦县| 万山特区|