linux 部署mysql

一、前期准备
1. mysql下载

http://链接:https://pan.baidu.com/s/11Ti3G9XaiBCUETkdOFyIOA?pwd=5b14

提取码:5b14

2. 将mysql5.7的jar包上传到linux的root用户下的/home目录下

3. 检查是否安装了MySQL

yum list installed | grep mysql


4. 卸载之前的MySQL(如果没有,则不用执行这一步 )

yum remove mysql-lib.x86_64 #这里的mysql-lib.x86_64是上图对应的序号1


5. 删除之后再从新查看一下还有没有mysql

 

二、安装MySQL
解压mysql安装包
cd /home #进入到存放mysql压缩包的目录
tar -zxvf mysql-5.7.37-linux-glibc2.12-x86_64.tar.gz #解压


2. 重命名 (因为名字太长了,为了方便,把解压之后的mysql目录重新命名)

mv mysql-5.7.37-linux-glibc2.12-x86_64 mysql5.7
3. 在mysql目录下面创建data目录

mkdir /home/mysql5.7/data
#创建好之后我们在mysql5.7目录内ll就可以看到创建好的data目录了

 

4. 创建mysql的用户组和用户,并且给mysql5.7目录设置用户组和用户

注:注意这儿的.必须要,否则会报错。

cd /home
groupadd mysql
useradd mysql -g mysql
cd mysql5.7
chown -R mysql .
chgrp -R mysql .
5. 配置my.cnf文件 vim /etc/my.cnf ,添加内容

[mysqld]
basedir=/home/mysql5.7
datadir=/home/mysql5.7/data
port=3306
[client]
default-character-set=utf8
[mysql]
default-character-set=utf8


6. 修改/etc/selinux/config文件配置,然后重启服务器

vi /etc/selinux/config
把SELINUX=enforcing改为SELINUX=disabled,保存退出,然后重启服务器。
注:这里修改/etc/selinux/config文件配置文件之后要,重启虚拟机,不然接下来的操作可能会遇到问题。

7. 创建sock文件目录

mkdir -p /var/lib/mysql
cd /home/mysql5.7
chown mysql:mysql /var/lib/mysql
8. 配置mysql环境变量

vim /etc/profile
添加如下内容:
export MYSQL_HOME=/home/mysql5.7
export PATH=$MYSQL_HOME/bin:$PATH
9. 初始化mysql

mysqld --user=mysql --basedir=/home/mysql5.7 --datadir=/home/mysql5.7/data --initialize
#初始化完成之后会自动分配一个密码

10. 启动mysql服务器

注:这里三条命名都要执行,要先重启服务器,之后才行

/home/mysql5.7/support-files/mysql.server restart #重启mysql服务器
/home/mysql5.7/support-files/mysql.server stop #停止mysql服务器
/home/mysql5.7/support-files/mysql.server start #启动mysql服务器

11. 检查mysql服务是否正常

ps -ef | grep mysql


12. 登陆mysql

mysql -u root -p
#登录的时候会提示输入密码,这里的额密码就是初始化的时候分配的密码,把初始化时分配的密码复制黏贴到这里就行了。

注意:复制密码的时候不要多复制了空格;黏贴了密码之后密码是不会显示出来的,黏贴了一次之后直接按回车键就行了,不要黏贴多次,黏贴多次就会提示密码错误。

 

13.需要注意的是,刚安装的mysql,不能直接使用,需要修改初始密码

set password=password("123456");
#这里的123456是要修改的密码,记得在修改密码的时候不要忘记输入 ;
14. 测试密码是否修改成功

exit #退出mysql
mysql -u root -p #登录mysql
#提示输入密码之后,输入刚修改的密码就好了。


三、遇到的问题
在删除linux自带的mysql时,yum remove mysql-ql-libs.x86_64 出错,提示“无法解析主机”


解决办法:

vi /etc/yum.repos.d/CentOS-Base.repo
在文件最下边添加如下内容:
[base]
name=CentOS-$releasever
enabled=1
failovermethod=priority
baseurl=http://mirrors.aliyun.com/centos-vault/centos/$releasever/os/$basearch/
gpgcheck=1
gpgkey=http://mirrors.aliyun.com/centos-vault/centos/RPM-GPG-KEY-CentOS-6

[updates]
name=CentOS-$releasever
enabled=1
failovermethod=priority
baseurl=http://mirrors.aliyun.com/centos-vault/centos/$releasever/updates/$basearch/
gpgcheck=1
gpgkey=http://mirrors.aliyun.com/centos-vault/centos/RPM-GPG-KEY-CentOS-6

[extras]
name=CentOS-$releasever
enabled=1
failovermethod=priority
baseurl=http://mirrors.aliyun.com/centos-vault/centos/$releasever/extras/$basearch/
gpgcheck=1
gpgkey=http://mirrors.aliyun.com/centos-vault/centos/RPM-GPG-KEY-CentOS-6

