好记性不如烂笔头
我使用 oneinstack 在服务器搭设的环境,安装的mysql8.0;
服务器系统 | CentOS Linux release 7.3.1611 (Core) |
mysql | 8.0.13 MySQL |
操作工具 | xshell |
xshell
1、远程授权
8.0 以前的
# mysql -uroot -p
MySQL [(none)]> grant all privileges on *.* to mysql_root@'%'identified by 'mysql_pass'; #创建用户授权所有的数据库
MySQL [(none)]> flush privileges;
MySQL [(none)]> exit; #退出数据库控制台,特别注意有分号
8.0 以后的
MySQL [(none)]> CREATE USER 'mysql_root'@'%' IDENTIFIED BY 'mysql_pass';
Query OK, 0 rows affected (0.00 sec)
MySQL [(none)]> GRANT ALL PRIVILEGES ON *.* TO 'mysql_root'@'%' WITH GRANT OPTION;
Query OK, 0 rows affected (0.00 sec)
MySQL [(none)]> flush privileges;
Query OK, 0 rows affected (0.01 sec)
2 查看所有用户:
MySQL [(none)]> select user,host from mysql.user;
3、 查看某个用户的权限:
MySQL [(none)]> show grants for 'root'@'localhost';
4、删除用户:
drop user mysql_root@'%';
5、数据库编码
MySQL 的 utf8 不是真正的 UTF-8 编码,“utf8”编码只支持每个字符最多三个字节,而真正的 UTF-8 是每个字符最多四个字节。MySQL 的“utf8mb4”才是真正的“UTF-8”!!!
客户端
IDEA -database
使用idea的数据库工具连接报错:
Connection to 152.136.31.155:3306 failed.
[08001] Could not create connection to database server. Attempted reconnect 3 times. Giving up.
原因: mysql8.x的jdbc升级了,增加了时区(serverTimezone)属性,并且不允许为空。
官方文档---跳转
解决方法:在url 上添加serverTimezone 属性