首页 > 编程知识 正文

linux离线部署mysql的简单介绍

时间:2023-12-23 21:12:49 阅读:319476 作者:DQQS

本文目录一览:

linux上怎么部署mysql

我这是centos系统,ubantu不适用!!!

我这是centos系统,ubantu不适用!!!

我这是centos系统,ubantu不适用!!!

点击右下角展开,否则没有自动换行!!!!

点击右下角展开,否则没有自动换行!!!!

点击右下角展开,否则没有自动换行!!!!

重要的事情说三遍

练习用的话直接yum -y install mysql mysql-server

也可以使用源码安装

先把rpm格式的mysql删除,否则初始化失败rpm -e mysql-server mysql --nodeps //忽略依赖关系删除

yum -y install ncurses-devel //安装依赖包

tar xf cmake-2.8.12.tar.gz -C /usr/src/ //mysql需要cmake支持

cd /usr/src/cmake-2.8.12/ //进入解压路径

./configure gmake gmake install //安装cmake

groupadd mysql //创建mysql组

useradd -M -s /sbin/nologin -g mysql mysql //创建mysql用户,并加入mysql组里

tar xf mysql-5.7.2-m12.tar.gz -C /usr/src/ //解压mysqlcd /usr/src/mysql-5.7.2-m12/ //进入解压路径

cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DWITH_EXTRA_CHARSETS=all -DSYSCONFDIR=/etc make make install //安装选项

-DCMAKE_INSTALL_PREFIX=/usr/local/mysql //主程序安装目录

-DDEFAULT_CHARSET=utf8 //默认字符集为 utf8

-DDEFAULT_COLLATION=utf8_general_ci //默认的字符集校对规则

-DWITH_EXTRA_CHARSETS=all //安装所有字符集

-DSYSCONFDIR=/etc //配置文件存放目录

make make install //开始make

优化步骤

cp support-files/my-default.cnf /etc/my.cnf

cp support-files/mysql.server /etc/init.d/mysqld

chmod +x /etc/init.d/mysqld

echo "PATH=$PATH:/usr/local/mysql/bin" /etc/profile

. /etc/profile //注意“.”后面有空格

chown -R mysql:mysql /usr/local/mysql/

/usr/local/mysql/scripts/mysql_install_db --basedir=/usr/local/mysql/ --datadir=/usr/local/mysql/data --user=mysql //初始化

--basedir=/usr/local/mysql/ //指定安装目录(产品目录)

--datadir=/usr/local/mysql/data //指定数据目录

--user=mysql //指定用户身份

service mysqld start

Starting MySQL.............. [确定]

mysqladmin -u root password '123456' //设置成自己的密码

我是5.7的版本有可能一定几率启动时报错,看下mysql的配置文件,里面的mysql.sock文件找不到,解决方法如下:

find / -name mysql.sock

找到后复制这个路径

vim /etc/my.cnf

找到sock=/data/sock这一行,把后面的路径改成刚才找到的路径然后重启mysql即可。

如果还报错就告诉我

linux怎么安装mysql

一般有下面几种方法:(以红帽系Linux为例)

1、yum install mysql mysql-server

这种版本通常比较旧

2、rpm包离线安装

需要先去MySQL官网下载rpm包

3、源码编译安装

需要先去MySQL官网下载源码

详细安装方法建议百度搜一下MySQL安装教程。

怎样在Linux环境下安装部署MySQL数据库系统

在Linux安装软件需要预先做好如下一些准备:准备好Linux操作系统如:CentOS7。配置好yum源。

完成上述准备后,就可以动手安装MySQL数据库了。主要安装步骤如下:

1. 禁用selinux

setenforce 0

2. 上传安装文件到Linux

3.解压rpm包

tar -xvf mysql-5.7.26-1.el7.x86_64.rpm-bundle.tar

4.安装软件

yum install mysql-community-{libs,client,common,server}-*.rpm

5.启动mysql数据库初始化

systemctl start mysqld

6.修改vi /etc/my.cnf

添加:

[mysqld]

#可以在表中录入中文

character-set-server=utf8 #

explicit-defaults-for-timestamp

# 禁用当前密码认证策略,可以使用简单密码(生产环境不适用)

validate_password=0

7.重启mysql服务

systemctl restart mysqld

8.找临时登录密码

grep -i "temporary password" /var/log/mysqld.log

9.连接MySQL数据库

mysql -uroot -p 输入临时密码

10.修改root用户登录密码为简单密码(生产环境不适用)

alter user root@localhost identified by '';

