GVKun编程网logo

mysql 清理用户权限(mysql 删除用户权限)

4

在本文中,我们将带你了解mysql清理用户权限在这篇文章中,我们将为您详细介绍mysql清理用户权限的方方面面,并解答mysql删除用户权限常见的疑惑,同时我们还将给您一些技巧,以帮助您实现更有效的C

在本文中,我们将带你了解mysql 清理用户权限在这篇文章中,我们将为您详细介绍mysql 清理用户权限的方方面面,并解答mysql 删除用户权限常见的疑惑,同时我们还将给您一些技巧,以帮助您实现更有效的Can''t connect to local MySQL server through socket ''/opt/lampp/var/mysql/mysql.sock'' (2)、Can''t connect to local MySQL server through socket ''/var/lib/mysql/mysql.sock''、CentOS yum安装mysql后 Can’t connect to local MySQL server through socket ‘/var/lib/mysql/mysql.sock’、centos7 设置 mysql 自启动的配置文件中 [Service] User=mysql Group=mysql,user 和 group 这边的 mysql 是指的什么?centos 的登录用户名?

本文目录一览:

mysql 清理用户权限(mysql 删除用户权限)

mysql 清理用户权限(mysql 删除用户权限)

1、mysql 数据库地址文件格式

db:test  10.10.10.10  10.10.10.11

db:profile  10.10.10.12:3306   10.10.10.13:3307

 

2、脚本内容

#!/usr/bin/env python
#_*_coding:utf-8_*_
#user = liuzilong
#email = liuzilong@jiayuan.com
#time = 2019-04-10

import sys,os
import MySQLdb
import re
import time
import logging

#需要排除的 db 组
db_name_list = [''db:master'',''db:lvs'']

#数据库配置文件列表
file_list = [''/root/cron/db_list.txt'',''/root/cron/baihe_db_list.txt'']

#数据库清理权限备份文件
d_time = time.strftime(''%Y%m%d_%H_%M_%S'',time.localtime(time.time()))
bk_file = ''/home/mysql/bk/priv_%s.txt'' % (d_time)

#执行日志记录
# 第一步,创建一个 logger
logger = logging.getLogger(''priv_delete'')
logger.setLevel (logging.DEBUG) # Log 等级总开关
# 第二步,创建一个 handler,用于写入日志文件
logfile = ''/home/mysql/bk/db_priv_delete.log''
fh = logging.FileHandler(logfile)
fh.setLevel (logging.DEBUG) # 输出到 file 的 log 等级的开关
# 第三步,定义 handler 的输出格式
formatter = logging.Formatter("%(asctime)s - %(filename)s[line:%(lineno)d] - %(levelname)s: %(message)s")
fh.setFormatter(formatter)
# 第四步,将 logger 添加到 handler 里面
logger.addHandler(fh)

#定义清理权限类
class Priv_Delete(object):
#初始化,获取数据库 ip 和端口
def __init__(self):
ip_port = {}
db_list = []
for file in file_list:
try:
f = open(file,''r'')
db_list += f.readlines()
f.close()
except Exception as e:
logger.error("No such file or directory: %s " % (file))
for ip in db_list:
db_name = ip.split()[0]
if db_name not in db_name_list:
for i in range(1,len(ip.split())):
try:
ip_port[ip.split()[i].split('':'')[0]] = int(ip.split()[i].split('':'')[1])
except Exception as e :
ip_port[ip.split()[i].split('':'')[0]] = 3306
self.ip_port = ip_port

