失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > 安装mysql查看随机密码命令_linux安装mysql-8.0.21-1.el7.x86_64.rpm-bundle - 君主-bye

安装mysql查看随机密码命令_linux安装mysql-8.0.21-1.el7.x86_64.rpm-bundle - 君主-bye

时间:2019-10-20 14:34:09

相关推荐

安装mysql查看随机密码命令_linux安装mysql-8.0.21-1.el7.x86_64.rpm-bundle - 君主-bye

本文参考

一 查看linux操作系统版本和系统内核版本

1 [root@nfs_client ~]# cat /etc/redhat-release查看操作系统版本2 CentOS Linux release 7.5.1804 (Core) 3 [root@nfs_client ~]# uname -r查看系统内核版本43.10.0-862.el7.x86_645

二 下载对应版本的MySQL安装文件

2、选择对应的Linux版本和x86/x64进行下载

可以选择 RPM Bundle,下载完记得解压 tar -xvf xxx.tar

三 卸载旧版本的MySql (没有的话,则跳过此步骤)

1、查看旧版本MySql

rpm -qa | grep mysql

rpm -e --nodeps {-file-name}

有的系统可能不太一样,没有mysql-libs,而是mariadb-libs,此时要移除的则是mariadb-libs

rpm -qa|grep mariadbyum remove mariadb-libs

四 安装MySql

解压之后的文件

使用命令rpm -ivh {-file-name}进行安装操作。

按照依赖关系依次安装rpm包 依赖关系依次为common→libs→client→server

注:ivh中,i-install安装;v-verbose进度条;h-hash哈希校验

在安装 时有可能会报错:mysql依赖错误

解决:清除yum里所有mysql依赖包

[root@nfs_client tools]# rpm -qa|grep mysql[root@nfs_client tools]# yum remove mysql-libs注意:有的系统可能不太一样,没有mysql-libs,而是mariadb-libs,此时要移除的则是mariadb-libs[root@nfs_client tools]# rpm -qa|grep mariadb[root@nfs_client tools]# yum remove mariadb-libs

注意细节:

1> 执行 yum remove mysql-libs 命令后,会自动删除掉 /etc/ 下的 文件

2> 对于安装mysql组件,只有安装了 组件,才会:

a). 在 /etc/下生成 文件 和 .d 文件夹

b). 在/var/lib/下生产以下三个文件夹

c). 在/var/log/ 下生成 文件

d). 在/var/run/ 下生成mysqld 目录

个别情况:

个别情况1:

在阿里云ECS云服务器上安装,当安装 时报错,报错如下:

[root@i3467544tdsxfrZ ~]# rpm -ivh

warning: :Header V3 DSA/SHA1 Signature,key ID 5072e1f5: NOKEY

error: Failed dependencies:

()(64bit) is needed by

()(64bit) is needed by

()(64bit) is needed by

真正原因:

真正的原因是 MySQL依赖libaio,所以先要安装libaio,我们通过 rpm -qa|grep libaio 命令查看一下,如图:

经过对比发现,无法正常安装的服务器的确没有安装libaio

所以,解决法案就是:

安装libaio

[root@iZbp1845cet96se1qmb5ekZ ~]

安装libaio后,再重新安装一次,此时就能正常安装了

个别情况2:

比如解决了“个别情况1”,但在启动mysql的时候,启动不起来,或启动后,去查找临时密码,使用命令没反应。查看日志(可在/etc/中查找到的配置位置),报如下错误,此时怎么解决?

[ERROR] Fatal error: Can't open and lock privilege tables: Table '' doesn't exist

此时,1>先通过rpm -e --nodeps xxx 卸载掉server,卸载后删除datadir目录,2>卸载后查看 /etc/ 中,datadir的配置情况,将datedir目录删除,3>最后通过命令rpm -ivh xxx 重新安装server,此时就能正常使用mysql了

命令代码如下:

[root@izbp1845cet96se1qmb5ekz ~]#rpm -e --nodeps

[root@izbp1845cet96se1qmb5ekz ~]#cat /etc/

xxxxxxxxxxxxx

datadir=/var/lib/mysql

