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操作。
-
安装
libaio
库。你可以通过包管理器来安装这个库,这个库通常包含在标准的库组件包中。对于基于Debian的系统(如Ubuntu),使用以下命令:
sudo apt-get updatesudo apt-get install libaio1对于基于RPM的系统(如CentOS),使用以下命令:
sudo yum updatesudo yum install libaio -
如果库已经安装但是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 -
如果你已经安装了
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;