MySQL官方安装方法(Linux Generic Binaries)

下载地址https://downloads.mysql.com/archives/community/
安装文档https://downloads.mysql.com/archives/community/

安装步骤

1.上传tar包

scp root@172.18.163.34:/home/mysql-5.7.35-linux-glibc2.12-x86_64.tar.gz /home

2.用户组

groupadd mysql 
useradd-r-g mysql -s /bin/false mysql

3.解压到/usr/local

tar zxvf mysql-5.7.35-linux-glibc2.12-x86_64.tar.gz -C /usr/local/

4.重命名

mv /usr/local/mysql-5.7.35-linux-glibc2.12-x86_64 mysql

5.日志和数据文件

mkdir mysql-files 
chown mysql:mysql mysql-files 
chmod 750 mysql-files

6.初始化

bin/mysqld--initialize--user=mysql

7.环境变量

export PATH=$PATH:/usr/local/mysql/bin

8.自启动

cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql.server

9.启动

service mysql start

二.可能遇到的问题及处理

1.启动日志文件没权限

mkdir /var/log/mariadb
touch /var/log/mariadb/mariadb.log
chown -R mysql:mysql /var/log/mariadb/

2.mysql启动程序

/usr/local/mysql/support-files/mysql.server

3. 默认mysql.sock位置,启动成功会生成

/var/lib/mysql/mysql.sock

4.mysql 配置文件

/etc/my.cnf

5.报错 原因配置文件是socket路径是myql.sock

ROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)
ln -s /var/lib/mysql/mysql.sock /tmp/mysql.sock 

6.重置root密码

ALTER USER USER() IDENTIFIED BY '1234';

7.授权远程登录

GRANT ALL  PRIVILEGES ON *.* TO 'user'@'%'IDENTIFIED BY '1234' WITH GRANT OPTION; 

8.指定ip远程登录

GRANT ALL  PRIVILEGES ON *.* TO 'myuser'@'192.168.1.3'IDENTIFIED BY 

9.刷新权限使配置生效

