rf: https://www.cnblogs.com/shizhongyang/p/8464876.html
linux系统版本:CentOS 7.4 64位
安装源文件版本:mysql-8.0.11-linux-glibc2.12-x86_64.tar.gz
mysql安装位置:/software/mysql
数据库文件数据位置:/data/mysql
注:未防止混淆,这里都用绝对路径执行命令
除了文件内容中的#,这里所有带#都是linux命令
>mysql 是mysql的命令
步骤:
1、在根目录下创建文件夹software和数据库数据文件/data/mysql
#mkdir /software/
#mkdir /data/mysql
2、上传mysql-8.0.11-linux-glibc2.12-x86_64.tar.gz文件到/software下
#cd /software/
#tar -zxvf mysql-8.0.11-linux-glibc2.12-x86_64.tar.gz
3、更改解压缩后的文件夹名称
#mv /software/mysql-8.0.11-linux-glibc2.12-x86_64.tar.gz/ /software/mysql
4、创建mysql用户组和mysql用户
#groupadd mysql
#useradd mysql -g mysql
5、关联myql用户到mysql用户组中
#chown -R mysql:mysql /software/mysql/
6、更改mysql安装文件夹mysql/的权限
#chmod -R 755 /software/mysql/
7、安装libaio依赖包,由于我买的腾讯云服务器centos系统自带的有这个依赖包所以不需要安装,不过自带的依赖包会报错,后面介绍解决办法
查询是否暗转libaio依赖包
#yum search libaio
如果没安装,可以用下面命令安装
#yum install libaio
8、初始化mysql命令
#./software/mysql/bin/mysqld --user=mysql --basedir=/software/mysql --datadir=/data/mysql --initialize
在执行上面命令时特别要注意一行内容
A temporary password is generated for root@localhost: wIs._&7%1GvI
root@localhost: 后面跟的是mysql数据库登录的临时密码,各人安装生成的临时密码不一样
如果初始化时报错如下:
error while loading shared libraries: libnuma.so.1: cannot open shared objec
是因为libnuma安装的是32位,我们这里需要64位的,执行下面语句就可以解决
#yum install numactl.x86_64
执行完后重新初始化mysql命令,从第8步开始;
# Set some defaults
mysqld_pid_file_path=
if test -z "$basedir
then
basedir=/usr/local/mysql
bindir=/usr/local/mysql/bin
if test -z "$datadir"
then
datadir=/usr/local/mysql/data
fi
sbindir=/usr/local/mysql/bin
libexecdir=/usr/local/mysql/bin
else
bindir="$basedir/bin"
if test -z "$datadir"
then
datadir="$basedir/data"
fi
sbindir="$basedir/sbin"
libexecdir="$basedir/libexec"
fi
# Set some defaults
mysqld_pid_file_path=
if test -z "$basedir"
then
basedir=/software/mysql
bindir=/software/mysql/bin
if test -z "$datadir"
then
datadir=/data/mysql
fi
sbindir=/software/mysql/bin
libexecdir=/software/mysql/bin
else
bindir="$basedir/bin"
if test -z "$datadir"
then
datadir="$basedir/data"
fi
sbindir="$basedir/sbin"
libexecdir="$basedir/libexec"
fi
:wq 保存退出
10、修改my.cnf文件
#vi /etc/my.cnf
将下面内容复制替换当前的my.cnf文件中的内容
[client]:wq 保存退出
11、启动mysql服务
#./software/mysql/support-files/mysql.server start
12、如果启动报错,无法解决,删除文件夹/data/mysqlrm -rf /data/mysql
重新从第8条安装;
13、启动mysql
#/etc/init.d/mysqld start
14、登录mysql
#/software/mysql/bin/mysql -u root –p
15、解决bash: mysql: command not found 的方法原因:这是由于系统默认会查找/usr/bin下的命令,如果这个命令不在这个目录下,当然会找不到命令,我们需要做的就是映射一个链接到/usr/bin目录下,相当于建立一个链接文件。https://www.jb51.net/article/34622.htm
# cd /usr/local/bin
# ln -fs /software/mysql/bin/mysql mysql
16、输入临时密码。临时密码就是第8条root@localhost:后面的内容
17、安装完,会要求重置密码:
可能是你的帐号不允许从远程登陆,只能在localhost。这个时候只要在localhost的那台电脑,登入mysql后,更改 "mysql" 数据库里的 "user" 表里的 "host" 项,从"localhost"改称"%"
mysql -u root -p
mysql>use mysql;
mysql>update user set host = '%' where user = 'root';
mysql>select host, user from user;
https://blog.csdn.net/zyj405569395/article/details/53614356
(2)2059 - authentication plugin 'caching_sha2_password' -navicat连接异常问题解决
mysql8新版本发布,安装后出现2059错误,原因为安装时选择了强加密规则caching_sha2_password,与之前的mysql5.7的mysql_native_password规则不同,navicate驱动目前不支持新加密规则
本文使用手动修改加密规则改成与mysql5.7一样已实现
ALTER USER 'root'@'%' IDENTIFIED BY 'password' PASSWORD EXPIRE NEVER; #修改加密规则
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'password'; #更新一下用户的密码
FLUSH PRIVILEGES; #刷新权限
https://blog.csdn.net/kiddyt05/article/details/80074752
https://blog.csdn.net/m0_38017782/article/details/80061991
在线安装方式 :https://blog.csdn.net/a774630093/article/details/79270080