socket=/var/lib/mysql/mysql.sock

xxxxxxxxxxxxxxx

[root@izbp1845cet96se1qmb5ekz ~]#cd /var/lib

[root@izbp1845cet96se1qmb5ekz lib]#rm -rf mysql

[root@izbp1845cet96se1qmb5ekz ~]#rpm -ivh

[root@izbp1845cet96se1qmb5ekz ~]#systemctl start mysqld.service

[root@izbp1845cet96se1qmb5ekz ~]#ps -ef|grep mysql

root 3306 1068 0 14:34 pts/0 00:00:00 mysql -uroot -p

mysql 27009 1 1 15:26 ? 00:00:00 /usr/sbin/mysqld --daemonize --pid-file=/var/run/mysqld/mysqld.pid

root 27038 26239 0 15:27 pts/6 00:00:00 grep --color=auto mysql

五 登录并创建MySql密码

1 启动MySql

安装完后,使用命令service mysqld start或systemctl start mysqld.service启动MySQL服务。(如果mysql服务无法启动,就重启一下系统)

systemctl start mysqld.service 启动mysql

systemctl status mysqld.service 查看mysql状态

systemctl stop mysqld.service 关闭mysql

查看mysql进程 ps -ef|grep mysql

查看3306端口 netstat -anop|grep 3306

2 登陆mysql修改root密码

由于之前的版本中默认是没有密码的,登录后直接回车就可以进入数据库,进而进行设置密码等操作。其后版本对密码等安全相关操作进行了一些改变,在安装过程中,会在安装日志中生成一个临时密码。

怎么找到这个临时密码呢?

使用:

grep 'temporary password' /var/log/

即可查询到类似于如下的一条日志记录:

#o(YH0ff;i30即为登录密码。使用这个随机密码登录进去,然后修改密码,使用命令:

输入密码

执行下面的命令修改MySql root密码

在后,mysql内置密码增强机制,低强度密码会报错:

ERROR 1819 (HY000): Your password does not satisfy the current policy requirements

可能出现密码不符合策略或过于简单等提示,建议先使用如下密码,稍后更改策略再换

step1:更改策略和修改密码长度

setglobal validate_password.policy=0;setglobal validate_password.length=1;

不管设置 validate_password_length=1,还是2,3,4 ,‘有效密码长度’这个参数的实际值都是4。超过4后设置是多少实际就是多少。

step2:从新设置密码

alter user root@localhost identified by '123456';

step3: 授予root用户远程访问权限:

此时,虽然防火墙我时关着的,但root用户只能用于本机访问,不能用于远程访问,否则会报以下错误。因此,接下来要做的是授予root用户远程访问权限。

查看当前授予过的权限:

use mysql;select user,host from user;

不推荐直接使用root用户通过外部访问数据库,建议创建用户给予对应所需权限即可

step4.添加一个新用户

create user '新用户名'@'localhost' identified by '密码';//允许所有ip连接(用通配符%表示)create user '新用户名'@'%' identified by '密码';授权用户

step5.授权用户

格式:GRANT privileges ON databasename.tablename TO ‘username’@‘host’例:给admin用户授权study数据库中所有表的所有操作权限GRANT ALL ON *.* TO 'admin'@'%';

privileges:表示要授予什么权力,例如可以有 select ,insert 等,如果要授予全部权力,则填 ALL

databasename.tablename:表示用户的权限能用在哪个库的哪个表中,如果想要用户的权限很作用于所有

的数据库所有的表,则填.,*是一个通配符,表示全部。

’username‘@‘host’:表示授权给哪个用户。

step6:开放3306端口

此时外面远程访问还是访问不到,因为我的防火墙没有放开3306端口,

firewall-cmd --zone=public --add-port=3306/tcp --permanent firewall-cmd --reload

我用的DataGrip连接会报错

我看网上很多人都在说加上serverTimezone=UTC,我的加上不行,最后我发现我要加上useSSL=false&allowPublicKeyRetrieval=true就可以了

如果觉得《安装mysql查看随机密码命令_linux安装mysql-8.0.21-1.el7.x86_64.rpm-bundle - 君主-bye》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。