二进制安装mysql8

507 阅读2分钟

1. 下载二进制包

添加防火墙

 firewall-cmd --permanent --add-port=3306/tcp 
service firewalld restart

参考

www.cnblogs.com/diantong/p/…

下载地址:downloads.mysql.com/archives/co…

参考:www.cnblogs.com/cnsre/p/128…

在下载界面Product Version 选择mysql版本,Operating System 选择Linux-Generic后,在列表中选择:Linux - Generic (glibc 2.12) (x86, 64-bit), Compressed TAR Archive 下载

如下以mysql-8.0.31版本为例

升级时,直接到tar.xz文件覆盖到老版本的安装目录就可以

cp -rf 解压目录/* mysql_dir

wget https://downloads.mysql.com/archives/get/p/23/file/mysql-8.0.31-linux-glibc2.12-i686.tar.xz

注:发现了这个!!! 在我初始化root用户的时候,被无良博主坑了,把所有用户的plugin都换成了mysql5.7的插件“mysql_native_password”

而最新的mysql8.0的密码插件是caching_sha2_password

2. 合建my.cnf配置文件

mysql配置文件路径为:/etc/my.cnf

[mysql]
port = 3306
socket = /usr/local/mysql-8.0.31/data/mysql.sock
default-character-set=utf8mb4
[mysqld]
port = 3306
#mysqlx_port = 33060
#mysqlx_socket = /usr/localmysql-8.0.31/data/mysqlx.sock
socket=/usr/local/mysql-8.0.31/mysql.sock
basedir = /usr/local/mysql-8.0.31
datadir = /usr/local/mysql-8.0.31/data

pid-file = /usr/local/mysql-8.0.31/mysqld.pid
log-error = /usr/local/mysql-8.0.31/log/error.log
#这个就是用之前的身份认证插件
default-authentication-plugin = mysql_native_password
#保证日志的时间正确
log_timestamps = SYSTEM

max_connections = 1500
max_connect_errors = 1000
max_allowed_packet = 40M
wait_timeout = 28800
character-set-server=utf8mb4
skip-log-bin

3. 解压文件,移动目录

tar -xvf mysql-8.0.31-linux-glibc2.12-i686.tar.xz
mv mysql-8.0.31-linux-glibc2.12-x86_64 mysql-8.0.31 # 重命名
mv mysql-8.0.31 /usr/local/mysql-8.0.31
tar -xvf mysql-8.0.32-linux-glibc2.12-i686.tar.xz
mv mysql-8.0.32-linux-glibc2.12-x86_64 mysql-8.0.32 # 重命名
mv mysql-8.0.32 /usr/local/mysql-8.0.32

4. 创建mysql组和用户

groupadd mysql
useradd -r -g mysql -s /sbin/nologin mysql

5. 创建数据目录,日志目录,配置文件目录,变更权限

mkdir /usr/local/mysql-8.0.31/data
# mkdir /usr/local/mysql-8.0.31/etc
mkdir /usr/local/mysql-8.0.31/log
chown -R mysql:mysql /usr/local/mysql-8.0.31/
mkdir /usr/local/mysql-8.0.32/data
mkdir /usr/local/mysql-8.0.32/log
chown -R mysql:mysql /usr/local/mysql-8.0.32/

6. 初始化数据库

不需要指定my.cnf路径,使用默认的/etc/my.cnf

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

7. 查看初始密码并修改密码

grep "temporary password" log/error.log # 

mysql -u root -p
# 输入临时密码登录

# 登录mysql后
ALTER USER USER() IDENTIFIED  BY '123456';

8. 远程访问

mysql> use mysql;
mysql> update user set host='%' where user='root';
mysql> flush privileges;

9. 设置启动文件

cp /usr/local/mysql-8.0.31/support-files/mysql.server  /etc/init.d/mysqld
service mysqld start|stop|restart|status

参考

# mysql 安装 
https://www.cnblogs.com/jie1521/p/10286604.html
https://blog.csdn.net/qq_32702685/article/details/127480109

## 离线安装
https://blog.csdn.net/xiguashixiaoyu/article/details/108777534
https://blog.csdn.net/HuaQi666/article/details/129353149
https://www.cnblogs.com/cnsre/p/12882047.html


# 备份
https://www.cnblogs.com/hellangels333/p/9059770.html
mysqldump 
mysqldump --all-databases -h127.0.0.1 -uroot -ppass > allbackupfile.sql
mysqldump dbname > dbname.sql


# rpm 安装
下载bundle.tar包
rpm -ivh mysql-community-common-8.0.31-1.el7.x86_64.rpm
rpm -ivh mysql-community-client-plugins-8.0.31-1.el7.x86_64.rpm
rpm -ivh mysql-community-libs-8.0.31-1.el7.x86_64.rpm
rpm -ivh mysql-community-client-8.0.31-1.el7.x86_64.rpm
rpm -ivh mysql-community-icu-data-files-8.0.31-1.el7.x86_64.rpm
rpm -ivh mysql-community-server-8.0.31-1.el7.x86_64.rpm

# 安装后查看密码
grep "temporary password" /var/log/mysqld.log

# 卸载
https://www.cnblogs.com/zhaochenguang/p/11465738.html

## mysql 下载
https://dev.mysql.com/downloads/mysql/