一、准备工作下载安装包下载地址查看系统自带的MARIADBbrpm-qa|grepmariadb卸载系统自带的MARIADB(如果有),删除后添加rpm-qa|grepmariadb找到路径yum-yremove2.解压将mysql-8.0.26-linux-glibc2.12-x86_64.tar.xz安装包上传到/usr/local/目录,解压安装包,重命名为mysqlxz-dmysql-8.0.26-linux-glibc2。12-x86_64.tar.xztar-xvfmysql-8.0.26-linux-glibc2.12-x86_64.tarmvmysql-8.0.26-linux-glibc2.12-x86_64mysql创建MYSQL用户和用户组groupaddmysqluseradd-gmysqlmysql修改MYSQL目录所属用户chown-Rmysql:mysql./准备MYSQL的配置文件,编辑vim/etc/my.cnf[mysql]#设置mysql客户端的默认字符集default-character-set=utf8socket=/var/lib/mysql/mysql.sock[mysqld]skip-name-resolve#设置3306端口port=3306socket=/var/lib/mysql/mysql.sock#设置mysql安装目录basedir=/usr/local/mysql#设置mysql数据库的数据存放目录datadir=/usr/local/mysql/data#允许最大连接数max_connections=200#服务器使用的字符集默认为8位编码的latin1字符集字符-set-server=utf8#创建新表时将使用的默认存储引擎default-storage-engine=INNODBlower_case_table_names=1ma??x_allowed_pa??cket=16M#binglog配置server-id=1log-bin=mysql-binlog_bin_index=binlog.indexbinlog_format=ROW#binlog过期清理时间;expire_logs_days=7#binlog日志文件大小;max_binlog_size=1024m#binlog缓存大小;binlog_cache_size=128m#最大binlog缓存大小。max_binlog_cache_size=1024m并修改权限mkdir/var/lib/mysqlchmod777/var/lib/mysql3.安装MySQL,进入cd/usr/local/mysql目录进行初始化。/bin/mysqld--initialize--user=mysql--basedir=/usr/local/mysql--datadir=/usr/local/mysql/data初始化后,控制台会返回一个临时密码,并记录临时密码,后面会用到例如:像我的例子在最后一行Atemporarypasswordisgeneratedforroot@localhost:kvct:yIy8_qk我的临时密码是这样的:kvct:yIy8_qk例子:2021-09-14T01:30:19.227943Z0[System][MY-013169][Server]/usr/local/mysql/bin/mysqld(mysqld8.0.26)作为进程18082021-09-14T01:30:19.250431Z1[System][MY-013576][InnoDB]InnoDB初始化已开始,正在初始化服务器。2021-09-14T01:30:20.184005Z1[系统][MY-013577][InnoDB]InnoDB初始化已结束。2021-09-14T01:30:21.140583Z0[警告][MY-013746][服务器]为通道mysql_启用了已弃用的TLS版本TLSv1main2021-09-14T01:30:21.141148Z0[警告][MY-013746][服务器]通道mysql_main2021-09-14T01:30:30:21.341903Z6[注意][MY-010454][Server]为root@localhost生成临时密码:kvct:yIy8_qk复制启动脚本到资源目录cp./support-files/mysql.server/etc/init.d/mysqldeditvim/etc/init.d/mysqld,修改basedir和datadir为实际对应的目录basedir=/usr/local/mysqldatadir=/usr/local/mysql/data4.设置MYSQL服务自启动,增加mysqld服务控制脚本执行权限chmod+x/etc/init.d/mysqld在系统服务chkconfig--addmysqld中添加mysqld服务,查看mysqld服务是否生效。mysqld0:off1:off2:on3:on4:on5:on6:closechkconfig--listmysqld启动mysql服务,返回SUCCESS!servicemysqldstart如何停止mysqlserviceservicemysqldstop5.配置环境变量编辑vim~/.bash_profile,在文件末尾添加如下信息exportPATH=$PATH:/usr/local/mysql/bin执行以下命令使环境变量生效的命令source~/.bash_profile6.登录MySQL并修改密码用root账号登录mysqlmysql-uroot-p输入刚才记录的临时密码修改Root账号密码,和刷新权限更改由“root”识别的用户user();flush特权;设置远程主机登录使用mysql;更新用户集user.Host='%'whereuser.User='root';flushprivileges;7、检查防火墙完成以上步骤后,仍然可能无法远程连接,打开端口或关闭防火墙检查防火墙状态systemctlstatusfirewalld检查防火墙服务是否开启systemctlis-enabledfirewalld关闭防火墙systemctlstopfirewalld关闭防火墙(系统启动时不启动防火墙服务)systemctldisablefirewalldsystemctlis-enabledfirewalldopenportfirewall-cmd--zone=public--add-port=3306/tcp--permanentfirewall-cmd--reload#配置立即生效关闭端口firewall-cmd--zone=public--remove-port=3306/tcp--permanentfirewall-cmd--reload#配置立即生效查看防火墙所有开放端口firewall-cmd--zone=public--list-ports查看监听端口centos7默认没有netstat命令,需要安装net-tools工具,yuminstall-ynet-toolsnetstat-lnpt查看是哪个进程端口被占用。网络统计-lnpt|grep3306查看进程的详细信息。ps6832查看包括mysql在内的所有进程。ps-ef|servicemysqldstop修改mysql配置文件my.cnfmy.cnf配置文件所在位置,一般在/etc/my.cnf,有的版本在/etc/mysql/my.cnf中的配置文件中添加如下代码,以及安全模式启动[mysqld]skip-grant-tablesstartmysqlserviceservicemysqldstartentermysql,这样就可以在不输入密码的情况下输入mysqlmysql-uroot修改密码,刷新权限;mysql>使用mysql;数据库已更改mysql>更新用户集authentication_string="123456"whereuser="root";查询正常,受影响的0行(0.00秒)行匹配:1更改:0警告:0mysql>flushprivileges;查询正常,0rowsaffected(0.00sec)从新添加的配置文件my.cnf中删除这两行[mysqld]skip-grant-tables并重启mysql服务servicemysqldstartMYSQL8.0defaultusertablemysql>selecthost,user,authentication_string,plugin来自用户;+------------+-----------------+----------------------------------------------------------------------+------------------------+|主持人|用户|身份验证字符串|插件|+------------+----------------+---------------------------------------------------------------------+------------------------+|%|根|$A$005$_N6HbERn
