1. 首页
  2. 技术知识

Linux下安装mysql的教程详解

1. 关闭mysql服务

# service mysqld stop


2. 检查是否有rpm包,如果没有用rpm安装过mysql,不应该有残留,如果有,需要删掉

检查语法: rpm -qa|grep -i mysql

删除语法: rpm -e <包的名字>

如果遇到依赖,无法删除,使用 rpm -e –nodeps <包的名字> 不检查依赖,直接删除rpm包。


3. 通过find命令检查是否有安装mysql文件,有需要删除

检查语法: find / -name mysql

删除语法: rm -rf 目录文件(或文件)


******(2)创建mysql分组和用户******


1. 暴力删除mysql用户

删除语法: userdel -r -f mysql(如果没有,会提示你mysql不存在,不用在意)


2. 添加分组

添加语法: groupadd mysql


3. 添加mysql用户

添加语法: useradd -g mysql mysql


******(3)解压tar包******

1. cd到mysql-5.7.12-linux-glibc2.5-x86_64.tar.gz目录

2. 解压tar包

解压语法:tar zxvf mysql-5.7.12-linux-glibc2.5-x86_64.tar.gz

解压后多出一个mysql-5.7.12-linux-glibc2.5-x86_64的文件,

将这个文件复制到自己喜欢的目录,重命名为mysql,复制的时候请耐心等待,

复制完后,cd到mysql目录,新建一个data的文件夹。

复制语法: cp -r mysql-5.7.12-linux-glibc2.5-x86_64  /usr/local/mysql

新建文件语法: mkdir data

chmod 770 data

在/usr/local/mysql里新建一个data文件夹,并修改权限为770(drwxrwx—.):

[wangh@HavGO mysql]$ sudo mkdir data

[wangh@HavGO mysql]$ sudo chmod 770 data 将/usr/local/mysql的用户设为mysql,用户组设为mysql:

[wangh@HavGO ~]$ cd /usr/local/

[wangh@HavGO local]$ sudo chown -R mysql:mysql mysql </pre>

</div>

<p>   进入/usr/local/mysql文件夹并执行该命令:</p>

<p><code>[wangh@HavGO mysql]$ sudo bin/mysqld –initialize –user=mysql –basedir=/usr/local/mysql –datadir=/usr/local/mysql/data</code></p>

<p>该命令的意思是初始化 并制定user、mysql目录和data目录(第三步创建的data)</p>

<p> 执行完成后得到一个mysql初始密码,我们需要先保存起来,后期第一次登录mysql时使用</p>

<blockquote>

<p>2022-06-30T07:40:21.663544Z 1 [Note] A temporary password is generated for root@localhost: 0hl..Ult.usK</p>

<p>A temporary password is generated for root@localhost: 0hl..Ult.usK

                                                                                                             0hl..Ult.usK

</p>

</blockquote>

<p>   上述完毕后,执行该命令:</p>

<div class=”jb51code”>

<pre class=”brush:bash;”>

[wangh@HavGO mysql]$ sudo bin/mysql_ssl_rsa_setup –basedir=/usr/local/mysql –datadir=/usr/local/mysql/data该命令设置SSL安全连接mysql(RSA加密),指定mysql目录和data目录

   在/var/log/里新建一个mysql日志文件夹用于存放mysql运行日志:

[wangh@HavGO mysql]$ cd /var/log

[wangh@HavGO log]$ sudo mkdir mysql   在/usr/local/mysql文件夹中执行以下命令:

[wangh@HavGO mysql]$ sudo bin/mysqld_safe –user=mysql –basedir=/usr/local/mysql/ –datadir=/usr/local/mysql/data &再次按一次Enter键让此命令后台运行

mysqld_safe脚本功能自行百度

   将mysql加入/etc/init.d启动引导:

[wangh@HavGO mysql]$ sudo cp support-files/mysql.server /etc/init.d/mysql   配置/etc/my.cnf(my.cnf是mysql的配置文件)

[wangh@HavGO mysql]$ vim /etc/my.cnf修改配置,如下图:

[mysqld]

# 设置mysql的安装目录

basedir=/usr/local/mysql

# 设置mysql数据库的数据的存放目录

datadir=/usr/local/mysql/data

# 服务端使用的字符集默认为8比特编码的latin1字符集

character-set-server=utf8

socket=/tmp/mysql.sock

#socket=/var/lib/mysql/mysql.sock

user=mysql

[mysql-safe]

log-error=/var/log/mysql/mysqld.log

pid-file=/var/run/mysqld/mysqld.pid其他设置可配可不配

# 设置mysql客户端默认字符集

default-character-set=utf8

socket=/var/lib/mysql/mysql.sock

[mysqld]

skip-name-resolve

#设置3306端口

port = 3306

# 允许最大连接数

max_connections=200

# 创建新表时将使用的默认存储引擎

default-storage-engine=INNODB

lower_case_table_names=1

max_allowed_packet=16M

#忘记密码时可取消注释,无密码登陆

#skip-grant-tables   配置环境变量

[wangh@HavGO mysql]$ vim /etc/profile添加以下内容:

export MYSQL_HOME=”/usr/local/mysql”

export PATH=”$PATH:$MYSQL_HOME/bin”添加完成,保存退出后,让环境变量立即生效:

[wangh@HavGO mysql]$ source /etc/profile </pre>

</div>

<p>   现在mysql已经安装完毕,启动mysql服务:</p>

<div class=”jb51code”>

<pre class=”brush:sql;”>

[wangh@HavGO etc]$ sudo service mysql start显示启动成功。

如果在第2步骤中,mysql文件夹不是以“mysql命名”,mysqld_safe会报错,显示“mysqld_safe The file /usr/local/mysql/bin/mysqld

does not exist or is not executable.”

因为mysqld_safe脚本默认mysql路径为/usr/local/mysql,此时有两种解决办法,将mysqld_safe中的所有/usr/local/mysql目录改为自己实际的安装目录

或者将自己实际安装目录创建链接至/usr/local/mysql

mkdir /var/lib/mysql

mysql_install_db –user=mysql –ldata=/var/lib/mysql/   mysql服务启动后,键入命令进入mysql,密码为之前获取的初始密码;

[wangh@HavGO etc]$ mysql -u root -p输入初始密码,回车

设置新密码为:jkl12345784  

  再次用新密码登陆,就可以使用mysql了。

    登录后立即修改root密码:

mysql> alter user ‘root’@’localhost’ identified by ‘admin’;

Query OK, 0 rows affected (0.00 sec)其中your_password是你设置的新密码。新密码应是强密码,要求密码包含大小写字母、数字及标点符号,长度应该在6位以上。

grant all privileges on *.* to ‘root’@’%’identified by ‘admin’ with grant option;

flush privileges

ps aux |grep httpd
总结

以上所述是小编给大家介绍的Linux下安装mysql的教程详解,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对共生网络网站的支持!

原创文章,作者:starterknow,如若转载,请注明出处:https://www.starterknow.com/115262.html

联系我们