FLUSH  PRIVILEGES   
<think>好的,用户现在想在Linux Ubuntu系统下安装MySQL,之前他们已经问过如何彻底卸载MySQL,现在需要安装指南。让我先回顾一下之前的对话和提供的引用,确保正确理解需求。 首先,用户提供的引用中有多个关于Ubuntu安装MySQL的信息,包括编译安装、二进制包安装、LEMP堆栈配置、MySQL 8.0安装步骤以及配置文件修改。引用[2]提到使用Generic Binaries安装,并且需要处理版本升级的问题,而引用[4]是关于MySQL 8.0的安装步骤。用户现在需要的是正确安装MySQL方法,可能需要综合这些信息。 用户之前的问题是关于卸载MySQL,现在转向安装,可能需要考虑版本选择和安装后的配置。根据引用[4],安装MySQL 8.0时可能需要设置root密码,并且检查服务状态。而引用[2]提到使用Generic Binaries安装5.7.44版本,因为官方deb包可能不支持更高版本。用户可能需要选择适合的版本,尤其是如果他们有特定版本需求的话。 此外,引用[3]中提到了检查用户身份验证方法,这可能涉及到安装后的安全设置,比如确保root用户使用密码登录而不是auth_socket。引用[5]涉及配置文件的修改,特别是字符集设置,这对中文用户可能很重要。 用户可能的需求包括: 1. 安装最新稳定版本的MySQL,或者特定版本(如5.7或8.0)。 2. 安装过程中的依赖解决和配置。 3. 安全设置,包括root密码和远程访问权限。 4. 字符集配置,避免乱码问题。 5. 验证安装是否成功,服务是否正常运行。 需要确保回答覆盖这些方面,并根据引用中的信息提供准确步骤。例如,使用APT安装MySQL 8.0(如引用[4]),或者手动安装Generic Binaries(如引用[2]),并处理可能的版本问题。同时,配置文件和用户权限设置(引用[3]和[5])也很重要。 另外,用户可能对安装后的基本操作和常见问题解决感兴趣,比如如何启动服务、设置开机启动、修改密码等。需要确保步骤清晰,避免用户遇到之前卸载残留导致的问题,比如服务冲突或端口占用,这在之前的卸载指南中已经提到过。 最后,生成相关问题,帮助用户进一步了解安装后的步骤或可能遇到的问题,如版本升级、配置优化、权限管理等。</think>### 如何在Linux Ubuntu系统上正确安装MySQL --- #### 一、选择安装方式(根据需求) 1. **APT官方仓库安装(推荐MySQL 8.0)** ```bash # 更新软件源并安装 sudo apt update sudo apt install mysql-server ``` - 自动处理依赖项和配置文件 - 默认安装最新稳定版(如MySQL 8.0) - 安装过程中可能提示设置root密码(Ubuntu 22.04后默认使用auth_socket插件)[^4] 2. **手动安装Generic Binaries(适用于特定版本需求,如MySQL 5.7.44)** ```bash # 下载官方二进制包 wget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.44-linux-glibc2.12-x86_64.tar.gz tar -zxvf mysql-5.7.44-linux-glibc2.12-x86_64.tar.gz sudo mv mysql-5.7.44-linux-glibc2.12-x86_64 /usr/local/mysql # 初始化系统用户与权限 sudo groupadd mysql sudo useradd -r -g mysql -s /bin/false mysql sudo chown -R mysql:mysql /usr/local/mysql # 初始化数据目录 sudo /usr/local/mysql/bin/mysqld --initialize --user=mysql sudo /usr/local/mysql/bin/mysql_ssl_rsa_setup ``` - 适合需要精确控制版本的场景[^2] --- #### 二、关键配置步骤 1. **启动服务与设置开机自启** ```bash # APT安装方式 sudo systemctl start mysql sudo systemctl enable mysql # 手动安装方式需复制启动脚本 sudo cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql.server sudo update-rc.d mysql.server defaults ``` 2. **安全加固(必做)** ```bash sudo mysql_secure_installation ``` - 根据提示操作: - 设置root密码(若未在安装时设置) - 移除匿名用户 - 禁止远程root登录 - 删除测试数据库 3. **身份验证方式修正(针对auth_socket问题)** ```sql ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '你的密码'; FLUSH PRIVILEGES; ``` - 解决Ubuntu新版本默认使用socket认证导致客户端无法登录的问题[^3] 4. **字符集配置(预防中文乱码)** ```bash sudo vim /etc/mysql/my.cnf ``` 添加以下内容: ```ini [mysqld] character-set-server=utf8mb4 [client] default-character-set=utf8mb4 [mysql] default-character-set=utf8mb4 ``` - 修改后重启服务:`sudo systemctl restart mysql`[^5] --- #### 三、验证安装 1. **检查服务状态** ```bash sudo systemctl status mysql ``` - 正常状态应显示`active (running)` 2. **登录测试** ```bash mysql -u root -p ``` - 输入密码后进入MySQL命令行即表示成功 3. **查看版本信息** ```sql SELECT VERSION(); ``` --- #### 四、高级配置(按需选择) 1. **远程访问权限** ```sql CREATE USER '用户名'@'%' IDENTIFIED BY '密码'; GRANT ALL PRIVILEGES ON *.* TO '用户名'@'%'; FLUSH PRIVILEGES; ``` - 需同时修改`/etc/mysql/mysql.conf.d/mysqld.cnf`中的`bind-address = 0.0.0.0` 2. **防火墙开放端口** ```bash sudo ufw allow 3306/tcp ``` --- ### 相关问题 1. 如何在Ubuntu上实现MySQL多版本共存? 2. 使用APT安装与手动编译安装MySQL有何性能差异? 3. 如何通过日志排查MySQL启动失败问题? [^1]: 编译安装时的用户权限控制与安全初始化流程 [^2]: Generic Binaries版本升级的依赖管理与冲突解决 [^3]: MySQL 8.0身份验证插件变更对客户端连接的影响 [^4]: systemd服务管理在MySQL运维中的典型应用 [^5]: 字符集配置对数据库存储和查询一致性的作用
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值