V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
推荐学习书目
Learn Python the Hard Way
Python Sites
PyPI - Python Package Index
http://diveintopython.org/toc/index.html
Pocoo
值得关注的项目
PyPy
Celery
Jinja2
Read the Docs
gevent
pyenv
virtualenv
Stackless Python
Beautiful Soup
结巴中文分词
Green Unicorn
Sentry
Shovel
Pyflakes
pytest
Python 编程
pep8 Checker
Styles
PEP 8
Google Python Style Guide
Code Style from The Hitchhiker's Guide
ZERO1411
V2EX  ›  Python

(百度不到)如何修改 ubuntu 下 MySQL 使用权限问题

  •  
  •   ZERO1411 · 2017-12-27 10:33:10 +08:00 · 4821 次点击
    这是一个创建于 2559 天前的主题,其中的信息可能已经有所发展或是发生改变。

    我在 ubuntu 下装的 MySQL,只能用以下方式启动: 1、sudo mysql -u root -p 2、sudo su mysql -u root -p 简而言之就是只能在 root 下运行,但是程序中的生成表和修改查询都不可能会自动用 root 模式啊 求大神指教 :T_T:

    33 条回复    2018-11-21 00:06:45 +08:00
    cominghome
        1
    cominghome  
       2017-12-27 10:35:26 +08:00
    虽然我没用过乌班图,但是你可能对启动有什么误解。
    p2pCoder
        2
    p2pCoder  
       2017-12-27 10:38:05 +08:00
    你这是在连接数据库。。。。。,不是启动
    ZERO1411
        3
    ZERO1411  
    OP
       2017-12-27 10:40:21 +08:00
    哦哦,我错了,那就是连接,就是它只能在 root 模式下连接,怎么样才能在普通模式下也能直接连接呢
    ZERO1411
        4
    ZERO1411  
    OP
       2017-12-27 10:42:47 +08:00
    @cominghome 恩恩,把启动改成连接,你知道怎么改成在普通模式下就可以直接连接吗
    ZERO1411
        5
    ZERO1411  
    OP
       2017-12-27 10:42:57 +08:00
    @p2pCoder 恩恩,把启动改成连接,你知道怎么改成在普通模式下就可以直接连接吗
    cominghome
        6
    cominghome  
       2017-12-27 10:44:22 +08:00
    @ZERO1411 你需要新建一个有登录权限的普通帐号。
    简单点来说,连接后:grant all on *.* to 'yourid'@'localhost' identified by 'yourpasswd';
    权限和允许登录的主机名灵活变动
    liuhaotian
        7
    liuhaotian  
       2017-12-27 10:45:54 +08:00 via iPhone
    这里的 root 不是系统 root,是 mysql 的 root 用户,你把 sudo 去掉不行吗?
    asen477
        8
    asen477  
       2017-12-27 10:50:55 +08:00
    给一个执行权限呢。sudo chmod +x mysql 给一个执行权限呢
    ZERO1411
        9
    ZERO1411  
    OP
       2017-12-27 10:58:57 +08:00
    @cominghome 是不是 all 后面还有一个 privileges,这个命令我试过了,但是不行
    ytlm
        10
    ytlm  
       2017-12-27 10:59:50 +08:00
    google
    cominghome
        11
    cominghome  
       2017-12-27 11:02:29 +08:00
    @ZERO1411 已经执行成功了啊。如果没有生效的话 flush privileges;刷新一下
    另外,你应该用 mysql -udell -p 登录了
    ZERO1411
        12
    ZERO1411  
    OP
       2017-12-27 11:07:57 +08:00
    @liuhaotian 去掉就 error:Access denied for user 'root'@'localhost'
    keithszc
        13
    keithszc  
       2017-12-27 11:12:20 +08:00
    ZERO1411
        14
    ZERO1411  
    OP
       2017-12-27 11:13:36 +08:00
    @asen477 sudo chmod +x mysql 回车
    chmod: 无法访问‘ mysql ’:没有那个文件或目录
    ZERO1411
        15
    ZERO1411  
    OP
       2017-12-27 11:14:17 +08:00
    @cominghome 还是不行 ::>_<::
    matsuz
        16
    matsuz  
       2017-12-27 11:24:01 +08:00
    A Basic MySQL Tutorial
    https://www.digitalocean.com/community/tutorials/a-basic-mysql-tutorial

    How To Install WordPress with LAMP on Ubuntu 16.04
    https://www.digitalocean.com/community/tutorials/how-to-install-wordpress-with-lamp-on-ubuntu-16-04

    WordPress 安装教程里面有教你怎么创建 MySQL 用户。

    MySQL 的用户系统和操作系统的用户系统完全是两套不同的系统,MySQL 的 root 不是操作系统的 root。
    littleylv
        17
    littleylv  
       2017-12-27 11:37:45 +08:00
    楼主你可能需要先了解了解 Linux,感觉很多基础你都不懂
    yearliny
        18
    yearliny  
       2017-12-27 12:00:05 +08:00 via Android
    把自己当前使用的用户,加入 MySQL 所在的用户组。
    ZERO1411
        19
    ZERO1411  
    OP
       2017-12-27 12:34:33 +08:00
    @littleylv 我是一点不懂 >_<
    cloverstd
        20
    cloverstd  
       2017-12-27 12:40:12 +08:00
    百度不到可以谷歌呀
    ZERO1411
        21
    ZERO1411  
    OP
       2017-12-27 12:47:09 +08:00
    @cloverstd 受教了
    alvinbone88
        22
    alvinbone88  
       2017-12-27 13:46:15 +08:00
    检查 /tmp/mysql.sock 的权限,估计就是当前用户没有这个文件的写权限,所以要用到 sudo
    jeremaihloo
        23
    jeremaihloo  
       2017-12-27 14:05:32 +08:00
    我估计你在什么神奇的地方做了什么神奇的操作

    我觉着,你先了解下 linux 操作系统比较好

    还有就是 mysql 的命令行连接的操作
    ZERO1411
        24
    ZERO1411  
    OP
       2017-12-27 14:28:30 +08:00
    @jeremaihloo 不是的,我真的没做什么,就用 sudo apt-get install mysql-server mysql-common 然后它就只能 sudo mysql -u root -p 这样子,反正不能直接右键打开终端然后 mysql -u root -p
    ZERO1411
        25
    ZERO1411  
    OP
       2017-12-27 14:31:35 +08:00
    @alvinbone88 咋检查
    InternetExplorer
        26
    InternetExplorer  
       2017-12-27 14:32:22 +08:00
    sudo apt-get install mysql-server mysql-common
    中间还输了什么命令?做了错事不要装傻噢🤥
    sudo mysql -u root -p
    jeremaihloo
        27
    jeremaihloo  
       2017-12-27 14:35:43 +08:00
    @ZERO1411 #25 我在想你是不是把 ubuntu root 用户密码和 mysql root 用户密码搞混了,我看你用 sudo 执行密码还输错了两次
    ZERO1411
        28
    ZERO1411  
    OP
       2017-12-27 14:36:09 +08:00
    @InternetExplorer 我发誓,我没有了,而且那边电脑我试了其他电脑,安装好 mysql,也只能加 sudo 才能连接
    ZERO1411
        29
    ZERO1411  
    OP
       2017-12-27 14:37:03 +08:00
    @jeremaihloo mysql 我装的时候没设密码,直接回车的
    InternetExplorer
        30
    InternetExplorer  
       2017-12-27 14:46:00 +08:00
    @ZERO1411
    sudo apt-get install mysql-server mysql-common
    运行完这个 mysql 服务应该不会自动启动吧
    SimonFu
        31
    SimonFu  
       2017-12-27 15:03:23 +08:00
    总感觉你那些地方存在了误解。。
    error:Access denied for user 'root'@'localhost' 这个报错是你在用 mysql 的的 root 用户去连接 mysql 的时候,因为密码或者权限的原因,被 MySQL 拒绝了,密码是 mysql 内用户的密码,而不是系统层面的用户的密码
    ZERO1411
        32
    ZERO1411  
    OP
       2017-12-27 15:48:20 +08:00
    大家说了好多,我基本上都一个个试了,但是就是不行,后来我把 MySQL 卸了然后重装,然后设置了密码(之前装的时候没设密码,直接回车的,后来设了密码),然后就可以直接 mysql -u root -p 访问了
    FrankD
        33
    FrankD  
       2018-11-21 00:06:45 +08:00
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2741 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 41ms · UTC 08:44 · PVG 16:44 · LAX 00:44 · JFK 03:44
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.