大家好,又见面了,我是你们的朋友全栈君。
目录
- 下载及安装
-
- wget下载源安装包
- 安装源
- 安装服务
- 服务相关命令
-
- 设置开机自启
- 配置
-
- 修改密码
- 修改root用户远程访问权限
- 卸载
-
- 卸载MySQL
- 删除文件
下载及安装
wget下载源安装包
如果没有安装wget,先安装
代码语言:javascript复制yum -y install wget
进入mysql官网下载:https://dev.mysql.com/downloads/repo/yum/
复制下载链接:https://dev.mysql.com/get/mysql80-community-release-el7-4.noarch.rpm
我这边是下载到opt目录,进入目录:cd /opt
下载:
wget https://dev.mysql.com/get/mysql80-community-release-el7-4.noarch.rpm
安装源
安装命令:
代码语言:javascript复制yum localinstall mysql80-community-release-el7-4.noarch.rpm
检查是否安装成功
代码语言:javascript复制yum repolist enabled | grep "mysql.*-community.*"
安装服务
代码语言:javascript复制yum install mysql-community-server
服务相关命令
代码语言:javascript复制# 启动服务
systemctl start mysqld
或者
service mysqld start
# 关闭服务
service mysqld stop
# 重启服务
systemctl restart mysqld
# 查看启动状态
systemctl status mysqld
或
service mysqld status
设置开机自启
代码语言:javascript复制systemctl enable mysqld && systemctl daemon-reload
配置
修改密码
查看默认密码:
代码语言:javascript复制grep 'temporary password' /var/log/mysqld.log
ps: 这里有可能显示的临时是空的,解决方案:
- 删除原来安装过的mysql残留的数据(这一步非常重要,问题就出在这)
bash rm -rf /var/lib/mysql
- 重启mysqld服务
bash systemctl restart mysqld
- 再去找临时密码
bash grep 'temporary password' /var/log/mysqld.log
进入数据库
代码语言:javascript复制mysql -uroot -p
输入刚刚的临时密码,回车
修改密码(注意:密码必须包含:大小写字母、数字和特殊符号,并且长度不能少于8位)
代码语言:javascript复制ALTER USER 'root'@'localhost' IDENTIFIED BY '新密码';
查看密码策略相关信息(执行这一步需要先修改默认密码,即执行完上一步修改才可以,否则会报错)
代码语言:javascript复制show variables like '%password%';
- validate_password_policy:密码策略,默认为MEDIUM策略
- validate_password_dictionary_file:密码策略文件,策略为STRONG才需要
- validate_password_length:密码最少长度
- validate_password_mixed_case_count:大小写字符长度,至少1个
- validate_password_number_count :数字至少1个
- validate_password_special_char_count:特殊字符至少1个
上述参数是默认策略MEDIUM的密码检查规则。
修改密码策略:
在/etc/my.cnf
文件添加validate_password_policy
配置,指定密码策略:
validate_password_policy=0
- 0(LOW)
- 1(MEDIUM)
- 2(STRONG)这种需要提供密码字典文件
如果不需要密码策略,添加my.cnf文件中添加如下配置禁用即可:validate_password = off
重启服务即可生效。
修改root用户远程访问权限
默认只允许root帐户在本地登录,如果要在其它机器上连接mysql,必须修改root允许远程连接,或者添加一个允许远程连接的帐户。
选择 mysql 数据库:use mysql;
在 mysql 数据库的 user 表中查看当前 root 用户的相关信息:
代码语言:javascript复制select host, user from user;
root 用户的 host,默认显示的 localhost,只支持本地访问,不允许远程访问。
授权 root 用户的所有权限并设置远程访问
代码语言:javascript复制GRANT ALL ON *.* TO 'root'@'%';
如果报错:ERROR 1410 (42000): You are not allowed to create a user with GRANT
就使用下面的命令:
代码语言:javascript复制update user set host='%' where user ='root';
然后使用下面命令使修改生效:
代码语言:javascript复制flush privileges;
卸载
卸载MySQL
代码语言:javascript复制yum remove mysql-community-server
删除文件
代码语言:javascript复制rm -rf /var/lib/mysql
rm /etc/my.cnf
rm -rf /usr/share/mysql-8.0
如果需要重新安装,在安装完成启动之前可以先对mysql目录授权防止异常发生:
代码语言:javascript复制chmod -R 777 /var/lib/mysql
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/153267.html原文链接:https://javaforall.cn