安装 mysql
一开始直接用的命令
sudo apt-get install mysql-server
然后就入坑了,用 mysqlworkbench 怎么都连接不上数据库.
- 首先用命令下载发行包
wget https://dev.mysql.com/get/mysql-apt-config_0.8.12-1_all.deb
- 然后安装
sudo dpkg -i mysql-apt-config_0.8.12-1_all.deb
- 对中间的有一个弹窗,第一个选成 8.0,然后到最后选择 ok
- 提示设置密码(也有可能没有)
- 有一个加密方式,选第二个
- 使用以下命令从MySQL APT存储库更新包信息(此步骤是必需的):
sudo apt-get update
- 查看安装成功
mysql -u root -p
- 显示版本没问题就ok了
然后就是我遇到的问题:
问题一,普通用户不能进mysql:
~$ mysql -u root -p
Enter password:
ERROR 1698 (28000): Access denied for user ‘root’@‘localhost’
问题二,su root ,直接用root权限登录就不用密码:
~&su root
~$ mysql
Success!
解决步骤:
停止mysql服务
~$ sudo service mysql stop
以安全模式启动MySQL
~$ sudo mysqld_safe --skip-grant-tables &
MySQL启动之后就可以不用密码登陆了
~$ mysql -u root
然后在 mysql 里面查看用户表
mysql> select user, plugin from mysql.user;
错误原因是因为 plugin root 的字段是auth_socket 改掉就行,同时更改密码:
update user set authentication_string =password('你的密码'),plugin='msyql_native_password' where user='root'
似乎 mysql8.0的更改密码方式变了,可以这样试试:
ALTER user 'root'@'localhost' IDENTIFIED BY 'newpassward' ;
安装 mysql workbench
sudo apt-get install mysql-workbench
然后就可以打开并连接上
Ubuntu 18.04.4 LTS彻底删除MySQL数据库
dpkg --list|grep mysql //首先在终端中查看MySQL的依赖项
卸载
sudo apt-get remove mysql-common
sudo apt-get autoremove --purge mysql-server-5.7
清除残留数据:dpkg -l|grep ^rc|awk ‘{print$2}’|sudo xargs dpkg -P
再次查看MySQL的剩余依赖项:dpkg --list|grep mysql
继续删除剩余依赖项,如:sudo apt-get autoremove --purge mysql-apt-config