安装
apt install mysql-server
apt install mysql-client
设置用户和密码
以root身份进入mysql:mysql -u root -p
,root用户默认是不需密码的,提示输入密码的时候直接回车
现在处于在mysql状态下
- 给root用户设置密码,其中
'localhost'
表示只允许root本地访问数据库,不能远程访问
mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' IDENTIFIED BY '[password]';
mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| performance_schema |
| sys |
+--------------------+
4 rows in set (0.00 sec)
- 新建一个用户并设置密码,
*.*
表示所有数据库(如果是[数据库名].*
表示仅对该数据库有权限),dbuser
为新建用户名,'%'
代表所有主机可以访问
mysql> GRANT ALL PRIVILEGES ON *.* TO 'dbuser'@'%' IDENTIFIED BY '[password]';
mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
+--------------------+
1 row in set (0.00 sec)
由于权限不同,新建的用户只能看到1个数据表,而root可以看到4个
客户端连接
- 使用mysql官方的客户端工具:workbench
- 安装完成后,依次点击菜单:
Database
->Connect to Database
,输入相应信息进行连接: - 此时会提示连接失败,因为要允许远程客户端访问,在服务器端还要修改mysql的配置文件:
/etc/mysql/mysql.conf.d/mysqld.cnf
,将bind-address
的值修改为0.0.0.0
,然后重启mysql服务:service mysql restart
- 客户端重新连接mysql,成功!
设置字符集utf8mb4
utf8使用3个字节存储字符,而现在很多东西比如emoji标签,是需要4个字节来存储的,因此utf8有的时候会不适合,需要改成utf8mb4,兼容utf8,且有4个字节的存储空间
- 查看目前数据库的字符集设置信息
进入mysql,输入命令:
SHOW VARIABLES WHERE Variable_name LIKE 'character\_set\_%' OR Variable_name LIKE 'collation%';
字符集为utf8:
- 修改配置文件:
打开配置文件:/etc/mysql/mysql.conf.d/mysqld.cnf
新添加以下内容:
再找到[client] default-character-set = utf8mb4 [mysql] default-character-set = utf8mb4
[mysqld]
项,添加下面的内容:[mysqld] ... character-set-client-handshake = FALSE character-set-server = utf8mb4 collation-server = utf8mb4_unicode_ci init_connect='SET NAMES utf8mb4'
- 查看修改后的字符集设置信息:
重启mysql服务,然后再次进入mysql运行命令,可以看到字符集编码已经修改为utf8mb4:
SHOW VARIABLES WHERE Variable_name LIKE 'character\_set\_%' OR Variable_name LIKE 'collation%';