概述
安装mysql
- 查看是否安装mariadb # sudo rpm -qa |grep mariadb
- 如果有就卸载 mariadb #sudo rpm -e --nodeps mariadb-libs-5.5.60-1.el7_5.x86_64
- 安装依赖 #sudo yum install libaio
(1)、下载mysql源安装包
centos没有mysql的仓库安装源,需要从mysql官网下载,repo下载页面 https://dev.mysql.com/downloads/repo/yum/
,在此页面选择合适的版本。
如果有需要可以去官网找到对应链接
wget https://dev.mysql.com/get/mysql80-community-release-el7-5.noarch.rpm
(2)、安装mysql源
sudo yum -y localinstall mysql80-community-release-el7-5.noarch.rpm
(3)、查是否安装成功
yum repolist enabled | grep "mysql.*-community.*"
(4)、安装mysql
上述命令执行完之后,安装mysql
sudo yum install mysql-community-server
安装之后,重启服务
sudo systemctl start mysqld
查看mysql服务状态
sudo systemctl status mysqld
设置开机自动启动
sudo systemctl enable mysqld
sudo systemctl daemon-reload
(5)、配置以及部分命令
mysql安装完后,会在/var/log/mysqld.log文件中生成一个默认的root用户密码,查看默认密码,然后登录mysql修改
sudo grep 'temporary password' /var/log/mysqld.log
mysql登录,密码是上面查出来的
mysql -uroot -p
修改密码
ALTER USER 'root'@'localhost' IDENTIFIED BY 'Test@123456';
注意:mysql8 默认安装了密码安全检查插件(validate_password),默认密码检查策略要求密码必须包含:大小写字母、数字和特殊符号,并且长度不能少于8位。否则会提示ERROR 1819 (HY000): Your password does not satisfy the current policy requirements错误。
通过msyql环境变量可以查看密码策略的相关信息(执行这一步需要先修改默认密码,即执行完上一步修改才可以,否则会报错:ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.)
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=0配置,指定密码策略:
选择0(LOW),1(MEDIUM),2(STRONG)其中一种,选择2需要提供密码字典文件。
如果不需要密码策略,添加my.cnf文件中添加如下配置禁用即可:validate_password = off
重启mysql服务使配置生效
sudo systemctl restart mysqld
如有需要可以再修改密码
(6)、允许远程链接
默认root用户只允许本地访问,如果远程需要就需要修改root用户远程访问权限
use mysql;
select host,user from user;
查看表格中 root 用户的 host,默认应该显示的 localhost,只支持本地访问,不允许远程访问。
授权 root 用户的所有权限并设置远程访问
update user set host='%' where user ='root';
刷新
flush privileges;
记得在开通3306端口
*如有需要再执行之前授权报错的命令即可成功,最后同样使用**flush privileges;*命令刷新。
如果遇到远程链接密码错误问题,在服务器登录修改密码
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';
(7)、新建用户允许远程访问
在mysql交互环境中,用户信息包含用户名user和主机名host。因此创建用户时,用户信息是用户名@主机
,如果只是本地连接数据库,默认是localhost
,如果允许所有客户端(远程)连接,可以用通配符%。
#创建用户
create user 'xwj'@'%' identified with mysql_native_password by 'password';
#赋予权限
#grant all privileges on testdb to xwj; 如果想把某一个数据库的所有权限都赋值给xwj
grant all on *.* to `xwj`@`%`; #为xwj用户赋予所有主机的所有权限,但不包含给其他账号赋予权限的权限。这里的*.*第一个*表示数据库名,第二个为表名,*.*表示对所有库所有表赋全部权限,如果要指定则改为具体的数据库名和表名
#刷新
flush privileges;
revoke all on *.* from 'xwj'@'%'; #移除用户xwj权限 drop user xwj; #删除用户xwj
(8)、卸载mysql
sudo yum remove mysql mysql-server mysql-libs mysql-server mysql-community-server # 快速删除
sudo rpm -qa|grep -i mysql # 查找残留文件
sudo yum remove <文件名> # 逐个删除残留文件
whereis mysql # 查找残留目录
sudo rm –R <残留目录> # 删除残留目录
最后
以上就是隐形乌龟为你收集整理的centos7安装mysql8的全部内容,希望文章能够帮你解决centos7安装mysql8所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复