11.配置MYSQL_PS1环境变量

修改家目录下:.bash_profile文件,添加

export MYSQL_PS1="u@h[d]"

12.使新环境变量生效

source /root/.bash_profile

13.重新连接mysql验证

mysql -uroot -p

除了上述安装方式以外,可能在公司中会遇到安装指定版本的需求,那么如何安装指定版本的MySQL数据呢?这时我们可以采用下载指定版本安装包进行安装的方式,主要步骤如下,假设CentOS7 linux最小安装,已经配置好yum。首先检查是否安装numactl包

rpm -qa|grep numactl

yum install numactl-libs-* # 如果没有安装需要安装。检查是否安装libaio包

rpm -qa|grep libaio

yum install libaio-* # 如果没有安装需要安装

具体安装步骤如下:

* 禁用selinux

setenforce 0

* 上传安装文件到Linux

mysql-5.7.26-linux-glibc2.12-x86_64.tar.gz

* 创建mysql用户组和用户

groupadd -g 27 -r mysql

#-r创建系统账户,-M 不创建用户家目录 -N 不创建和用户名一样的用户组

useradd -M -N -g mysql -r -s /bin/false -c "MySQL Server" -u 27 mysql

id mysql

* 上传安装包到root家目录

* 解压二进制文件到/usr/local

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

* 解压目录改名为mysql

cd /usr/local

ls -l

mv mysql-5.7.26-linux-glibc2.12-x86_64/ mysql

* 环境变量中添加mysql/bin目录

vi /root/.bash_profile

修改PATH=/usr/local/mysql/bin:$PATH:$HOME/bin

添加 export MYSQL_PS1="u@h[d]"

source /root/.bash_profile

* 创建/usr/local/mysql/etc/my.cnf选项文件 (也可以使用默认的/etc/my.cnf选项文件)

mkdir -p /usr/local/mysql/etc

mkdir -p /usr/local/mysql/mysql-files

* 编辑选项文件my.cnf填写默认选项

vi /usr/local/mysql/etc/my.cnf

[mysqld]

basedir=/usr/local/mysql

datadir=/usr/local/mysql/data

socket=/usr/local/mysql/data/mysql.sock

log-error=/usr/local/mysql/data/mysqld.err

pid-file=/usr/local/mysql/data/mysqld.pid

secure_file_priv=/usr/local/mysql/mysql-files

user=mysql

# Disabling symbolic-links is recommended to prevent assorted security risks

symbolic-links=0

Explicit-defaults-for-timestamp

character-set-server=utf8

[mysql]

socket=/usr/local/mysql/data/mysql.sock

* 初始化数据目录

cd /usr/local/mysql

mkdir data

chmod 750 data

chown mysql:mysql data

* 初始化数据库

cd /usr/local/mysql

bin/mysqld --defaults-file=/usr/local/mysql/etc/my.cnf --initialize

* 使用systemd管理mysql

例如:systemctl {start|stop|restart|status} mysqld

cd /usr/lib/systemd/system

touch mysqld.service

chmod 644 mysqld.service

vi mysqld.service

# 添加以下内容

[Unit]

Description=MySQL Server

Documentation=man:mysqld(7)

Documentation=

After=network.target

After=syslog.target

[Install]

WantedBy=multi-user.target

[Service]

User=mysql

Group=mysql

Type=forking

PIDFile=/usr/local/mysql/data/mysqld.pid

# Disable service start and stop timeout logic of systemd for mysqld service.

TimeoutSec=0

# Start main service

ExecStart=/usr/local/mysql/bin/mysqld --defaults-file=/usr/local/mysql/etc/my.cnf --daemonize --pid-file=/usr/local/mysql/data/mysqld.pid $MYSQLD_OPTS

# Use this to switch malloc implementation

EnvironmentFile=-/etc/sysconfig/mysql

# Sets open_files_limit

LimitNOFILE = 65535

Restart=on-failure

RestartPreventExitStatus=1

PrivateTmp=false

以上内容中注意:The --pid-file option specified in the my.cnf configuration file is ignored by systemd.

默认:LimitNOFILE = 5000,如果连接数(max_connection)需要调大,可以将LimitNOFILE 设置为最大65535

* 创建mysql.conf文件

cd /usr/lib/tmpfiles.d

#Add a configuration file for the systemd tmpfiles feature. The file is named mysql.conf and is placed in /usr/lib/tmpfiles.d.

cd /usr/lib/tmpfiles.d

touch mysql.conf

