ubuntu安装压缩包版mysql

1、安装
1.1、下载
mysql下载地址:MySQL :: Download MySQL Community Server

将下载的文件上传到服务器中,或者使用命令下载(安装自己需要的版本)

wget https://downloads.mysql.com/archives/get/p/23/file/mysql-5.7.44-linux-glibc2.12-x86_64.tar.gz
我这里下载到 /home 目录下


1.2、创建文件夹
解压之前先创建文件夹(具体安装自己的实际情况)

创建mysql日志目录

mkdir -p /usr/local/mysql/log
创建mysql数据目录

mkdir -p /usr/local/mysql/data
新建mysql socket文件目录

mkdir -p /var/lib/mysql
修改目录权限

sudo chmod 777 /var/lib/mysql
安装依赖,避免启动mysql时报错

sudo apt-get install libncurses5
1.3、解压
mysql压缩包目录以及要解压的位置更换为自己的实际地址

tar -zxvf /home/mysql-5.7.44-linux-glibc2.12-x86_64.tar.gz --strip-components=1 -C /usr/local/mysql
2、配置
2.1、新增用户组、用户
切换到 /usr/local 目录下

新建用户组

groupadd mysql
新建用户

useradd -r -g mysql mysql
修改文件和目录的所有者和所属组

chown -R mysql:mysql /usr/local/mysql
2.2、新建配置文件
新建 my.cnf 文件,并把文件放在目录 /etc 下,文件内容示例(具体配置可根据自己项目进行调整)

[mysql]
default-character-set=utf8
socket=/var/lib/mysql/mysql.sock

[mysqld]
port=3306
basedir=/usr/local/mysql
datadir=/usr/local/mysql/data
socket=/var/lib/mysql/mysql.sock
character-set-server=utf8
default-storage-engine=INNODB
max_connections=100
lower_case_table_names=1
explicit_defaults_for_timestamp=true
sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION

[client]
port=3306
default-character-set=utf8


3、安装 & 开机自启
3.1、初始化
进入解压压缩包后的mysql目录

cd /usr/local/mysql
初始化mysql

./bin/mysqld --defaults-file=/etc/my.cnf --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --initialize

可能会报异常:

./bin/mysqld: error while loading shared libraries: libaio.so.1: cannot open

解决方法:

这个错误表明你的系统在尝试启动MySQL数据库服务器时,无法找到名为libaio.so.1的共享库文件。libaio库是Linux异步I/O库,这个库对MySQL是必需的,因为它依赖于这个库来进行异步I/O操作。

  1.  安装libaio库。你可以通过包管理器来安装这个库,这个库通常包含在标准的库组件包中。

    对于基于Debian的系统(如Ubuntu),使用以下命令:

    sudo apt-get update
    sudo apt-get install libaio1

    对于基于RPM的系统(如CentOS),使用以下命令:

    sudo yum update
    sudo yum install libaio
  2.  如果库已经安装但是MySQL服务器仍然报错,可能是因为系统没有正确链接到libaio.so.1文件。可以尝试创建一个软链接到libaio.so.1

    sudo ln -s /usr/lib/libaio.so.1 /usr/lib/libaio.so.1

    或者,如果库在不同的路径下:

    sudo ln -s /path/to/your/libaio.so.1 /usr/lib/libaio.so.1
  3.  如果你已经安装了libaio库,但是仍然遇到问题,可能需要重新配置MySQL,或者确保它的路径设置正确,以便它可以找到libaio库。

确保在进行这些操作后重新启动MySQL服务。如果问题依然存在,请检查MySQL的错误日志文件以获取更多信息。

 


安装完成后记住mysql的随机密码

3.2、复制启动脚本到资源目录
复制启动脚本

cp ./support-files/mysql.server /etc/init.d/mysql
修改basedir路径

sed -i "s|^basedir=.*|basedir=/usr/local/mysql|" /etc/init.d/mysql
修改datadir路径

sed -i "s|^datadir=.*|datadir=/usr/local/mysql/data|" /etc/init.d/mysql
3.3、添加环境变量
echo "export PATH=\$PATH:/usr/local/mysql/bin" >> /etc/profile
重新加载环境变量

source /etc/profile
3.4、开机自启
方式一:使用 update-rc.d 命令
使用 update-rc.d 命令将MySQL服务添加到系统启动项

sudo update-rc.d mysql defaults
方式二:使用 systemd 服务
在目录 /etc/systemd/system 下新建文件 mysql.service,文件内容示例(实际路径等根据自己安装路径修改):

[Unit]
Description=MySQL Community Server
After=network.target

[Service]
Type=forking
# 设置权限
User=mysql
Group=mysql
# 设置MySQL的安装目录和启动脚本
ExecStart=/usr/local/mysql/support-files/mysql.server start
ExecReload=/usr/local/mysql/support-files/mysql.server restart
ExecStop=/usr/local/mysql/support-files/mysql.server stop

[Install]
WantedBy=multi-user.target
4、常用命令 & 操作
4.1、启动mysql常用命令
# 查看3306端口(mysql默认端口)是否占用
netstat -ntlp | grep 3306

# 启动mysql
sudo systemctl start mysql

# 重启mysql
sudo systemctl restart mysql

# 停止mysql
sudo systemctl stop mysql

# 查看mysql状态
sudo systemctl status mysql
4.2、修改root密码

# 修改root密码
ALTER USER 'root'@'localhost' IDENTIFIED BY '123456';

# 切换到mysql,修改root用户Host地址,并重新加载
use mysql;
update user set user.Host='%' where user.User='root';
flush privileges;

posted @ 2024-11-01 17:28  _Lawrence  阅读(15)  评论(0编辑  收藏  举报