1. 安装mysql服务端与客户端
sudo apt install mysql-server mysql-client
sudo apt-get install libmysqld-dev
2. 获取用于第一次登录的用户名与密码
sudo cat /etc/mysql/debian.cnf
结果:
3. 登录mysql
以上述结果为例,输入:
mysql -u debian-sys-maint -p
然后输入密码:2QbbL4VJu5cg8TbM
4. 创建自己的用户
首先选中mysql
数据库:
use mysql;
对于创建用户,有以下几种选项(其中以%
作为通配符):
# 指定ip:123.123.123.123的用户登录
create user 'wjiaman'@'123.123.123.123' identified by '123';
# 指定ip:123.123.123.开头的用户登录
create user 'wjiaman'@'123.123.123.%' identified by '123';
# 指定任何ip的用户登录
create user 'wjiaman'@'%' identified by '123';
5. 用户授权
给自己创建的用户授权:
#查看权限
show grants for '用户'@'IP地址'
# 授予权限
#授权wjiaman用户仅对db1.t1文件有查询、插入和更新的操作
grant select ,insert,update on db1.t1 to "wjiaman"@'%';
# 表示有所有的权限,除了grant这个命令,这个命令是root才有的。wjiaman用户对db1下的t1文件有任意操作
grant all privileges on db1.t1 to "wjiaman"@'%';
# wjiaman用户对db1数据库中的文件执行任何操作
grant all privileges on db1.* to "wjiaman"@'%';
# wjiaman用户对所有数据库中文件有任何操作
grant all privileges on *.* to "wjiaman"@'%';
#取消权限
# 取消wjiaman用户对db1的t1文件的任意操作
revoke all on db1.t1 from 'wjiaman'@"%";
# 取消来wjiaman用户对数据库db1的所有表的所有权限
revoke all on db1.* from 'wjiaman'@"%";
# 取消来自远程服务器的wjiaman用户所有数据库的所有的表的权限
revoke all privileges on *.* from 'wjiaman'@'%';
修改密码:
SET PASSWORD FOR wjiaman@'%' = PASSWORD('password');
自此,就可以通过mysql -u wjiaman -p
的方式进入mysql。
6.修改数据库默认编码
mysql数据库默认的编码格式不是utf-8
,在后续项目的部署上可能会出现编码错误,以下设置mysql的默认编码,要注意的是Ubuntu18
下mysql
配置文件的位置与配置方法与其他Linux系统有些不同,照搬其他教程可能达不到预期效果。
①首先打开第一个配置文件:
sudo vim /etc/mysql/conf.d/mysql.cnf
找到[mysql]
标签,并在下方键入:
default-character-set=utf8
②再修改第二个配置文件:
sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf
找到[mysqld]
标签,在下方键入:
character-set-server=utf8
重启mysql
服务:
sudo service mysql restart
7.允许其他电脑连接
打开配置文件:
sudo vim /etc/mysql/mysql.cnf.d/mysqld.cnf
注释掉bind-address
配置项,以允许其他机器访问:
# bind-address:127.0.0.1