chmod 644 mysql.conf

* mysql.conf添加内容

vi mysql.conf

添加以下语句:

d /usr/local/mysql/data 0750 mysql mysql -

* 使新添加的mysqld服务开机启动

systemctl enable mysqld.service

* 手动启动mysqld

systemctl start mysqld

systemctl status mysqld

* 获得mysql临时登录密码

cat /usr/local/mysql/data/mysqld.err | grep "temporary password"

* 客户端登录连接mysql服务器

mysql -uroot -p

输入临时密码

* 修改MySQL用户root@localhost密码

mysql alter user root@localhost identified by ''; #此处为了方便设置为空密码

* 测试新密码连接MySQL服务

mysql -uroot -p

至此,我们就完成了在Linux环境下安装MySQL的任务。通过这两种方式我们可以体会到在Linux环境下安装软件的基本思路及方法。

如何在linux下安装mysql数据库并配置

在linux下安装mysql数据库并配置的流程比较繁琐,需要耐心调试,具体方法和步骤如下:

1.查找以前是否安装有mysql,使用下面命令:

rpm -qa|grep -i mysql

如果显示有如下包则说明已安装mysql

mysql-4.1.12-3.RHEL4.1

mysqlclient10-3.23.58-4.RHEL4.1

2.如果已安装,则需要删除已安装的数据库,使用以下命令来删除数据库

删除命令:rpm -e --nodeps 包名

( rpm -ev mysql-4.1.12-3.RHEL4.1 )

删除老版本mysql的开发头文件和库

命令:rm -fr /usr/lib/mysql

rm -fr /usr/include/mysql

注意:卸载后/var/lib/mysql中的数据及/etc/my.cnf不会删除,如果确定没用后就手工删除

rm -f /etc/my.cnf

rm -fr /var/lib/mysql

3.下载mysql的rpm包

可以通过wget下载具体的地址因为不能用链接请大家去官网去找

(1)MySQL-server-5.6.10-1.rhel5.x86_64.rpm:MySQL服务器;

(2)MySQL-client-5.6.10-1.rhel5.x86_64.rpm:MySQL客户端;

(3)MySQL-devel-5.6.10-1.rhel5.x86_64.rpm:Mysql开发依赖包。

下载后放到Liunx服务器中。

4.安装MySQL Server的rpm包

rpm -ivh MySQL-server-5.6.21-1.linux_glibc2.5.x86_64.rpm

安装完成后会生成root用户的随机密码,请使用“cat /root/.mysql_secret”或类似命令进行查看。

5.安装MySQL客户端

rpm -ivh MySQL-client-5.6.21-1.linux_glibc2.5.x86_64.rpm

6.安装MySQL开发依赖包

rpm -ivh MySQL-devel-5.6.21-1.linux_glibc2.5.x86_64.rpm

7.启动msyql

安装完成后mysql是没有启动的,运行mysql命令会提示如下错误:

ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)

可使用如下命令启动MySQL:

service mysql start

或者使用如下命令:

/etc/init.d/mysql start

可使用SET PASSWORD命令修改root用户的密码,参考如下:SET PASSWORD = PASSWORD('root123456');

8.登录MySQL

使用mysql命令登录MySQL服务器,运行MySQL的命令时,会提示需要设置root用户密码。

9.设置开机自启动

/etc/init.d/mysql start

设置完成后重启系统,使用natstat –nat命令可看到MySQL的3306端口。

10.至此已经安装好了mysql数据库,当然现在我们的数据库还不支持远程连接,远程连接会出现以下代码:1130,ERROR 1130: Host 192.168.0.10 is not allowed to connect to this MySQL server,可以通过以下以下来解决。

11.改表法:在本机登入mysql后,更改“mysql”数据库里的“user”表里的“host”项,从”localhost”改为'%'。

mysql

mysqluse mysql;

mysqlselect 'host' from user where user='root

12.到此为止,mysql数据库在linux中安装完毕。

linux 怎么部署mysql数据库

创建用于执行mysql服务程序的帐号:

[root@linuxprobe cmake-2.8.11.2]# cd ..

[root@linuxprobe src]# useradd mysql -s /sbin/nologin

创建数据库程序和文件的目录,并设置目录的所属与所组:

[root@linuxprobe src]# mkdir -p /usr/local/mysql/var

[root@linuxprobe src]# chown -Rf mysql:mysql /usr/local/mysql

安装Mysql服务程序(解压与编译过程已省略):

[root@linuxprobe src]# tar xzvf mysql-5.6.19.tar.gz

