官网下载安装包并上传至服务器
安装所需依赖包
解压缩
tar -xvf mysql-5.7.28-1.el7.x86_64.rpm-bundle.tar
使用rpm命令或yum命令进行安装
yum install ./mysql-community-{client,server,common,libs}-*
若出现如下错误可采取卸载mariadb-devel的方法卸载mariadb-devel
启动服务
常用操作
systemctl start mysqld 启动mysql
systemctl stop mysqld 停止mysql
systemctl restart mysqld 重新启动mysql
systemctl status mysqld 查看mysql状态
systemctl enable mysqld mysql开机自启
systemctl disable mysqld mysql开机不启动
登录mysql并修改密码
获取生成的随机密码
登录(输入生成的随机密码登录)
修改新密码
mysql默认密码复杂度规则(mysql5.6.6及以后的版本使用validate_password进行密码强度验证)
show variables like "%password%";
+----------------------------------------+-----------------+
| Variable_name | Value |
+----------------------------------------+-----------------+
| default_password_lifetime | 0 |
| disconnect_on_expired_password | ON |
| log_builtin_as_identified_by_password | OFF |
| mysql_native_password_proxy_users | OFF |
| old_passwords | 0 |
| report_password | |
| sha256_password_auto_generate_rsa_keys | ON |
| sha256_password_private_key_path | private_key.pem |
| sha256_password_proxy_users | OFF |
| sha256_password_public_key_path | public_key.pem |
| validate_password_check_user_name | OFF |
| validate_password_dictionary_file | | #用于验证密码强度的字典文件路径
| validate_password_length | 8 | #密码长度最小8位
| validate_password_mixed_case_count | 1 | #至少包含1个大写字母1个小写字母
| validate_password_number_count | 1 | #至少包含1个数字
| validate_password_policy | MEDIUM | #密码强度检查等级0:LOW,1:MEDIUM(默认值),2:STRONG
| validate_password_special_char_count | 1 | #至少包含一个特殊字符
+----------------------------------------+-----------------+
#使用set global 变量名=值;进行修改(临时生效)
#修改配置文件/etc/my.cnf文件永久保存
关闭 validate_password 密码验证(有风险)
再次修改密码,使用空密码依然被允许
刷新使修改生效
修改数据库默认字符集支持中文
root密码遗忘后找回的方法
systemctl set-environment MYSQLD_OPTS='--skip-grant-tables --skip-networking'
#设置临时跳过密码验证登录,--skip-networking可省略
若设置关闭validate_password,需要注释该设置
即可无密码登录
更改密码
修改mysql登录提示符
export MYSQL_PS1="\u@\h[\d]>"
(如果只想修改个别用户的登录提示符,则在对应用户的环境变量文件中修改即可,windows环境同样适用)
允许用户远程登录
允许用户远程登录
关闭防护墙或添加对应规则
或
mysql -u root -p
rename user root@localhost to root@'%';
select user,host from mysql.user;
firewall-cmd --zone=public --add-port=3306/tcp --permanent
firewall-cmd --reload
用户远程登录
2003错误
问题: 配置了skip_networking或者bind_address
解决方法:
1045错误
问题:输入密码错误