0


mysql——在linux环境安装mysql

1.准备工作

    准备一台没有安装过**mysql、mariadb**的虚拟机,**或者**创建一台全新的虚拟机。**注意**:本次安装mysql是在centos7中进行的。

    准备好linux环境的mysql安装包,可以去官网中下载。可以在这个页面(MySQL :: Download MySQL Community Server (Archived Versions))下载5.7版本的mysql。


2.使用命令行操作

    话不多说,上硬菜,我们直接开始操作

    1.将下载好的安装包传入linux系统中。

    2.安装需要的工具,并解决软件的依赖关系

yum install cmake ncurses-devel gcc gcc-c++ vim lsof bzip2 openssl-devel ncurses-compat-libs net-tools -y

    3.**解压**mysql的二进制安装包

tar xf mysql-5.7.37-linux-glibc2.12-x86_64.tar.gz

    4.**移动**mysql解压后的文件到**/usr/local**并**改名为mysql**

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

    5.**新建组mysql**

groupadd mysql

    6.**新建用户mysql**,**这个用户的shell是/bin/false**,属于组mysql,-r代表这是一个**系统用户**(system)

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

    7.关闭防火墙服务

service firewalld stop

    8.设置防火墙**开机不要启动**

systemctl disable firewalld

    9.**临时**关闭selinux

setenforce 0

    10.**永久**关闭selinux

sed -i '/^SELINUX=/ s/enforcing/disabled/' /etc/selinux/config

    11.新建存放数据的目录,即**mysql的仓库**,-p表示**递归**创建目录

mkdir /data/mysql -p

    12.修改**/data/mysql目录的权限**归mysql用户和mysql组所有,这样mysql启动的mysql进程就可以对这个目录进行读写了

chown mysql:mysql /data/mysql/

    13.设置这个目录只允许mysql用户读写执行,mysql组进行读写,**其他用户没有任何权限**

chmod 750 /data/mysql/

    14.进入/usr/local/mysql/bin/目录

cd /usr/local/mysql/bin/

    15.初始化mysql,**这一步骤注意保存生成的密码**,即最后一行可以复制保存一下,以免丢失。

类似于:2023-07-06T02:47:58.457334Z 1 [Note] A temporary password is generated for root@localhost: HEJ)g&2pzus?

./mysqld --initialize --user=mysql --basedir=/usr/local/mysql/ --datadir=/data/mysql

    16.设置让mysql**支持ssl方式**登录

./mysql_ssl_rsa_setup --datadir=/data/mysql/

    17.修改PATH变量,加入**mysql bin**的目录。临时修改PATH变量的值

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

    18.**永久修改**PATH变量的值,重启linux系统也生效

echo 'PATH=/usr/local/mysql/bin:$PATH' >>/root/.bashrc

    19.**复制**support-files里的mysql.server文件到/etc/init.d/目录下叫mysqld

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

    20.**修改**/etc/init.d/mysqld脚本文件里的datadir目录的值

sed -i '70c datadir=/data/mysql' /etc/init.d/mysqld

    21.生成**/etc/my.cnf**的配置文件,直接全部复制就好

cat >/etc/my.cnf <<EOF

[mysqld_safe]

[client]

socket=/data/mysql/mysql.sock

[mysqld]

socket=/data/mysql/mysql.sock

port = 3306

open_files_limit = 8192

innodb_buffer_pool_size = 512M

character-set-server=utf8

[mysql]

auto-rehash

prompt=\u@\d \R:\m mysql>

EOF

    22.**修改内核**open file的数量

ulimit -n 1000000

    23.设置开机启动的时候也配置生效

echo "ulimit -n 1000000" >>/etc/rc.local

chmod +x /etc/rc.d/rc.local

    24.将mysqld**添加到**linux系统里服务管理名单里

chkconfig --add mysqld

    25.设置**mysqld服务**开机启动

chkconfig mysqld on

    26.**启动mysqld进程**,启动成功就配置好了

service mysqld start

    27.使用随机生成的密码**登录**到mysql里面,我随机生成的已经在上面有了,即HEJ)g&2pzus?

mysql -uroot -p'HEJ)g&2pzus?'

    28.修改mysql的密码,**在mysql里面写语句记得写分号**。密码如果对安全性要求不高的,就设置自己容易记的。我设置成了好好学习天天向上哦耶(hhxxttxsoy)

set password='hhxxttxsoy';

    29.**检验是否配置成功**,如果出现了mysql里面的数据库,代表配置成功了

show databases;


3.使用脚本操作

    根据上面的命令行操作,我们也可以写出一个脚本,可以**实现一键安装的效果**。

    根据上面的命令行写成脚本,需要修改的步骤有:

    1.在**15步**要记得将输出重定向到指定文件中,以便查找随机生成的密码,即

./mysqld --initialize --user=mysql --basedir=/usr/local/mysql/ --datadir=/data/mysql &>passwd.txt

    2.在**16步**的后面添加一个步骤,即在设置mysql支持ssl方式登录的后面加上这个步骤,以提取生成的密码

tem_passwd=$(cat passwd.txt |grep "temporary"|awk '{print $NF}')

#$NF表示最后一个字段

abc=$(命令) 优先执行命令,然后将结果赋值给abc

    3.将**24和25步**改成下面这样

/sbin/chkconfig --add mysqld

/sbin/chkconfig mysqld on

    4.由于是脚本自动将临时密码修改,所有需要**修改合并一下27和28步**

mysql -uroot -p$tem_passwd --connect-expired-password -e "set password='hhxxttxsoy';"

    最后通过对命令的修改和整合,写成一个脚本,并执行,前提是**必须要有**与脚本中的mysql版本号一致的mysql压缩包。**保证**压缩包与脚本在同一目录下。

    以上就是关于在linux系统下安装mysql的基本内容,**如有错误,欢迎指正**。
标签: linux mysql 运维

本文转载自: https://blog.csdn.net/m0_53891399/article/details/131586423
版权归原作者 PIZZA1 所有, 如有侵权,请联系我们删除。

“mysql——在linux环境安装mysql”的评论:

还没有评论