[root@linuxprobe src]# cd mysql-5.6.19/

[root@linuxprobe mysql-5.6.19]# cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_DATADIR=/usr/local/mysql/var -DSYSCONFDIR=/etc

[root@linuxprobe mysql-5.6.19]# make

[root@linuxprobe mysql-5.6.19]# make install

删除系统默认的配置文件:

[root@linuxprobe mysql-5.6.19]# rm -rf /etc/my.cnf

生成系统数据库(生成信息已省略):

[root@linuxprobe mysql-5.6.19]# cd /usr/local/mysql

[root@linuxprobe mysql]# ./scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/var

创建配置文件的软连接文件:

[root@linuxprobe mysql]# ln -s my.cnf /etc/my.cnf

将mysqld服务程序添加到开机启动项:

[root@linuxprobe mysql]# cp ./support-files/mysql.server /etc/rc.d/init.d/mysqld

[root@linuxprobe mysql]# chmod 755 /etc/init.d/mysqld

[root@linuxprobe mysql]# chkconfig mysqld on

编辑启动项的配置文件:

[root@linuxprobe mysql]# vim /etc/rc.d/init.d/mysqld

//分别修改第46与47行,basedir为程序安装路径,datadir为数据库存放目录。

basedir=/usr/local/mysql

datadir=/usr/local/mysql/var

重启mysqld服务程序:

[root@localhost mysql]# service mysqld start

Starting MySQL. SUCCESS!

把mysql服务程序命令目录添加到环境变量中(永久生效):

[root@linuxprobe mysql]# vim /etc/profile

//在配置文件的最下面追加:

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

[root@linuxprobe mysql]# source /etc/profile

将mysqld服务程序的库文件链接到默认的位置:

[root@linuxprobe mysql]# mkdir /var/lib/mysql

[root@linuxprobe mysql]# ln -s /usr/local/mysql/lib/mysql /usr/lib/mysql

[root@linuxprobe mysql]# ln -s /usr/local/mysql/include/mysql /usr/include/mysql

[root@linuxprobe mysql]# ln -s /tmp/mysql.sock /var/lib/mysql/mysql.sock

初始化mysqld服务程序:

[root@linuxprobe mysql]# mysql_secure_installation

NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MySQL

SERVERS IN PRODUCTION USE! PLEASE READ EACH STEP CAREFULLY!

In order to log into MySQL to secure it, we'll need the current

password for the root user. If you've just installed MySQL, and

you haven't set the root password yet, the password will be blank,

so you should just press enter here.

Enter current password for root (enter for none):

OK, successfully used password, moving on...

Setting the root password ensures that nobody can log into the MySQL

root user without the proper authorisation.

Set root password? [Y/n] y

New password: 输入要为root用户设置的数据库密码。

Re-enter new password: 重复再输入一次密码。

Password updated successfully!

Reloading privilege tables..

... Success!

By default, a MySQL installation has an anonymous user, allowing anyone

to log into MySQL without having to have a user account created for

them. This is intended only for testing, and to make the installation

go a bit smoother. You should remove them before moving into a

production environment.

Remove anonymous users? [Y/n] y(删除匿名帐号)

... Success!

Normally, root should only be allowed to connect from 'localhost'. This

ensures that someone cannot guess at the root password from the network.

Disallow root login remotely? [Y/n] y(禁止root用户从远程登陆)

... Success!

By default, MySQL comes with a database named 'test' that anyone can

access. This is also intended only for testing, and should be removed

before moving into a production environment.

Remove test database and access to it? [Y/n] y(删除test数据库并取消对其的访问权限)

- Dropping test database...

... Success!

- Removing privileges on test database...

... Success!

Reloading the privilege tables will ensure that all changes made so far

will take effect immediately.

Reload privilege tables now? [Y/n] y(刷新授权表,让初始化后的设定立即生效)

... Success!

All done! If you've completed all of the above steps, your MySQL

installation should now be secure.

Thanks for using MySQL!

Cleaning up...

可以百度搜索Linux就该这么学,第9章 使用Apache服务部署静态网站,里面有部署mysql的资料

怎么在linux上安装mysql

如果是 centos的系统 如果在线的话可以用 yum在线源的 RPM进行安装,如果没有可以先下载mysql的rpm进行离线安装,不过离线安装会涉及到很多依赖包的下载安装等

如果是 ubuntu的系统 同样可以用 yum在线源的 apt-get 进行安装,或者下载deb包进行离线安装,同样涉及依赖包的安装

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。