安装mysql tar.gz详细步骤.gz详细步骤

1.卸载Linux系统上自带的mysql插件(old版本)
1、先检查要安装的Linux服务器cglib版本号,命令 strings /lib64/libc.so.6 | grep GLIBC ,查看其是否有相应cglib版本,如下:

只有在系统列表中的cglib才可以安装,以免对不上还需要升级系统cglib
2、查找mysql相关安装:

rpm -qa|grep -i mysql

可能会出现以下的一个或多个,没有更好,说明你的系统很干净,但是以防万一,不管怎样下面的操作还是检查一变

perl-DBD-MySQL-4.013-3.el6.x86_64
mysql-libs-5.1.71-1.el6.x86_64
qt-mysql-4.6.2-26.el6_4.x86_64
mysql-5.1.71-1.el6.x86_64
mysql-server-5.1.71-1.el6.x86_64
mysql-community-common-5.7.23-1.el7.x86_64

如果出现了上面的一个或多个,也不用担心,使用卸载命令,有几个干掉几个!
卸载命令:rpm –ev {包名},如:

rpm -ev mysql-community-common-5.7.23-1.el7.x86_64

查找老版本mysql相关的安装目录命令:

find / -name mysql

若查找到相关目录使用命令:rm –rf {目录名}

最后使用命令:rpm -qa|grep -i mysql,重新检查一遍系统中是否安装mysql。

如果是centos7,那么默认会安装一个mysql的分支产品mariadb,必须先卸载此分支产品

rpm -qa | grep mariadb

拷贝找到的列表,一个个卸载,如

rpm -e --nodeps mariadb-libs-5.5.35-3.el7.x86_64

2.安装包处理
新建software目录,切换到software目录,下载到该目录:

mkdir /root/software
cd/root/software

下载:(600M左右,下载需要点时间)
(mysql-5.7.23-linux-glibc2.12-x86_64.tar.gz)

wget http://mirrors.163.com/mysql/Downloads/MySQL-5.7/mysql-5.7.25-linux-glibc2.12-x86_64.tar.gz

注:问题?
-bash: wget: command not found

yum -y install wget

然后在执行就可以了,或者可以去官网下载。

官网下载
地址:
https://dev.mysql.com/downloads/mysql/

