CentOS7/Linux安装MySQL 8.0.27

wget

cd /usr/local
mkdir mysql
cd mysql
wget https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-8.0.27-linux-glibc2.12-x86_64.tar.xz # 下载 可能需要几分钟
tar -xvf mysql-8.0.27-linux-glibc2.12-x86_64.tar.xz # 解压
mv mysql-8.0.27-linux-glibc2.12-x86_64 mysql-8.0.27 # 改名
cd mysql-8.0.27
mkdir data # 存储文件
groupadd mysql # 创建用户组
useradd -g mysql mysql# 创建用户 
chown -R mysql.mysql /usr/local/mysql/mysql-8.0.27 # 授权
yum install -y libaio # io工具
cd bin/
./mysqld --user=mysql --basedir=/usr/local/mysql/mysql-8.0.27 --datadir=/usr/local/mysql/mysql-8.0.27/data/ --initialize  # 初始化基础信息,初始化后控制台会有【初始密码】,记得保存 %XeKw/m,,0#d
vi /etc/my.cnf
[mysqld]
# 指定Mysql数据库的开放端口。
port = 3306
# 设置Mysql数据库的安装目录(绝对路径)。
basedir = /usr/local/mysql/mysql-8.0.27
# 设置Mysql数据库的数据存放的绝对路径(存放目录)。必须是data,或者是\\xxx-data(my.ini需要,my.cnf不需要)
datadir = /usr/local/mysql/mysql-8.0.27/data
# 设置MySQL数据库的最大连接数量。如果服务器的并发连接请求量比较大,建议调高此值,以增加并行连接数量。
# 可以过'%connect%'通配符查看当前状态的连接数量,以定夺该值的大小。
max_connections = 100
# 设置MySQL数据库的连接超时时间。默认设置是一个数据库连接超过8小时没有使用,达到了server端的timeout,服务器将断开这条连接,此后再通# 过这个connection发起查询操作都将失败。超时等待时间,单位秒,即一个connection在若干秒内无响应,则服务器切断与这个客户端的连接。
wait_timeout = 28800
# 当没有数据库请求时,28800秒(即8小时)将自动断开连接。要同时设置interactive_timeout和wait_timeout才会生效。
interactive_timeout = 28800
# 编码
character-set-server = UTF8MB4
# 使用“mysql_native_password”插件认证 如果需要,把下面代码注释去掉
# default_authentication_plugin=mysql_native_password
cp -a /usr/local/mysql/mysql-8.0.27/support-files/mysql.server /etc/init.d/mysql # 添加mysql服务到mysql
chmod +r /etc/init.d/mysql # 授权
chkconfig --add mysql # 检查,设置mysql服务
service mysql start # 启动服务 如果提示缺少文件时需要创建对应文件
ln -s /usr/local/mysql/mysql-8.0.27/bin/mysql /usr/bin # 添加mysql命令到bin目录
mysql -u root -p # 执行后提示输入密码,密码是初始化时给的 输入正确的密码下一步可以修改密码了
ALTER USER USER() IDENTIFIED BY '123456'; -- 修改密码
update user set Host='%' where User='root'; -- 如果在Navicate中登录的用户名不是localhost就都会被not allowed ,可以将Host改为通配符%

下面这行需要根据实际情况来决定是否执行

alter user 'root'@'%' identified with mysql_native_password by '123456'; -- navicat密码规则是mysql_native_password,服务器如果是caching_sha2_password,则需要修改,保持一样
flush privileges
mysql> exit
service mysql status # 查看启动情况
service mysql stop # 停止mysql服务
service mysql start # 启动mysql服务

至此,本地已经可以连接上服务器的MySQL了。

需要注意的比如权限问题,配置文件,密码规则等

yum

参考 Linux环境yum,安装MySQL - 心、累 - 博客园 (cnblogs.com)

NOTE

确保配置文件和文件夹权限没有问题,不然启动不了。

posted @ 2022-12-29 03:47  夏末秋初~  阅读(399)  评论(0编辑  收藏  举报