您好,欢迎来到尚车旅游网。
搜索
您的当前位置:首页Linux下mysql安装教程

Linux下mysql安装教程

来源:尚车旅游网
Linux下mysql安装教程

⼀ 环境准备

1、检查是否已经安装过mysql,执⾏命令[root@localhost /]# rpm -qa | grep mysql

从执⾏结果,可以看出我们已经安装了mysql-libs-5.1.73-5.el6_6.x86_64,执⾏删除命令[root@localhost /]# rpm -e --nodeps mysql-libs-5.1.73-5.el6_6.x86_64再次执⾏查询命令,查看是否删除[root@localhost /]# rpm -qa | grep mysql

2、查询所有Mysql对应的⽂件夹[root@localhost /]# whereis mysqlmysql: /usr/bin/mysql /usr/include/mysql

[root@localhost lib]# find / -name mysql/data/mysql/data/mysql/mysql删除相关⽬录或⽂件

[root@localhost /]# rm -rf /usr/bin/mysql /usr/include/mysql /data/mysql /data/mysql/mysql验证是否删除完毕

[root@localhost /]# whereis mysqlmysql:

[root@localhost /]# find / -name mysql[root@localhost /]#

3、检查mysql⽤户组和⽤户是否存在,如果没有,则创建[root@localhost /]# cat /etc/group | grep mysql[root@localhost /]# cat /etc/passwd |grep mysql[root@localhost /]# groupadd mysql

[root@localhost /]# useradd -r -g mysql mysql[root@localhost /]#

4、从官⽹下载是⽤于Linux的Mysql安装包下载命令:

⼆ 安装Mysql

1、在执⾏wget命令的⽬录下或你的上传⽬录下找到Mysql安装包:mysql-5.7.24-linux-glibc2.12-x86_64.tar.gz执⾏解压命令:[root@localhost /]# tar xzvf mysql-5.7.24-linux-glibc2.12-x86_64.tar.gz[root@localhost /]# ls

mysql-5.7.24-linux-glibc2.12-x86_64mysql-5.7.24-linux-glibc2.12-x86_64.tar.gz

解压完成后,可以看到当前⽬录下多了⼀个解压⽂件,移动该⽂件到/usr/local/下,并将⽂件夹名称修改为mysql。如果/usr/local/下已经存在mysql,请将已存在mysql⽂件修改为其他名称,否则后续步骤可能⽆法正确进⾏。执⾏命令如下:

[root@localhost /]# mv mysql-5.7.24-linux-glibc2.12-x86_64 /usr/local/[root@localhost /]# cd /usr/local/

[root@localhost /]# mv mysql-5.7.24-linux-glibc2.12-x86_64 mysql

如果/usr/local/下不存在mysql⽂件夹,直接执⾏如下命令,也可达到上述效果。[root@localhost /]# mv mysql-5.7.24-linux-glibc2.12-x86_64 /usr/local/mysql2、在/usr/local/mysql⽬录下创建data⽬录[root@localhost /]# mkdir /usr/local/mysql/data

3、更改mysql⽬录下所有的⽬录及⽂件夹所属的⽤户组和⽤户,以及权限[root@localhost /]# chown -R mysql:mysql /usr/local/mysql[root@localhost /]# chmod -R 755 /usr/local/mysql

4、编译安装并初始化mysql,务必记住初始化输出⽇志末尾的密码(数据库管理员临时密码)[root@localhost /]# cd /usr/local/mysql/bin

[root@localhost bin]# ./mysqld --defaults-file=/mysql/3306/my.cnf --initialize --user=mysql --datadir=/usr/local/mysql/data --basedir=/usr/local/mysql

补充说明:第4步时,可能会出现错误:

出现该问题⾸先检查该链接库⽂件有没有安装使⽤ 命令进⾏核查[root@localhost bin]# rpm -qa|grep libaio [root@localhost bin]#

运⾏命令后发现系统中⽆该链接库⽂件

[root@localhost bin]# yum install libaio-devel.x86_64

安装成功后,继续运⾏数据库的初始化命令,此时可能会出现如下错误:执⾏如下命令后:

[root@localhost bin]# yum -y install numactl

执⾏⽆误之后,再重新执⾏第4步初始化命令,⽆误之后再进⾏第5步操作!5、运⾏初始化命令成功后,输出⽇志如下:

记录⽇志最末尾位置root@localhost:后的字符串,此字符串为mysql管理员临时登录密码。6、编辑配置⽂件my.cnf,添加配置如下[root@localhost bin]# vi /etc/my.cnf[mysqld]

datadir=/usr/local/mysql/dataport=3306

sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLESsymbolic-links=0max_connections=600