或者直接找历史版本:https://downloads.mysql.com/archives/community/
国内镜像: http://mirrors.ustc.edu.cn/mysql-ftp/Downloads/MySQL-5.7/
(ps:最简单的是Windows的安装版,选择历史档案左侧的installer就可以选择下载:https://downloads.mysql.com/archives/installer/)
下载完

解压到当前目录:

tar -xzvf mysql-5.7.25-linux-glibc2.12-x86_64.tar.gz

mysql主目录处理
在software目录下移动文件到/usr/local/mysql:

mv /root/software/mysql-5.7.25-linux-glibc2.12-x86_64 /usr/local/mysql
cd /usr/local/mysql/mysql-5.7.25-linux-glibc2.12-x86_64
mkdir data

主目录权限处理
查看组和用户情况

cat /etc/group | grep mysql
cat /etc/passwd |grep mysql

若存在,则删除原mysql用户:userdel -r mysql,会删除其对应的组和用户。

在查看就会发现没有,说明你已经删掉了

创建mysql组和mysql用户

groupadd mysql
useradd -r -g mysql mysql
chown -R mysql:mysql /usr/local/mysql

创建配置文件及相关目录
修改配置文件:/etc/my.cnf,配置不对的话,后面初始化不全,会拿不到默认密码。

vi /etc/my.cnf
[mysql]
# 设置mysql客户端默认字符集
default-character-set=utf8
[mysqld]
#跳过权限表校验
#skip-grant-tables
skip-name-resolve
#设置3306端口
port = 3306
# 设置mysql的安装目录
basedir=/usr/local/mysql
# 设置mysql数据库的数据的存放目录
datadir=/usr/local/mysql/data
# 允许最大连接数
max_connections=200
# 服务端使用的字符集默认为8比特编码的latin1字符集
character-set-server=utf8
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
lower_case_table_names=1
max_allowed_packet=16M
mkdir /usr/local/mysql/data

安装和初始化数据库
进入bin目录:

cd /usr/local/mysql/bin/

初始化数据库:

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

注:
这时会出现错误
./mysqld: error while loading shared libraries: libaio.so.1: cannot open shared object file: No such file or directory

解决方案:

 yum install -y libaio

如果是内网不能上网的环境,那么就得手动安装 numactl-2.0.9-2.el6.x86_64.rpm 和 libaio-0.3.109-13.el7.x86_64.rpm 这两个rpm包
rpm -ivh numactl-2.0.9-2.el6.x86_64.rpm
rpm -ivh libaio-0.3.109-13.el7.x86_64.rpm
然后再执行

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

安全启动:

./mysqld_safe --user=mysql &

是否启动成功,可以通过查看mysql进程,ps -ef | grep mysql

默认密码在mysqld.log日志里, 找到后保存到安全的地方:

cat /var/log/mysqld.log

其中root@localhost: 后面的就是默认密码,后面登录用.(如果找不到可能默认是空,登录时密码直接回车,否则可能安装有问题)
进入bin目录:

cd /usr/local/mysql/bin/

登录mysql:

./mysql -u root -p

拷贝或者输入mysqld.log中获得的默认密码,即可进入mysql命令客户端。

但是,若输入相关命令,则会提示你修改用户密码(注意后面一定要加;)。

show databases;

假设密码修改为xh2018

// 5.7
mysql> set password=password("xh2018");    

//8.0
mysql> alter user 'root'@'localhost' identified by '123com';    //8.0

创建用户

CREATE USER 'root'@'%' IDENTIFIED BY '123com';

授权

GRANT ALL ON *.* TO 'root'@'%' WITH GRANT OPTION;

刷新权限

flush privileges;

更新密码存储方式

ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'mypassword';

同步到内存

FLUSH PRIVILEGES;
#########  5.7
# 将本地登录密码更新为root
set password for root@localhost = password('root');
# 切换db
use mysql;
# 更新所有的密码
update user set authentication_string=password('mypassword') where user='root';
flush privileges;
firewalld允许mysql
firewall-cmd --zone=public --add-port=3306/tcp --permanent

// 重载配置
firewall-cmd --reload

设置远程登录权限

mysql> grant all privileges on *.* to 'root'@'%' identified by 'xh2018'; 

mysql> GRANT ALL ON *.* TO 'myuser'@'%' WITH GRANT OPTION;

立即生效:

mysql> flush privileges;

退出quit 或者 exit;

mysql> quit;

至此,mysql安装流程已结束,后续如果通过远程ip进行root用户授权,还需要到mysql库下的user表中把%对应的root用户所有权限改为Y,否则远程授权会失败,参考:https://blog.csdn.net/nininininiabc222/article/details/80090384。
开机服务启动设置:
把support-files/mysql.server 拷贝为/etc/init.d/mysql:

cp -a /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql

查看是否拷贝成功

查看mysql服务是否在服务配置中

chkconfig --list mysql

若没有,则把mysql注册为开机启动的服务,然后在进行查看

chkconfig --add mysql
chkconfig --list mysql

启动 或 停止

service mysql start
service mysql stop

创建快捷方式:
服务启动后,直接运行mysql -u root -p即可登录,不需要进入到对应的目录。

ln -s /usr/local/mysql/bin/mysql /usr/bin

打开3306防火墙

# 
use mysql;
update user set user.Host='%' where user.User='root';
#mysql8.0修改密码
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'mypassword';
#刷新权限
flush privileges;
  • MySQL8.x进行密码格式修改/设置远程访问
mysql -P3306 -hlocalhost -uroot -p

set global validate_password_policy=0;
set global validate_password_length=1;

alter user 'root'@'localhost' identified by 'asw123qaz';

use mysql;

update user set user.Host='%' where user.User='root';

ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'asw123qaz';

再执行一次

ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'asw123qaz';

刷新缓存

FLUSH PRIVILEGES;
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值