侧边栏壁纸
  • 累计撰写 4 篇文章
  • 累计创建 1 个标签
  • 累计收到 0 条评论

目 录CONTENT

文章目录

Linux部署Mysql

Simon
2025-12-01 / 0 评论 / 0 点赞 / 3 阅读 / 0 字
温馨提示:
部分素材来自网络,若不小心影响到您的利益,请联系我们删除。

Linux部署Mysql

  1. 从MySQL官网下载(也可直接上传安装包)
	   cd /usr/local
	   wget https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-8.0.26-linux-glibc2.12-x86_64.tar.xz
  1. 解压
	   tar -xvf mysql-8.0.26-linux-glibc2.12-x86_64.tar.xz
  1. 创建软链接
	   ln -s mysql-8.0.26-linux-glibc2.12-x86_64 mysql  
  1. 创建用户和组
	   groupadd mysql
	   useradd -r -g mysql -s /bin/false mysql
  1. 创建数据目录(建议放在独立分区)
	   mkdir -p /data/mysql
	   mkdir -p /var/log/mysql
	   mkdir -p /var/run/mysql
  1. 授权
	   chown -R mysql:mysql /data/mysql
	   chown -R mysql:mysql /var/log/mysql
	   chown -R mysql:mysql /var/run/mysql
	   chown -R mysql:mysql /usr/local/mysql
  1. 安装依赖库
       yum install -y libaio
  1. 初始化数据库
	   #进入mysql目录
	   cd /usr/local/mysql
	   # 初始化会生成临时root密码,请记录最后一行的密码
	   bin/mysqld --initialize --user=mysql --datadir=/data/mysql
  1. 配置 my.cnf
	   cat > /etc/my.cnf << EOF
		[mysqld]
		datadir=/data/mysql
		socket=/var/run/mysql/mysql.sock
		log-error=/var/log/mysql/mysqld.log
		pid-file=/var/run/mysql/mysqld.pid
		port=3306

		# 字符集设置
		character-set-server=utf8mb4
		collation-server=utf8mb4_unicode_ci

		[client]
		socket=/var/run/mysql/mysql.sock
		default-character-set=utf8mb4
	   EOF
  1. 创建systemd服务文件
	   cat > /etc/systemd/system/mysql.service << EOF
		[Unit]
		Description=MySQL Server
		After=network.target

		[Service]
		User=mysql
		Group=mysql
		ExecStart=/usr/local/mysql/bin/mysqld --defaults-file=/etc/my.cnf
		ExecReload=/bin/kill -HUP \$MAINPID
		ExecStop=/bin/kill -QUIT \$MAINPID
		PrivateTmp=true
		Restart=on-failure

		[Install]
		WantedBy=multi-user.target
	   EOF
  1. 重载systemd
	   systemctl daemon-reload
  1. 启动MySQL服务
       systemctl start mysql
  1. 设置开机自启
       systemctl enable mysql
  1. 查看状态
	   systemctl status mysql
  1. 修改root密码
	   # 查看临时密码
	   grep 'temporary password' /var/log/mysql/mysqld.log

	   # 使用临时密码登录
	   /usr/local/mysql/bin/mysql -u root -p

	   # 在MySQL shell中执行(替换YourNewPassword):
	   ALTER USER 'root'@'localhost' IDENTIFIED BY '123456';
	   FLUSH PRIVILEGES;
	   exit;
  1. 配置环境变量
	   echo 'export PATH=/usr/local/mysql/bin:$PATH' >> /etc/profile
	   source /etc/profile
  1. 开启远程访问权限
	   #开启远程访问权限
	   update mysql.user set host = '%' where user='root';
	   #刷新权限
	   FLUSH PRIVILEGES;

	   -- 创建远程访问的 root 用户
	   CREATE USER 'root'@'%' IDENTIFIED BY 'meng@1993!';

	   -- 授予所有权限
	   GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION;

	   -- 刷新权限使其立即生效
	   FLUSH PRIVILEGES;
0

评论区