全国做网站最好的公司,南京seo圈子,配色相关网站,海南网红打卡旅游景点文章目录 一、检查服务器是否有残留mysql资源#xff0c;有的话就全删除1.1、查询mysql已安装的相关依赖#xff1a;1.2、查找含有MySQL的目录 二、安装2.1、上传mysql安装包到文件夹下并解压2.2、移动及重命名2.3、mysql用户2.4、配置mysql所需的my.cnf文件2.5、给my.cnf配置… 文章目录 一、检查服务器是否有残留mysql资源有的话就全删除1.1、查询mysql已安装的相关依赖1.2、查找含有MySQL的目录 二、安装2.1、上传mysql安装包到文件夹下并解压2.2、移动及重命名2.3、mysql用户2.4、配置mysql所需的my.cnf文件2.5、给my.cnf配置文件中指定的目录配置权限否则会在初始化时或是启动时出现问题如果出现问题应该实时查看初始化时与启动时的mysql.log日志2.6、配置命令2.7、修改系统配置2.7.1、修改/etc/profile添加export PATH$PATH:/usr/local/mysql8/bin2.7.2、配置启动项 三、启动3.1、初始化mysql服务 四、问题拓展4.1、安装成功后登录报错ERROR 1045 (28000): Access denied for user ‘root’‘localhost’ (using password: NO)或ERROR 1045 (28000): Access denied for user ‘root’‘localhost’ (using password: YES)4.1.1 设置跳过密码验证4.1.2 重启mysql后进行登录4.1.3 将登录密码设置为空4.1.4、修改新密码 4.2、新安装的mysql登录后执行任何命令报错You must reset your password using ALTER USER statement before executing this statement. 前言这里以mysql-8.0.26-linux-glibc2.12-x86_64.tar.xz版本为例
一、检查服务器是否有残留mysql资源有的话就全删除
1.1、查询mysql已安装的相关依赖
rpm -qa | grep mysql没有依赖是如图所示的 如果有依赖就依次卸载依赖
# 这里的XXXXXX表示依赖名
rpm -e XXXXXX --nodeps1.2、查找含有MySQL的目录
find / -name mysql如果有依赖存在就使用rm -rf 依次全部删除 例rm -rf /var/lib/selinux/targeted/active/modules/100/mysql二、安装
2.1、上传mysql安装包到文件夹下并解压
tar -xvf mysql-8.0.26-linux-glibc2.12-x86_64.tar.xz2.2、移动及重命名
mv mysql-8.0.26-linux-glibc2.12-x86_64 /usr/local/mysql82.3、mysql用户
创建mysql用户
useradd mysql配置mysql密码
passwd mysql给用户赋权限
chown -R mysql:mysql /usr/local/mysql82.4、配置mysql所需的my.cnf文件
编辑my.cnf
vim /etc/my.cnf配置文件内容
# 优先读取/etc/my.cnf.d目录下配置文件一般用不着
#!includedir /etc/my.cnf.d# 客服端设置
[client]# 服务套接字位置
socket/mnt/data/mysql/mysql.sock[mysqld]# 数据目录路径的位置根据实际情况配置给目录指定权限否真会报权限问题
datadir/mnt/data/mysql/mysql-data# mysql端口号
port 3306# 日志文件输出需要给目录配置权限否则会报目录权限问题
log-error/mnt/data/mysql/mysql-logs/mysql.log# 不区分大小写
# MySQL在Windows上会将所有的表名和数据库名转换为小写并且在查询时不区分大小写。这有助于在不同操作系统之间移植数据库
lower_case_table_names1# 服务套接字位置需要给目录配置权限
socket/mnt/data/mysql/mysql.sock# 是否与旧版本的客户端兼容可能需要将此参数设置为mysql_native_password
# default_authentication_pluginmysql_native_password# 最大传输如果数据包超过这个大小MySQL会报错
# max_allowed_packet64M# 最大连接并发数据量
# max_connections10002.5、给my.cnf配置文件中指定的目录配置权限否则会在初始化时或是启动时出现问题如果出现问题应该实时查看初始化时与启动时的mysql.log日志
chown -R mysql:mysql /mnt/data/mysql/mysql-data
chown -R 755 /mnt/data/mysql/mysql-data
chown -R mysql:mysql /mnt/data/mysql/mysql-logs
chmod -R 755 /mnt/data/mysql/mysql-logs
chown -R mysql:mysql /mnt/data/mysql
chown -R 755 /mnt/data/mysql
chmod -R 777 /mnt/data/mysql/如果未检测到文件夹就创建文件夹然后再重新执行
mkdir -p /mnt/data/mysql/mysql-data
mkdir -p /mnt/data/mysql/mysql-logs2.6、配置命令
设置命令方便命令操作软链接执行mysql8下对应命令文件执行下面所有的指令
ln -snf /usr/local/mysql8/bin/mysql /usr/bin/mysqlln -snf /usr/local/mysql8/bin/mysqld /usr/sbin/mysqld ln -snf /usr/local/mysql8/bin/mysqladmin /usr/bin/mysqladminln -snf /usr/local/mysql8/bin/mysqlbinlog /usr/bin/mysqlbinlogln -snf /usr/local/mysql8/bin/mysqlcheck /usr/bin/mysqlcheckln -snf /usr/local/mysql8/bin/mysql_config_editor /usr/bin/mysql_config_editorln -snf /usr/local/mysql8/bin/mysqldump /usr/bin/mysqldumpln -snf /usr/local/mysql8/bin/mysqldumpslow /usr/bin/mysqldumpslowln -snf /usr/local/mysql8/bin/mysqlimport /usr/bin/mysqlimportln -snf /usr/local/mysql8/bin/mysqlpump /usr/bin/mysqlpumpln -snf /usr/local/mysql8/bin/mysql_secure_installation /usr/bin/mysql_secure_installationln -snf /usr/local/mysql8/bin/mysqlshow /usr/bin/mysqlshowln -snf /usr/local/mysql8/bin/mysqlslap /usr/bin/mysqlslapln -snf /usr/local/mysql8/bin/mysql_tzinfo_to_sql /usr/bin/mysql_tzinfo_to_sqlln -snf /usr/local/mysql8/bin/mysql_upgrade /usr/bin/mysql_upgrade这样就安装成功了查看一下mysql版本
mysql -V
mysqld -V2.7、修改系统配置
2.7.1、修改/etc/profile添加export PATH$PATH:/usr/local/mysql8/bin
vim /etc/profile在配置文件末尾添加
export PATH$PATH:/usr/local/mysql8/bin2.7.2、配置启动项
在mysql8下拷贝mysql.server到/etc/init.d目录下
cp /usr/local/mysql8/support-files/mysql.server /etc/init.d/mysqld修改/etc/init.d/mysqld的基础路径
vim /etc/init.d/mysqld修改目录位置
basedir/usr/local/mysql8 mysql的安装路径
datadir/mnt/data/mysql/mysql-data 这里要与配置文件保持一致保证service mysql 或 mysqld start均可启动
cp /etc/init.d/mysqld /etc/init.d/mysql添加到启动列表
chkconfig --add mysqld重新加载启动信息:
systemctl daemon-reload查看启动项列表
chkconfig --list三、启动
3.1、初始化mysql服务
初始化命令–basedir根据实际mysql安装路径
mysqld --usermysql --basedir/usr/local/mysql8 --initialize 初始化后查看mysqld.log默认/var/log/mysqld.log或本文取决于my.cnf的日志路径配置找到root初始密码在执行上方initialize语句时mysqld.log文件中就会打印如图所示 启动mysql
service mysqld start使用root登录
mysql -uroot -p首次需要修改密码
ALTER USER rootlocalhost IDENTIFIED WITH mysql_native_password BY 新密码;四、问题拓展
4.1、安装成功后登录报错ERROR 1045 (28000): Access denied for user ‘root’‘localhost’ (using password: NO)或ERROR 1045 (28000): Access denied for user ‘root’‘localhost’ (using password: YES)
出错原因 using password: NO表示输入没有输入密码就尝试登陆了 using password: YES表示输入了密码但密码错误 这里表示很有可能是忘记密码了或者初始化的时候初始化密码不生效因此需要重设密码。
4.1.1 设置跳过密码验证
找到 MySQL 的配置文件 “my.ini”如果自己配置了配置文件就到自己配置的配置文件里面找比如我们当前文档2.4处配置的文件地址为/etc/my.cnfvim配置文件后找到 [mysqld]在其下面任意一行添加 skip-grant-tables保存如下图所示
4.1.2 重启mysql后进行登录
重启
service mysqld restart使用root登录出现输入密码时直接回车就好了
mysql -uroot -p4.1.3 将登录密码设置为空
依次执行命令
use mysql;update user set authentication_string where userroot;quit;4.1.4、修改新密码
重启
service mysqld restart使用root登录出现输入密码时直接回车就好了因为此时密码为空
mysql -uroot -p刷新权限输入 flush privileges;后回车最后输入ALTER USER rootlocalhost IDENTIFIED BY 新密码;后回车
# 刷新权限
flush privileges;# 修改密码
ALTER USER rootlocalhost IDENTIFIED BY 新密码;4.2、新安装的mysql登录后执行任何命令报错You must reset your password using ALTER USER statement before executing this statement.
解决办法
MySQL版本5.7.6版本以前用户可以使用如下命令
mysql SET PASSWORD PASSWORD(Admin2022!);MySQL版本5.7.6版本开始的用户可以使用如下命令
mysql ALTER USER USER() IDENTIFIED BY Admin2022!;