#创建数据库连接
def conn_db(self,ip,port):
ret = {}
db_host = ip
db_port = port
db_user = ''sg''
db_passwd = ''sg109504''
db_name = ''''
try:
conn = MySQLdb.connect(host=db_host,port=db_port,user=db_user,passwd=db_passwd,db=db_name,charset=''utf8'',connect_timeout=10)
return conn
except Exception as e:
logger.error("attempt connection database %s faild!" % (ip))
return None

#定义清理权限方法
def priv_delete(self,hostlist):
#打开权限备份文件
bk_f = open(bk_file,''a+'')
for k,v in self.ip_port.items():
db_ip = k
db_port = v
logger.info("Current operational database address is %s:%s" % (db_ip,db_port))
conn = self.conn_db(db_ip,db_port)
if conn:
cursor = conn.cursor()
ip_str = ''"'' + ''","''.join(hostlist) + ''"''
valid_s = "select user,host from mysql.user where host in (%s);" % (ip_str)
cursor.execute(valid_s)
rs = cursor.fetchall()
if len(rs) > 0:
bk_f.write(db_ip + '':'' + str(db_port) + ''\n'')
cursor.execute("set sql_log_bin=0;")
for host_ip in hostlist:
logger.info(''current remove privilege ip is %s'' % (host_ip))
get_priv_cmd = ''select user from mysql.user where host="%s" '' % (host_ip)
cursor.execute(get_priv_cmd)
result = cursor.fetchall()
for row in result:
name = row[0]
logger.info(''current remove privilege user is %s@%s'' % (name,host_ip))
if name:
get_db_version = ''select version();''
cursor.execute(get_db_version)
result = cursor.fetchone()[0]
st_list = []
if result.startswith(''5.7''):
get_priv = ''show grants for %s@%s'' % (name,host_ip)
get_pwd = "select authentication_string from mysql.user where user=''%s'' and host=''%s''" % (name,host_ip)
cursor.execute(get_pwd)
pwd = cursor.fetchone()[0]
cursor.execute(get_priv)
result = cursor.fetchall()
for row in result:
s = " IDENTIFIED BY PASSWORD %s" % (pwd)
s = row[0] + s
st_list.append(s)
st = '';\n''.join(st_list) + '';\n''
bk_f.write(st)
else:
get_priv = ''show grants for %s@%s'' % (name,host_ip)
cursor.execute(get_priv)
result = cursor.fetchall()
for row in result:
st_list.append(row[0])
st = '';\n''.join(st_list) + '';\n''
bk_f.write(st)
try:
#remove_priv_cmd = ''drop user %s@%s '' % (name,host_ip)
#cursor.execute(remove_priv_cmd)
logger.info(''current user %s@%s remove privilege complete!'' % (name,host_ip))
except Exception as e:
logger.error(''current user %s@%s remove privilege faild!'' % (name,host_ip))
cursor.close()
else:
cursor.close()
bk_f.close()
def usage(self):
print "Usage:"
print ""
print "删除主机授权"
print ""
print " remove_priv ip <ip address>"
print ""
print " eg: remove_priv ip 10.10.10.10 10.10.10.11"
if __name__ == "__main__":
privobj = Priv_Delete()
if len(sys.argv) < 2:
privobj.usage()
else:
hostlist = list(sys.argv[1:])
privobj.priv_delete(hostlist)

 

Can''t connect to local MySQL server through socket ''/opt/lampp/var/mysql/mysql.sock'' (2)

Can''t connect to local MySQL server through socket ''/opt/lampp/var/mysql/mysql.sock'' (2)

ERROR 2002 (HY000): Can''t connect to local MySQL server through socket ''/opt/lampp/var/mysql/mysql.sock'' (2)

 

 

 

原因:系统盘满了

[root@localhost opt]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/VolGroup-lv_root
18G 17G 0 100% /
tmpfs 504M 0 504M 0% /dev/shm
/dev/sda1 477M 80M 372M 18% /boot
[root@localhost opt]#

解决:

删除大文件后,重启系统解决

 

 

[root@localhost mysql]# /opt/lampp/lampp status
Version: XAMPP for Linux 1.8.3-3
Apache is not running.
MySQL is not running.
ProFTPD is running.

 

df: 未处理文件系统
[root@localhost opt]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/VolGroup-lv_root
18G 17G 0 100% /
tmpfs 504M 0 504M 0% /dev/shm
/dev/sda1 477M 80M 372M 18% /boot
[root@localhost opt]#

 

 

[root@localhost ~]# /opt/lampp/lampp status
Version: XAMPP for Linux 1.8.3-3
Apache is not running.
MySQL is running.
ProFTPD is running.

 

 

 

xampp 无法启动mysql 找不到mysql.sock

  (2016-02-24 23:21:24)
转载
  分类: 技术
出现的问题:
如果xampp中的mysql启动不了,出现ERROR 2002 (HY000): Can''t connect to local MySQL server through socket ''/opt/lampp/var/mysql/mysql.sock'' (2)报错,
停止xampp的时候报:
-bash-4.1# /opt/lampp/lampp stop
Stopping XAMPP for Linux 1.8.2-6...
XAMPP: Stopping Apache...ok.
XAMPP: Stopping MySQL...ok.
XAMPP: Stopping ProFTPD...kill: usage: kill [-s sigspec | -n signum | -sigspec] pid | jobspec ... or kill -l [sigspec]
fail.

解决办法:
如果网上一些方法不好用的话,可以试试以下方法:
1. 确定系统盘是否满了
#df -h
2. 删除/opt/lampp目录中的pid文件(删掉后xampp重启时会重建,如果不放心,可以先备份lampp目录)
删除mysql相关缓存:
#rm -rf /opt/lampp/var/mysql/VM_*  
删除proftp相关缓存:
#rm -rf /opt/lampp/var/proftpd.pid
如果找不到pid文件,可以搜一下:
#find /opt/lampp -name ''*.pid''

 

Can''t connect to local MySQL server through socket ''/var/lib/mysql/mysql.sock''

Can''t connect to local MySQL server through socket ''/var/lib/mysql/mysql.sock''

MySQL已经被我移到数据盘了,本地连接数据库会报错:Can''t connect to local MySQL server through socket ''/var/lib/mysql/mysql.sock''

但是远程是可以连接的,my.cnf设置mysql的根目录也改成了数据盘的地址,还要在加上client的参数,设置如下:

[client]
socket = /home/data/mysql/mysql.sock

之后重启下mysql就可以了

CentOS yum安装mysql后 Can’t connect to local MySQL server through socket ‘/var/lib/mysql/mysql.sock’

CentOS yum安装mysql后 Can’t connect to local MySQL server through socket ‘/var/lib/mysql/mysql.sock’

亲,是不是忘记了开MysqL服务,service MysqLd start

centos7 设置 mysql 自启动的配置文件中 [Service] User=mysql Group=mysql,user 和 group 这边的 mysql 是指的什么?centos 的登录用户名?

centos7 设置 mysql 自启动的配置文件中 [Service] User=mysql Group=mysql,user 和 group 这边的 mysql 是指的什么?centos 的登录用户名?

centos7 设置 mysql 自启动的配置文件中

[Unit]
Description=MySQL Server
Documentation=man:mysqld(8)
Documentation=http://dev.mysql.com/doc/refman/en/using-systemd.html
After=network.target
After=syslog.target

[Install]
WantedBy=multi-user.target

[Service]
User=mysql
Group=mysql
ExecStart=/usr/local/mysql/bin/mysqld --defaults-file=/etc/my.cnf
LimitNOFILE = 5000
#Restart=on-failure
#RestartPreventExitStatus=1
#PrivateTmp=false

这里的

[Service]

User=mysql

Group=mysql,

user 和 group 这边的 mysql 是指的什么?centos 的登录用户名?还是其他呢?

今天关于mysql 清理用户权限mysql 删除用户权限的介绍到此结束,谢谢您的阅读,有关Can''t connect to local MySQL server through socket ''/opt/lampp/var/mysql/mysql.sock'' (2)、Can''t connect to local MySQL server through socket ''/var/lib/mysql/mysql.sock''、CentOS yum安装mysql后 Can’t connect to local MySQL server through socket ‘/var/lib/mysql/mysql.sock’、centos7 设置 mysql 自启动的配置文件中 [Service] User=mysql Group=mysql,user 和 group 这边的 mysql 是指的什么?centos 的登录用户名?等更多相关知识的信息可以在本站进行查询。

本文标签: