Mysql使用的是阿里云系统镜像,直接有5.7的版本。
在root目录下readmo文件中有root用户登陆密码。
创建普通用户
登陆之后创建一个用户,授予这个用户项目数据库的权限
CREATE USER 'user_name'@'host' IDENTIFIED BY 'password';
user_name:要创建用户的名字。
host:表示要这个新创建的用户允许从哪台机登陆,如果只允许从本机登陆,
则 填 ‘localhost’ ,如果允许从远程登陆,则填 ‘%’
password:新创建用户的登陆数据库密码,如果没密码可以不写。
这里5.7版本要求密码有一定的强度。要有大小写字母,数字,特殊符号
SHOW VARIABLES LIKE 'validate_password%';
validate_password_dictionary_file // 插件用于验证密码强度的字典文件路径
validate_password_length // 密码最小长度
validate_password_mixed_case_count // 密码至少要包含大小写字母个数
validate_password_number_count // 密码至少要包含数字个数
validate_password_policy // 密码强度检查等级
0 = low 检查强度
1 = medium 检查长度,数字,大小写和特殊字符
2 = strong 检查长度,数字,大小写,特殊字符和字典文件
set global validate_password_policy=0;
set global validate_password_mixed_case_count=0;
set global validate_password_number_count=3;
set global validate_password_special_char_count=0;
set global validate_password_length=3;
不要设置密码为root、123456.
set global validate_password_policy=LOW;
授予权限
GRANT privileges ON databasename.tablename TO ‘username’@‘host’
privileges:表示要授予什么权力,例如可以有 select , insert ,delete,update等,如果要授予全部权力,则填 ALL
databasename.tablename:表示用户的权限能用在哪个库的哪个表中,如果想要用户的权限很作用于所有的数据库所有的表,
则填 *.*,*是一个通配符,表示全部。
’username‘@‘host’:表示授权给哪个用户。
授予远程连接此用户权限
登入mysql后,更改 "mysql" 数据库里的 "user" 表里的 "host" 项,从"localhost"改称"%"
mysql -u root -pvmware
use mysql;
update user set host = '%' where user = 'root';
select host, user from user;
flush privileges;
更新用户密码
use mysql;
update user set authentication_string=password('root') where user='root';
flush privileges;
```
# 开放3306端口
```
firewall-cmd --zone=public --add-port=3306/tcp --permanent
重启防火墙: systemctl restart firewalld.service
查看通过的端口:firewall-cmd --zone=public --list-ports
```
# 解决中文乱码
/etc/my.cnf
```
# For advice on how to change settings please see
# http://dev.mysql.com/doc/refman/5.7/en/server-configuration-defaults.html
[mysqld]
# 添加这句
character-set-server=utf8
#
# Remove leading # and set to the amount of RAM for the most important data
# cache in MySQL. Start at 70% of total RAM for dedicated server, else 10%.
# innodb_buffer_pool_size = 128M
#
# Remove leading # to turn on a very important data integrity option: logging
# changes to the binary log between backups.
# log_bin
#
# Remove leading # to set options mainly useful for reporting servers.
# The server defaults are faster for transactions and fast SELECTs.
# Adjust sizes as needed, experiment to find the optimal values.
# join_buffer_size = 128M
# sort_buffer_size = 2M
# read_rnd_buffer_size = 2M
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
```