本文详细介绍在Linux上安装8.0.31。以 CentOS7.6系统为实例进行安装。
1、安装前准备
下载地址:https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-8.0.31-linux-glibc2.12-x86_64.tar.xz
下载好安装包后,可以进行离线安装。
2、安装过程
1.例如这里将上面的mysql8.0.31安装包上传到服务器的这个/root/soft/mysql路径中
#创建一个目录soft
mkdir soft
#切换到soft目录
cd soft/
#在soft目录下创建一个mysql目录
mkdir mysql
2.然后把安装包放到mysql文件夹里面,通过xshell或者其他连接工具将安装包从windows系统上传到服务指定文件夹下 ,并通过ll指令查看是否超过上传。
3.解压mysql安装包
3.1执行如下命令解压mysql安装包
tar -xvf mysql-8.0.31-linux-glibc2.12-x86_64.tar.xz
如下图:
3.2 解压后的mysql文件下会多一个文件
3.3可以把它重新命名为mysql8.0,命令如下:
mv mysql-8.0.31-linux-glibc2.12-x86_64 mysql8.0
操作图片如图:
3.4在mysql8.0目录下新建一个etc文件夹,然后建立my.cnf配置文件
(1) 切换到mysql8.0目录下 cd mysql8.0/ (2) 创建etc文件夹 mkdir etc (3) 切换到etc目录下 cd etc/ (4) 创建my.cnf文件,然后对文件赋权限 touch my.cnf chmod 644 /root/soft/mysql/mysql8.0/etc/my.cnf 操作如图:
(5)编辑my.cnf文件
vim my.cnf 将下面内容添加到my.cnf文件中,然后按ESC进入Command模式,然后输入“:wq”,回车就可以保存并退出了。
[mysqld]
default-time-zone='+08:00'
bind-address=0.0.0.0
port=3306
user=mysql
socket=/root/soft/mysql/mysql3306.sock
pid_file=/root/soft/mysql/data/data_3306/data/my.pid
basedir=/root/soft/mysql/mysql/mysql8.0
datadir=/root/soft/mysql/data/data_3306/data
#character config
character_set_server=utf8mb4
explicit_defaults_for_timestamp=true
symbolic-links=0
log-error=/root/soft/mysql/data/data_3306/logs/mysql3306.err
log_bin =/root/soft/mysql/data/data_3306/binlog/mysql-bin
relay_log =/root/soft/mysql/data/data_3306/relaylog/relay-bin
slow_query_log_file =/root/soft/mysql/data/data_3306/logs/slow.log
slow_query_log=on
server-id=6
#innodb settings
innodb_buffer_pool_size=128M
skip-grant-tables
gtid-mode=on
enforce-gtid-consistency=true
log-slave-updates=1
lower_case_table_names=1
default_authentication_plugin=mysql_native_password
[mysql]
socket =/root/soft/mysql/mysql3306.sock
plugin-load-add=validate_password.so
validate-password=FORCE_PLUS_PERMANENT
(6)在data里建立这个四个目录,存储my.cnf指定的路径
(6.1)创建一个data目录
mkdir -p /root/mysql/soft/mysql/data/data_3306
操作如图:
(6.2) 在data里建立这个四个目录
cd /root/soft/mysql/data/data_3306/ mkdir binlog mkdir logs mkdir data mkdir relaylog
操作如图
(7)创建mysql 用户组和用户
groupadd mysql useradd -r -g mysql mysql
操做如图:
(8)赋予权限
chown -R mysql:mysql /root/soft/mysql chown -R mysql:mysql /root/soft/mysql/data
操作如图:
(9)mysql初始化
cd /root/soft/mysql/mysql8.0/bin ./mysqld --defaults-file=/root/soft/mysql/mysql8.0/etc/my.cnf --initialize-insecure
若是输入报错:
报错1:
./mysqld: error while loading shared libraries: libnuma.so.1: cannot open shared object file: No suc
如图:
则输入一下,命令:
yum -y install numactl
再重新输入命令就可以
./mysqld --defaults-file=/root/soft/mysql/mysql8.0/etc/my.cnf --initialize-insecure
报错2:
mysqld: Can't open shared library '/root/soft/mysql/mysql/mysql8.0/lib/plugin/component_reference_cache.so' (errno: 0 /root/soft/mysql/mysql/mysql8.0/lib/plugin/component_reference_cache.so: cannot open shared object file: No such file or directo)
原因:没有组件对应的包文件,你在提示的目录下去看看,或者检查一下my.cnf参数文件,是不是plugin_dir参数的值不正确。查看my.cnf文件的mysqld下是否指定了plugin_dir参数的路径。
没有则添加
plugin_dir = /root/soft/mysql/mysql8.0/lib/pligin
(10)启动mysql
/root/soft/mysql/mysql8.0/bin/mysqld_safe --defaults-file=/root/soft/mysql/mysql8.0/etc/my.cnf &
如图:
(11)查看是否启动
ps -ef|grep mysql
如图:
(12)配置环境变量
vim /etc/profile + 输入上面命令后按I进入编辑模式,将下面内容添加到最后一行,然后按Esc退出编辑模式,再输入:wq,保存并退出。 export PATH=/root/soft/mysql/mysql8.0/bin:$PATH 操作如图: source /etc/profile
操作如图:
(13)登录数据库
mysql -S /root/soft/mysql/mysql3306.sock -u root -p