离线安装数据库 mysql 5.7 linux
方法一
参考链接Linux(Debian10.2)安装MySQL5.7.24环境
赋予文件执行权限chmod +x 文件名
- 使用root用户
sudo su
- 解压文件
tar xvf mysql-5.7.42-linux-glibc2.12-x86_64.tar.gz
- 重命名
mv mysql-5.7.42-linux-glibc2.12-x86_64 mysql
- 将桌面的mysql文件移动到/usr/local/下
mv mysql /usr/local
- 编辑/etc/profile文件
vim /etc/profile
添加下面的语句,按下esc键,输入:wq
退出编辑
export PATH=$PATH:/usr/local/mysql/bin:/usr/local/mysql/lib
- 让配置生效
source /etc/profile
- 创建mysql用户
adduser --home /users/mysql mysql
- 配置my.cnf文件
vim /etc/my.cnf
内容如下,复制完成后,输入:wq退出vim编辑
[mysqld]
bind-address=0.0.0.0
port=3306
user=mysql
basedir=/usr/local/mysql
datadir=/data/mysql
pid-file=/data/mysql/mysql.pid
log-error=/data/mysql/mysql.err
socket=/tmp/mysql.sock
character_set_server=utf8mb4
symbolic-links=0
explicit_defaults_for_timestamp=true
- 创建MySQL数据存储目录,并修改所属用户:
mkdir -p /data/mysql
chown -R mysql:mysql /data/mysql
- 初始化数据库
进入bin目录cd /usr/local/mysql/bin
初始化./mysqld --defaults-file=/etc/my.cnf --basedir=/usr/local/mysql/ --datadir=/data/mysql/ --user=mysql --initialize
初始化的时候可能会报错:不同的错运行不同的命令:
①:错误
./mysqld: error while loading shared libraries: libaio.so.1: cannot open shared object file: No such file or directory
运行:apt-get install libaio1 libaio-dev
②:错误
./mysqld: error while loading shared libraries: libnuma.so.1: cannot open shared object file: No such file or directory
运行:apt-get install libnuma-dev
这个地方有的系统用yum(红帽、Centos),有的用apt-get(Debian、Unbutu、MOXA、凝思)根具自己的系统判断
- 初始化成功后,查看密码
cat /data/mysql/mysql.err
,进行复制
- 在bin目录下启动数据库
./mysqld_safe
,运行这个命令界面会卡住不动,直接关闭就行 - 重新打开一个终端,bin目录进入数据库,输入命令连接数据库,需要输入上面的密码
./mysql -u root -p
- 修改密码:
ALTER USER 'root'@'localhost' IDENTIFIED BY '123456';
flush privileges;
方法二
参考链接银河麒麟/统信UOS/ubuntu20.0.4系统离线安装mysql
- 先下载deb包
- 安装
#在下载的mysql文件目录中执行安装,一般会报错,反复执行直到不报错为止
sudo dpkg -i *.deb
#设置mysql自启
sudo systemctl list-units -all --type=service|grep mysql
#启动mysql服务
sudo systemctl start mysql
# 登录mysql的root用户密码默认为空
mysql -uroot -p
- 修改root密码
#登录mysql
mysql -uroot -p
#选择mysql库
use mysql;
#修改root密码
update user set authentication_string = password('123456') where User ='root';#添加test用户用于远程连接账号
GRANT ALL PRIVILEGES ON *.* TO 'test'@'%' IDENTIFIED BY 'test' WITH GRANT OPTION;
SELECT DISTINCT CONCAT('User: ''',user,'''@''',host,''';') AS query FROM mysql.user;#设置立即生效
flush privileges;
#退出mysql
exit;
#修改mysql数据库配置文件
sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf
#使用vim注释掉mysql配置文件中bind-address=127.0.0.1
#重启mysql服务
sudo systemctl stop mysql
sudo systemctl start mysql