本文主要记录ubuntu安装mysql的方式,以及安装之后的一些配置修改,支持非root账号访问数据库
安装命令
# 执行sql安装
sudo apt install mysql-server
数据库安装完毕之后,可以直接进行启动
sudo service mysql start
启动之后,会发现需要root账号才能进行访问,在未执行任何配置的情况下在 Ubuntu 上全新安装 MySQL 后,访问服务器的用户将使用身份验证套接字 (auth_socket) 插件进行身份验证,auth_socket 的使用会阻碍服务器使用密码对用户进行身份验证。它不仅会引发安全问题,而且还会使用户无法使用外部程序(如 phpMyAdmin)访问数据库。我们需要将身份验证方法从 auth_socket 更改为使用 mysql_native_password。
sudo su
# 不需要输入密码
mysql -uroot -p
进入数据库之后,我们调整下root账号的使用姿势
-- 调整为密码方式
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'your_password';
-- 通过下面的语句进行确认
SELECT user,authentication_string,plugin,host FROM mysql.user;
-- 刷新权限
FLUSH PRIVILEGES;
上面配置完毕之后,有可能依然是无法以普通账号来连接,此时可以执行下面的方式来解决
根据连接的错误提示,找到文件 mysql.sock
所在的目录
Enter password:
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysql.sock'
将之前的目录文件干掉,然后重启数据库
sudo service mysql stop
cd /var/run/
mv mysqld mysqld.bk
sudo service mysql start
上面执行完毕之后,就可以进行非root账号访问数据库了
一灰灰的联系方式
尽信书则不如无书,以上内容,纯属一家之言,因个人能力有限,难免有疏漏和错误之处,如发现bug或者有更好的建议,欢迎批评指正,不吝感激
- 个人站点:https://blog.hhui.top
- 微博地址: 小灰灰Blog
- QQ: 一灰灰/3302797840
- 微信公众号:一灰灰blog
1 条评论
回复