序
本次操作环境为 win10+linux(vmvare),主要针对linux下安装mysql与远程登录mysql的过程操作,以方便初学者上手。
始
安装mysql
- 打开控制台,更新包列表
sudo apt update
- 查看mysql包信息
sudo apt-cache show mysql-server
- ubuntu18 适配是5.7,随后直接
sudo apt install mysql-server -y
进行下载了,结束安装部分
配置mysql
- 此时mysql是默认已帮你开启了,可以通过
service mysql status
来查看,手动开关可以service mysql start/stop/restart
- 方式可以用了,当把
mysql -uroot -p
键入,你发现事情变得有意思了,然后你就应该回来了,默认密码是多少?我也不知道,但是我们可以跳过初始密码的探究,通过sudo vi /etc/mysql/mysql.conf.d/mysqld.cnf
在39行下添加上这一行 1,这样就不用管密码了,再顺便开启远程登录,注释掉 2
创建用户
- 重启 mysql,直接键入
mysql
,进来了,气氛轻松了许多,现在我们可以通过 mysql.user 表来查看mysql管理的全部用户信息,其中用户密码 authentication_string 采用mysql自带的 password 函数处理,显然我们还是看不出来任何东西,但是我们可以自己修改这样的密码或者创建一个用户了。 - 修改密码:
update mysql.user set authentication_string = password('新密码') where user = 'root';
- 创建用户:
create user '用户名'@'%' IDENTIFIED BY '密码';
远程登录
-
完成上述步骤后,你就可以将mysql刚刚新添加上的那一行删掉了,重启mysql之后就可以登录root用户或是自己新创建的用户了,但是当我们开始测试远程登录时,发现root用户没办法登录,新创建的用户却可以访问,其中有两个问题
- 在 mysql.user 表中有一个host字段,该字段用来限制主机访问的,root下的localhost显然只能本机访问,而新创建用时的 % 则是匹配任意主机,因此可以考虑修改root用户host字段或是自行再添加一个root用户
- 可能在观察 mysql.user 表时,你已经细心的发现了root用户的中plugin字段似乎和其他的用户不一样,这是因为我们刚才在安装时并没有出现提示我们设置root密码,那mysql5.7就会给root自动设置为
auth_socket
插件,所以,我们如果要修改root的密码,同时还要修改插件为mysql_native_password
授权管理
- 完成root用户的远程登录后,一对比普通用户发现,普通用户可以看到的默认数据库只有一个,当我们需要给普通用户添加权限时,需要先使用root用户进行登录mysql,再通过
grant all privileges on 数据库名.表名 to '用户名'@'%' identified by '密码';
数据库名与表名可以通过*
代表任意名,如*.*
,更多细节可自行百度
尾
谢谢能看到这里的朋友,若文中有任何的问题,望指正,如果对你有一点点帮助,希望点个赞支持一下 bye~
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。