MySQL卸载
查看MySQL软件
rpm -qa|grep mysql
yum repolist all | grep mysql
卸载MySQL
yum remove -y mysql mysql-libs mysql-common #卸载mysql
rm -rf /var/lib/mysql #删除mysql下的数据文件
rm /etc/my.cnf #删除mysql配置文件
yum remove -y mysql-community-release-el6-5.noarch #删除组件,这里根据自己一安装的版本进行删除
查看是否还有 MySQL 软件,有的话继续删除。
MySQL安装
#下载rpm文件
wget http://dev.mysql.com/get/mysql57-community-release-el7-8.noarch.rpm
#执行rpm源文件
rpm -ivh mysql57-community-release-el7-8.noarch.rpm
#执行安装文件
yum install mysql-community-server
到这里我们的MySQL就安装完成了。
MySQL启动
启动MySQL
#启动mysql
systemctl start mysqld
查看MySQL状态
systemctl status mysqld
启动成功状态如下:
修改密码
由于MySQL5.7会在第一次启动时生成默认密码,而如果我们直接使用默认密码登入,大多数操作是不能成功的,因此我们需要修改MySQL的密码。
- 查看默认密码
vim /var/log/mysqld.log
- 登入MySQL
mysql -uroot -proot
其中 -u
后为登入用户名,-p
后为登入密码,我这里是修改过的密码。在未修改默认密码时,我们执行 show databases;
语句,会出现如下错误,提示我们需要修改密码:
- 修改密码
ALTER USER 'root'@'localhost' IDENTIFIED BY 'root';
注意:MySQL在修改密码时,会对密码强度进行校验,校验不通过会导致修改密码失败。关于密码强度规则,可以通过如下语句查看:
SHOW VARIABLES LIKE 'validate_password%';
validate_password_length
固定密码的总长度;
validate_password_dictionary_file
指定密码验证的文件路径;
validate_password_mixed_case_count
整个密码中至少要包含大/小写字母的总个数;
validate_password_number_count
整个密码中至少要包含阿拉伯数字的个数;
validate_password_policy
指定密码的强度验证等级,默认为 MEDIUM;
validate_password_special_char_count
整个密码中至少要包含特殊字符的个数;
关于 validate_password_policy 的取值:
LOW:只验证长度;
MEDIUM:验证长度、数字、大小写、特殊字符;
STRONG:验证长度、数字、大小写、特殊字符、字典文件;
当然,我们也可以修改这些规则,比如,我们要修该密码长度规则,只需要执行如下语句即可:
set global validate_password_length=4;
MySQL远程连接授权
授权命令
grant 权限 on 数据库对象 to 用户
授权示例(授予root用户对所有数据库对象的全部操作权限)
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'root' WITH GRANT OPTION;
FLUSH PRIVILEGES;
ALL PRIVILEGES
:表示授予所有的权限,此处可以指定具体的授权权限。
*.*
:表示所有库中的所有表
'root'@'%'
: root是数据库的用户名,%表示是任意ip地址,可以指定具体ip地址
IDENTIFIED BY 'root'
:root是数据库的密码。
如果使用 navicat 或 MySQL Workbench 无法连接 MySQL 服务器,可以按照以下思路解决:
查看 MySQL 是否正常启动
ps -ef | grep mysql
查看 MySQL 所在机器防火墙是否关闭
systemctl status firewalld
服务器与客户端是否可以ping通
ping 192.168.124.1
客户端是否可以telnet到服务器端
telnet 192.168.124.100 3306
查看 MySQL 权限是否允许客户端所在 IP 访问
show grants for root;
修改MySQL配置
vim /etc/my.cnf
修改内容如下:
# MySQL设置大小写不敏感:默认:区分表名的大小写,不区分列名的大小写
# 0:大小写敏感 1:大小写不敏感
lower_case_table_names=1
# 默认字符集
character-set-server=utf8
修改完成后,重启MySQL。
关闭MySQL
systemctl stop mysqld
设置开机启动
systemctl enable mysqld
关闭开机启动
systemctl disable mysqld