centos7安装mysql8 文章目录1.准备2.解压3.创建用户和组4.修改配置文件5.安装6.启动服务7.修改密码8.设置远程连接9.使用测试另附.rpm安装1.准备检查是否装过mysql,有则卸载rpm-qa|grepmysql检查是否有mariadb,有则卸载否则可能与Mysql冲突卸载mariadb并再次检查#卸载rpm-e--nodepsmariadb-libsrpm-qa|grepmariadb2.解压先解压成tar包再解压xz-dmysql-8.0.25-linux-glibc2.12-x86_64.tar.xztar-xvfmysql-8.0.25-linux-glibc2.12-x86_64.tar将解压后的文件名改短些mvmysql-8.0.25-linux-glibc2.12-x86_64 mysql进入目录创建目录mysqldb用来存放库文件cdmysqlmkdirmysqldb为mysql目录授权chmod-R777/usr/local/mysql/3.创建用户和组#添加组groupaddmysql#添加用户useradd-r-gmysql-s/bin/false mysql#用户添加至组chown-Rmysql:mysql ./4.修改配置文件创建mysql配置文件#如果当前系统已安装其它版本配置文件放在其它位置(比如Mysql安装目录下)以避免覆盖vim/etc/my.cnf将以下配置粘贴进去[mysqld]# 设置3306端口port3306# 设置mysql的安装目录basedir/usr/local/mysql# 设置mysql数据库的数据的存放目录datadir/usr/local/mysql/mysqldb# 允许最大连接数max_connections10000# 允许连接失败的次数。这是为了防止有人从该主机试图攻击数据库系统max_connect_errors10# 服务端使用的字符集默认为utf8mb4character-set-serverutf8mb4# 创建新表时将使用的默认存储引擎default-storage-engineINNODB# 插件认证默认使用caching_sha2_password,为兼容选“mysql_native_password”default_authentication_pluginmysql_native_password# 分组拼接长度group_concat_max_len10240000[mysql]# 设置mysql客户端默认字符集default-character-setutf8mb4[client]# 设置mysql客户端连接服务端时默认使用的端口port3306如图保存退出5.安装进入bin目录开始安装cd/usr/local/mysql/bin/#初始化控制台默认使用/etc/my.cnf下配置如果配置不在此目录下要加上如下语句--defaults-filexxx./mysqld--initialize--console可能会初始化失败说明没安装numactl安装numactlyum-yinstallnumactl再次初始化./mysqld--initialize--console安装成功记下红框内随机密码6.启动服务先重新授权目录再启动服务chmod-R777/usr/local/mysql#服务在此路径下cd/usr/local/mysql/support-files#启动服务./mysql.server start成功后可以看到提示将mysql添加到系统进程中并设置开机启动#添加到系统进程#如果/etc/rc.d/init.d/下存在mysqld,不用复制只需授权cp/usr/local/mysql/support-files/mysql.server /etc/init.d/mysqldchmodx /etc/init.d/mysqld#允许开机自启systemctlenablemysqld也可以直接新建创建 systemd 单元文件/etc/systemd/system/mysqld.service[Unit]DescriptionMySQL Community ServerAfternetwork.target[Service]TypeforkingExecStart/usr/local/mysql/support-files/mysql.server startExecStop/usr/local/mysql/support-files/mysql.server stopExecReload/usr/local/mysql/support-files/mysql.server restartUsermysqlGroupmysql[Install]WantedBymulti-user.target7.修改密码先用生成的随机密码登录cd/usr/local/mysql/bin/ ./mysql-uroot-p如果这时候登陆失败报错mysql: error while loading shared libraries: libtinfo.so.5: cannot open shared object file: No such file or directory创建libtinfo软链接即可#报libtinfo错误才用sudoln-s/usr/lib64/libtinfo.so.6.1 /usr/lib64/libtinfo.so.5修改密码alter userrootlocalhostIDENTIFIED WITH mysql_native_password BY你的密码;8.设置远程连接use mysql#允许远程连接update usersetuser.Host%whereuser.Userroot;#刷新权限flush privileges;quit9.使用测试重启myql并查看状态systemctl restart mysql systemctl status mysql查看版本mysql-V这时候可能查不到创建软链接至/usr/bin目录下后再次查看ln-s/usr/local/mysql/bin/mysql /usr/bin/navicat进行连接报错 “10060”在网络正常、端口与账号密码正确的情况下报10060只能是防火墙的问题了查看防火墙状态systemctl status firewalld关闭防火墙systemctl stop firewalld连接成功另附.rpm安装先下载安装包↓解压安装#解压tar-xvfmysql-8.0.25-1.el7.x86_64.rpm-bundle.tar解压后按顺序安装rpm↓# 必须按顺序安装rpm-ivhmysql-community-common-8.0.25-1.el7.x86_64.rpmrpm-ivhmysql-community-client-plugins-8.0.25-1.el7.x86_64.rpmrpm-ivhmysql-community-libs-8.0.25-1.el7.x86_64.rpmrpm-ivhmysql-community-client-8.0.25-1.el7.x86_64.rpmrpm-ivhmysql-community-server-8.0.25-1.el7.x86_64.rpm查看版本并检查已安装组件↓# 查看版本mysql--version# 检查组件rpm-qa|grep-imysql查看mysql状态↓systemctl status mysqld如果未启动就启动它↓systemctl start mysqld systemctl status mysqld启动后再次查看↓初始化后查看初始密码↓#以mysql用户执行初始化mysqld--initialize--usermysql#查看初始密码vim/var/log/mysqld.log初始密码保存好使用初始密码登录↓mysql-hlocalhost-p3306-uroot-p修改密码↓alter userrootlocalhostIDENTIFIED WITH mysql_native_password BYpassword;如果出现错误提示ERROR 1819 (HY000): Your password does not satisfy the current policy requirements表明密码太简单设置复杂些。修改远程连接↓use mysql#允许远程连接update usersetuser.Host%whereuser.Userroot;#刷新权限flush privileges;quit要授予远程连接权限使用权限分配更合适↓#赋予某账号所有库表所有权限并让该账号可以对其它用户做同样授权WITH GRANT OPTION谨慎使用GRANTALLPRIVILEGESON*.*TO账号名%WITHGRANTOPTION;