linux mysql 解压版_Linux 安装 解压版 mysql 8

Linux 安装 解压版 mysql 8

一. 下载安装包

https://dev.mysql.com/downloads/file/

可以用ftp上传到linux上

二. 解压文件

xz -d

tar -xvf

... ..

三. 添加系统mysql组和mysql用户:

groupadd mysql

useradd -r -g mysql -m mysql

四. 将解压后的文件移动到安装目录 并重命名

创建mysql的base目录:

mkdir -p /usr/local/mysql/

# 定义变量

echo 'export MYSQL_BASE=/usr/local/mysql' >> /etc/profile # 根据实际情况指定mysql安装目录

echo 'export MYSQL_HOME=${MYSQL_BASE}/mysql-8.0.22' >> /etc/profile # 根据实际情况指定mysql软件的解压目录

echo 'export PATH=$PATH:${MYSQL_HOME}/bin' >> /etc/profile

source /etc/profile

mv mysql-8.0.22-linux-glibc2.12-x86_64 $MYSQL_BASE

解压,做软链接

ln -s $MYSQL_BASE/mysql-8.0.22-linux-glibc2.12-x86_64 $MYSQL_HOME

# 即 $MYSQL_BASE/mysql-8.0.16 为mysql的家目录了,这样有个好处就是后期的升级,删除软链接直接重新指定就行了,

删除软链接的时候注意: rm $MYSQL_BASE/mysql-8.0.16 是删除 软链接 rm $MYSQL_BASE/mysql-8.0.16/ 是把原目录也给删了!!!

五. 创建配置文件,日志等相关目录

cd $MYSQL_BASE

mkdir -p {data,binlogs,log,etc,run}

六. 将mysql目录的所有者更换为mysql用户

chown -R mysql:mysql $MYSQL_BASE

七. 编写配置文件

注意: 此配置文件不是精确,请自行选择

查看一下mysql对于配置文件的查找路径,越左优先级越高

cd /usr/local/mysql/bin

./mysql --help | grep 'Default options' -A 1

-

# ./mysql --help| grep 'Default options' -A 1

Default options are read from the following files in the given order:

/etc/my.cnf /etc/mysql/my.cnf /usr/local/mysql/etc/my.cnf ~/.my.cnf

-这里我们刚好可以选择使用

/usr/local/mysql/etc/

vi $MYSQL_BASE/etc/my.cnf # 注意 basedir 指的时候软件解压的目录

[root@mysql-master support-files]# echo $MYSQL_BASE

/usr/local/mysql

[root@mysql-master support-files]# echo $MYSQL_HOME

/usr/local/mysql/mysql-8.0.22

-------------------------

[client]

port=3306

socket=/usr/local/mysql/mysql.sock

[mysql]

default-character-set=utf8

socket=/usr/local/mysql/mysql.sock

[mysqld]

# skip-grant-tables

explicit_defaults_for_timestamp=true

port=3306

socket=/usr/local/mysql/mysql.sock

pid-file=/usr/local/mysql/run/mysql.pid

log_error=/usr/local/mysql/log/error.log

basedir=/usr/local/mysql/mysql-8.0.22

datadir=/usr/local/mysql/data

max_connections=1000

character-set-server=utf8

default-storage-engine=INNODB

八. 初始化&&启动数据库

初始化:

$ mysqld --defaults-file=$MYSQL_BASE/etc/my.cnf --initialize --user=mysql

获取密码:

$ cat $MYSQL_BASE/log/error.log | grep password

A temporary password is generated for root@localhost: k)mBRab0uGsJ

-----------

如果报错可能是缺少安装包libaio和libaio-devel.

解决方法执行 yum install -y libaio 命令

安全启动:

启动mysql:

mysqld_safe --defaults-file=$MYSQL_BASE/etc/my.cnf --user=mysql &

修改密码:

mysql -uroot -pk)mBRab0uGsJ

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

------------------------------补充---------------------------:

使用MySQL8.0版本查看用户的加密插件:

mysql> select user,host,plugin,authentication_string from user;

修改 默认鉴权插件的方法为;

ALTER USER 'user'@'host' IDENTIFIED WITH mysql_native_password BY 'password';

创建用户:

CREATE USER 'tucao1'@'%' IDENTIFIED WITH mysql_native_password BY 'Admin_1234';

修改密码的方式:

ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '密码';

ALTER USER 'tucao1'@'%' IDENTIFIED WITH mysql_native_password BY 'Admin_1234';

MySQL8 支持的认证方式

在 MySQL8 中,支持的认证方式有 3 种:

caching_sha2_password,MySQL8 默认

sha256_password

mysql_native_password,MySQL5 支持

在设置用户密码时,使用 with 认证类型 的语法对每个用户进行设置,例如:

ALTER USER 'yourName'@'yourHost' IDENTIFIED WITH mysql_native_password BY 'yourPassword';

也可以通过配置服务器选项集中设置:

[mysqld]

default_authentication_plugin=caching_sha2_password

需要注意的是:

目前市场上主流的客户端连接工具支持的密码认证为“mysql_native_password”,暂时不支持“caching_sha2_password”认证方式。

九. 关闭数据库

1. kill (kill mysql进程保留 mysqld_safe 相当于重启mysql进程)

2. 使用脚本

vi $MYSQL_HOME/support-files/mysql.server

# 需要修改脚本

basedir=$MYSQL_HOME

datadir=$MYSQL_BASE/data

mysqld_pid_file_path=$MYSQL_BASE/run

之后才可以使用

# ./mysql.server

Usage: mysql.server {start|stop|restart|reload|force-reload|status} [ MySQL server options ]

后续配置

.....

十. 设置启动文件

将{mysql}/ support-files/mysql.server 拷贝为/etc/init.d/mysql并设置运行权限,这样就可以使用service mysql命令启动/停止服务

cp $MYSQL_HOME/support-files/mysql.server /etc/init.d/mysql

注册启动服务:

chkconfig --add mysql

查看是否添加成功

chkconfig --list

显示:mysqld 0:off 1:off 2:on 3:on 4:on 5:on 6:off

启动mysql数据库

systemctl status mysql

systemctl start mysql

systemctl stop mysql

systemctl restart mysql

十一. 后续升级

升级总结:

停进程(slave)--> 停库(杀进程)-->更改链接指向(删除重建,注意只删除链接)-->拷贝相关文件(参数文件和日志文件)-->启动数据库-->启动进程(slave)

1. 架构为两主一从,本来是应该先升级从库的,但是考虑到这套系统是从库用来收集两主库的数据

重要性比主库大, 故先升级两个主库

2. 替换原来的版本需要注意两个文件,否则起不来数据库,我上面的安装方法将这两个文件单独放到 $MYSQL_BASE 里面升级前后使用同一个文件

error.log

my.cnf

3. 注意修改权限

mysql.mysql

4. 升级从库的时候记得先停slave进程,升级完数据库再启动即可

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值