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 mysql
mysql: /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 mysql
mysql:
初秋搭配
[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_执⾏解压命令:[root@localhost /]#  tar xzvf mysql-5.7.24-linux-glibc2.12-x86_
[root@localhost /]# ls
mysql-5.7.24-linux-glibc2.12-x86_64
梦见老朋友
mysql-5.7.24-linux-glibc2.12-x86_
解压完成后,可以看到当前⽬录下多了⼀个解压⽂件,移动该⽂件到/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/mysql
2、在/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/myf --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、运⾏初始化命令成功后,输出⽇志如下:
mike前女友sara记录⽇志最末尾位置root@localhost:后的字符串,此字符串为mysql管理员临时登录密码。
6、编辑配置⽂件myf,添加配置如下
崇山峻岭的近义词
[root@localhost bin]#  vi /etc/myf
[mysqld]
datadir=/usr/local/mysql/data
port=3306
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
symbolic-links=0
max_connections=600
innodb_file_per_table=1
lower_case_table_names=1
character_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
异常情况
如果出现如下提⽰信息
ERROR! The server quit without updating PID file
查看是否存在mysql和mysqld的服务,如果存在,则结束进程,再重新执⾏启动命令
#查询服务
ps -ef|grep mysql | grep -v grep
ps -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
解决办法
ERROR! The server quit without updating PID file (/opt/app/rms_fg/mysql/data/bjtn-test183-81.pid).
解决办法:
如果是单mysql服务,可能是当前存在mysql服务,kill在重新启动
如果是启动多个mysql服务,需要修改myf配置的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/mysqld
2、赋予可执⾏权限[root@localhost /]# chmod +x /etc/init.d/mysqld
3、添加服务[root@localhost /]# chkconfig --add mysqld
4、显⽰服务列
表[root@localhost /]# chkconfig --list
13、初始化密码错误
--initialize specified but the data directory has files in it. Aborting
原因是你已经进⾏了数据库初始化因为mysql在进⾏初始化的时候已经⾃动创建了⼀个root⽤户
1到配置⽂件的数据⽬录
[root@server4 mysql]# vim /etc/myf
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/myf
在其中我们可以到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⽤户和密码:

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。