innodb_file_per_table=1lower_case_table_names=1character_set_server=utf8

lower_case_table_names:是否区分⼤⼩写,1表⽰存储时表名为⼩写,操作时不区分⼤⼩写;0表⽰区分⼤⼩写;不能动态设置,修改后,必须重启才能⽣效:

character_set_server:设置数据库默认字符集,如果不设置默认为latin1

innodb_file_per_table:是否将每个表的数据单独存储,1表⽰单独存储;0表⽰关闭独⽴表空间,可以通过查看数据⽬录,查看⽂件结构的区别;

7、测试启动mysql服务器

[root@localhost /]# /usr/local/mysql/support-files/mysql.server start显⽰如下结果,说明数据库安装并可以正常启动启动服务

service mysqld start异常情况

如果出现如下提⽰信息

Starting MySQL... ERROR! The server quit without updating PID file

查看是否存在mysql和mysqld的服务,如果存在,则结束进程,再重新执⾏启动命令#查询服务

ps -ef|grep mysql | grep -v grepps -ef|grep mysqld | grep -v grep

#结束进程kill -9 PID

#启动服务

/usr/local/mysql/support-files/mysql.server start

MySQL错误ERROR 2002 (HY000): Can't connect to local MySQL server through socket解决办法

Starting MySQL... ERROR! The server quit without updating PID file (/opt/app/rms_fg/mysql/data/bjtn-test183-81.pid).解决办法:

如果是单mysql服务,可能是当前存在mysql服务,kill在重新启动

如果是启动多个mysql服务,需要修改my.cnf配置的socket=/opt/app/rms_fg/mysql/mysql.sock指定为不同的⽂件路径

8、添加软连接,并重启mysql服务

[root@localhost /]# ln -s /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql[root@localhost /]# ln -s /usr/local/mysql/bin/mysql /usr/bin/mysql[root@localhost /]# service mysql restart

9、登录mysql,修改密码(密码为步骤5⽣成的临时密码)

[root@localhost /]# mysql -u root -pEnter password:

mysql>set password for root@localhost = password('yourpass');

注意:输⼊密码时,Enter password 后⾯不会有任何显⽰,此时实际是输⼊成功的,输⼊完密码后直接回车即可。或使⽤:mysql -u root -p密码 ,回车后,即可直接进⼊数据库

10、修改默认密码

mysql>alter user 'root'@'localhost' identified by 'maap';11、开放远程连接mysql>use mysql;

msyql>update user set user.Host='%' where user.User='root';mysql>flush privileges;

12、设置开机⾃动启动

1、将服务⽂件拷贝到init.d下,并重命名为mysql[root@localhost /]# cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld2、赋予可执⾏权限[root@localhost /]# chmod +x /etc/init.d/mysqld3、添加服务[root@localhost /]# chkconfig --add mysqld4、显⽰服务列表[root@localhost /]# chkconfig --list

13、初始化密码错误

--initialize specified but the data directory has files in it. Aborting

原因是你已经进⾏了数据库初始化因为mysql在进⾏初始化的时候已经⾃动创建了⼀个root⽤户1找到配置⽂件的数据⽬录

[root@server4 mysql]# vim /etc/my.cnf

2 找到数据库的⽬录将该⽬录进⾏备份,mv data data_bac重新初始化 就好了

14、 【MySQL】initialize specified but the data directory has files in it. Aborting我们在安装mysql的时候可能会遇到这个问题:

是不是执⾏了这个命令呢?mysqld --initialize --user=mysql

报这个错误的原因是因为你的mysql数据库已经进⾏初始化了,所以不能⽤这种⽅式再进⾏初始化⽤户了,因为mysql在初始化的时候会⾃动创建⼀个root⽤户的。

这个时候我们应该怎么办呢?

1、找到数据库⽬录

我们可以在mysql的配置⽂件中找到数据库的⽬录:

vi /etc/my.cnf

在其中我们可以找到datadir这个配置:

这⾥配置的就是我们的mysql数据库的⽬录

2、移动(备份)数据库⽂件

⾸先要保证mysql处于停⽌状态,然后 cd /var/lib

mv mysql mysql_bak

我们这⾥是把mysql⽂件夹重命名成了mysql_bak,然后我们就可以执⾏初始化⽤户的语句了:

mysqld --initialize --user=mysql

然后我们可以启动数据库看看能不能⽤这个账户登陆了。 其他⽅法

移动了数据库⽂件之后,我们可以清理⼀下⽇志⽂件:echo ''->/var/log/mysqld.log然后重新启动mysql的服务:service mysqld start

这个时候会在⽇志中看到数据库初始化时候创建的root⽤户和密码:

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- sceh.cn 版权所有

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务