赞
踩
sudo apt install mysql-server
sudo mysql -u root -p
两点要注意:
添加sudo;
password中,任意密码都能登录
如果第一次登录后,直接退出,没有修改密码,再次登录时,需要使用默认的用户名密码
使用命令查看
sudo cat /etc/mysql/debian.cnf
mysql -udebian-sys-maint -pverR8tlQ4LXMV5aP
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '123456';
mysql8.0以后的版本没有了password()加密函数
类似这种:
update mysql.user set authentication_string=password(‘123456’) where user='root’就用不了了
这里是将mysql.user表中的root对应的密码修改了,密码加密方式改成了传统的mysql_native_password
flush privileges;
刷新mysql系统权限相关表
sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf
将bind-address = 127.0.0.1注释掉,或者改成允许连接的IP地址
查看用户
use mysql;
select user, host,authentication_string, plugin from user;
删除用户
delete from user where user=‘test1’;
创建用户
CREATE USER ‘root’@‘localhost’ IDENTIFIED WITH mysql_native_password BY ‘123456’;
update user set host='%' where user='root' and host='localhost';
flush privileges;
%用来指定访问主机
或者在mysql.user表中增加一个用户,授予所有权限,包括远程访问
例如:给root授予在任意主机(%)访问任意数据库的所有权限
grant all privileges on *.* to 'root'@'%' identified by '123456' with grant option;
如果需要指定访问主机,可以把%改为主机IP。
例如:
grant all privileges on test1.* to 'root'@'192.168.125.6' identified by '123456' with grant option;
即:允许ip地址为192.168.125.6的电脑,以root身份,密码为123456来访问数据库test1下所有的表
需要注意的是,上面的用法,适用于MySQL 5.7,在MySQL8.0版本的,需要使用以下方式执行赋权
mysql> create user test@‘localhost’ identified by ‘123456’;
mysql> grant all privileges on test.* to ‘test’@‘localhost’;
mysql> flush privileges;
不要使用,如果没有备份,删除发生故障都恢复不了
sudo rm -rf /var/lib/mysql/
sudo rm -rf /etc/mysql/
sudo apt-get autoremove mysql* --purge -y
查看安装的mysql有哪些
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。