[centosplus]
name=CentOS-6.10 - Plus - mirrors.aliyun.com
failovermethod=priority
baseurl=http://mirrors.aliyun.com/centos-vault/centos/$releasever/centosplus/$basearch/
gpgcheck=1
enabled=0
gpgkey=http://mirrors.aliyun.com/centos-vault/centos/RPM-GPG-KEY-CentOS-6

[contrib]
name=CentOS-6.10 - Contrib - mirrors.aliyun.com
failovermethod=priority
baseurl=http://mirrors.aliyun.com/centos-vault/centos/$releasever/contrib/$basearch/
gpgcheck=1
enabled=0
gpgkey=http://mirrors.aliyun.com/centos-vault/centos/RPM-GPG-KEY-CentOS-6
添加好之后保存退出,在使用yum命令就可以了。

接下来从新输入yum remove mysql-ql-libs.x86_64 ,就可以删除成功了

 

 

2. mysqld --user=mysql --basedir=/home/mysql5.7 --datadir=/home/mysql5.7/data --initialize #在初始化mysql是出错:
错误提示如下:

2022-10-15T10:06:23.227276Z 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details).

2022-10-15T10:06:23.262777Z 0 [Warning] InnoDB: Retry attempts for writing partial data failed.

2022-10-15T10:06:23.262816Z 0 [ERROR] InnoDB: Write to file ./ibdata1failed at offset 0, 1048576 bytes should have been written, only 0 were written. Operating system error number 28. Check that your OS and file system support files of this size. Check also that the disk is not full or a disk quota exceeded.

2022-10-15T10:06:23.262849Z 0 [ERROR] InnoDB: Error number 28 means 'No space left on device'

2022-10-15T10:06:23.262856Z 0 [ERROR] InnoDB: Could not set the file size of './ibdata1'. Probably out of disk space

2022-10-15T10:06:23.262860Z 0 [ERROR] InnoDB: InnoDB Database creation was aborted with error Generic error. You may need to delete the ibdata1 file before trying to start up again.

2022-10-15T10:06:23.869576Z 0 [ERROR] Plugin 'InnoDB' init function returned error.

2022-10-15T10:06:23.869641Z 0 [ERROR] Plugin 'InnoDB' registration as a STORAGE ENGINE failed.

2022-10-15T10:06:23.869653Z 0 [ERROR] Failed to initialize builtin plugins.

2022-10-15T10:06:23.869658Z 0 [ERROR] Aborting

原因:这一大长串错误大体说的就是磁盘空间不够

输入: df - h

发现/home 的磁盘空间使用了的显示100%,(这里问题解决了,一开始的错误没有截图,下图是解决了之后的),原因是我的/home目录下存储的东西太多了,我们创建的用户这些也都是默认在home目录下。

 

解决办法:

方法一:删除一些不用的文件,释放磁盘空间

方法二:对磁盘进行扩容,可以参考下这篇文章http://t.csdn.cn/Balg2

这里我用的是方法一,我把我的一下没用用的用户删了,把里边的一些没有用的文件删除了之后,就释放了一些磁盘空间。就解决了。

对磁盘进行扩容之后,重新初始化mysql就可以了。

3. 解决磁盘空间不足之后,在初始化mysql的时,又遇到了问题,提示Can't create/write to file '/home/mysql5.7/data/is_writable' 。
具体如下:

mysqld: Can't create/write to file '/home/mysql5.7/data/is_writable' (Errcode: 13 - Permission denied)

2022-11-01T02:30:09.379330Z 0 [Warning] Changed limits: max_open_files: 1024 (requested 5000)

2022-11-01T02:30:09.380177Z 0 [Warning] Changed limits: table_open_cache: 431 (requested 2000)

2022-11-01T02:30:09.385902Z 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details).

2022-11-01T02:30:09.449434Z 0 [ERROR] --initialize specified but the data directory exists and is not writable. Aborting.

2022-11-01T02:30:09.449614Z 0 [ERROR] Aborting

原因:这是因为权限不够,在安装mysql的时候,为了防止之后使用mysql的时候出现权限问题,所以安装mysql的时候我们是在root用户下安装的。我安装mysql的也是在root用户下安装的,然后出现权限问题是因为我没有在root用户下初始化mysql,我初始化mysql的时候忘记回到root用户了。如果你的mysql安装的时候没有在root用户下安装的话,建议从新在root用户安装。

解决办法:

回到root用户,在初始化。
————————————————
版权声明:本文为CSDN博主「小-枝-丫」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/m0_61232019/article/details/127597908

posted on 2023-07-14 16:56  店小二的酒  阅读(149)  评论(0编辑  收藏  举报