MySQL安装改密

OS版本对应mysql软件包

linux6:包名mysql-server 服务名:mysql
linux7:包名mariadb*

删除原有mysql

删除旧的所有mysql (一定要将mariaDB包和自带mysql包卸载干净,否则安装时出现各种奇妙错误,导致失败。)

rpm -qa | grep -i mariadb
rpm -e --nodeps mariadb-libs-5.5.56-2.el7.x86_64
rpm -qa | grep -i mysql
rpm -e MySQL-client-5.6.38-1.el7.x86_64

删除服务

chkconfig --list | grep -i mysql //查看服务
chkconfig --del mysql //删除服务

删除mysql分散的文件夹

whereis mysql
rm -rf /use/lib/mysql
rm -rf /etc/my.cnf #删除系统默认的配置文件

yum安装

配置yum源

wget https://dev.mysql.com/get/mysql57-community-release-el7-9.noarch.rpm
rpm -ivh mysql57-community-release-el7-9.noarch.rpm

执行完成后会在/etc/yum.repos.d/目录下生成两个repo文件mysql-community.repo mysql-community-source.repo

yum install mysql-server -y --nogpgcheck 

启动mysql

systemctl start mysqld

也可以官网下载,下载打包文件,解压就可用

官网地址:

https://downloads.mysql.com/archives/community/

也可以官网下载
在这里插入图片描述
上传服务器后解压:

tar -xvf mysql-5.7.24-linux-glibc2.12-x86_64.tar.gz
mv -v mysql-5.7.24-linux-glibc2.12-x86_64 /usr/lcoal/mysql

创建用户和组

groupadd mysql
useradd -r -g mysql mysql

将安装目录所有者及所属组改为mysql ,这个根据自己的目录来

chown -R mysql.mysql /usr/local/mysql

在mysql目录下创建data文件夹

mkdir data 
yum -y install numactl
yum install libaio

初始化数据库,会自动生成密码

/usr/local/mysql/bin/mysqld --user=mysql --basedir=/usr/local/mysql/ --datadir=/usr/local/mysql/data --initialize

配置my.cnf

vim /etc/my.cnf
[mysqld]
datadir=/usr/local/mysql/data
basedir=/usr/local/mysql
socket=/tmp/mysql.sock
user=mysql
port=3306
character-set-server=utf8
#取消密码验证
#skip-grant-tables
#Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
#skip-grant-tables
[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid

将mysql加入到启动服务,设为开机启动,然后启动mysql

cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql
chkconfig mysql on
service mysql start

没有设置环境变量的情况下:

/usr/local/mysql/bin/mysql -uroot -p

也可以先进性设置一下环境变量:

export PATH=$PATH:/usr/local/mysql/bin

进入数据库后更改密码

set password=password('redhat');

常规报错信息

Fatal error: Can’t open and lock privilege tables: Table ‘mysql.host’ doesn’t exist

mysql_install_db --user=mysql
#如没有mysql_install_db命令。
#find / -name  mysql_install_db 查找mysql_install_db
#例如在/usr/local/mysql/scripts/mysql_install_db
#cd /usr/local/mysql 
#执行./scripts/mysql_install_db --user=mysql

mysql8.0安装方法:

在这里插入图片描述

wget https://downloads.mysql.com/archives/get/p/23/file/mysql-8.0.30-1.el7.x86_64.rpm-bundle.tar
tar -xvf mysql-8.0.30-1.el7.x86_64.rpm-bundle.tar  #把文件释放出来
yum install -y  mysql-community*   #安装mysql
systemctl start mysqld #启动数据库
systemctl enable mysqld #加入开机自启
firewall-cmd --permanernt --add-service=mysql  #加入防火墙
firewall-cmd --reload 
cat /var/log/mysqld.log | grep localhost  #查看默认密码
mysql -uroot -p  #进入数据库

8.0版本
更改密码为空即‘mima’处无内容,即为免密(亦可设置你习惯的密码,就不是免密了)

alter user 'root'@'localhost' identified by 'mima';
flush privileges;
exit

更改登录密码:

一: 在mysql中:

set password=password('redhat');    #修改当前用户密码

二:不在mysql中:

systemctl stop mariadb #停止mysql
vim /etc/my.cnf  #更改配置文件
[mysqld]
skip-grant-tables
systemctl start mariadb

mysql 空密码进入

use mysql;

查看user表:

select Host,User,Password from mysql.user; 

添加密码:

grant all on *.* to root@localhost identified by '123456' with grant option; 

mysql5.7

update user set authentication_string=password('123456') where user='root' and Host='localhost';
flush privileges; #刷新
exit

改完后:

vim /etc/my.cnf
#skip-grant-tables  #注释 
systemctl restart mariadb  #重启服务

3:改密:mysql_secure_installation

mysql登录不上了

service mysqld restart 

先报正确再报失败,报的错误就是Another MySQL daemon already running with the same unix socket.
直接删除这个:

rm /var/lib/mysql/mysql.sock
ln -s /tmp/mysql.sock /var/lib/mysql/mysql.sock
service mysqld restart  #重启mysql
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值