linux安装mysql数据库

来源:互联网 发布:淘宝 买飞机 编辑:程序博客网 时间:2024/06/10 04:59

linux安装mysql数据库

环境如下:

Linux:CentOS release 6.7(Final) 64位

Mysql:mysql-5.6.31-linux-glibc2.5-x86_64.tar.gz

 

1、查看是否已经安装

rpm -qa | grep -i mysql


2、卸载

rpm -ev mysql-libs-5.1.73-5.el6_6.x86_64

发现报错:error: Failed dependencies:

       libmysqlclient.so.16()(64bit) is needed by (installed)postfix-2:2.6.6-6.el6_5.x86_64

       libmysqlclient.so.16(libmysqlclient_16)(64bit) is needed by (installed)postfix-2:2.6.6-6.el6_5.x86_64

       mysql-libs is needed by (installed) postfix-2:2.6.6-6.el6_5.x86_64

 

使用如下命令:rpm -ev --nodeps mysql-libs-5.1.73-5.el6_6.x86_64即可。(注:对于有依赖的建议先删除依赖,如果实在解决不了,比如依赖本身就不存在,那么就只能这样通过忽略依赖的方式卸载


3、收集mysql对应的文件夹信息

find / -name mysql

本人搜索为空,若存在则需要删除掉这些垃圾文件&文件夹。

 

4、创建用户和组

groupadd mysql

useradd -r -g mysql mysql

 

5、上传二进制安装包(mysql-5.6.31-linux-glibc2.5-x86_64.tar.gz),并解压

tar -xzfmysql-5.6.31-linux-glibc2.5-x86_64.tar.gz

 

6、生成符号连接

ln -s mysql-5.6.31-linux-glibc2.5-x86_64mysql

 

7、设置文件夹及子文件&子文件夹的拥有者为mysql:mysql

chown -R mysql:mysqlmysql-5.6.31-linux-glibc2.5-x86_64

 

设置结果如下图

8、自定义创建数据库数据文件存放路径,并设置文件所有者及组为mysql:mysql

mkdir -p /u01/app/mysql/data

chown -R mysql:mysql /u01

 

9、初始化数据库

scripts/mysql_install_db--basedir=/soft/mysql  --datadir=/u01/app/mysql/data--user=mysql

执行完这条命令以后,数据库的数据文件(包括mysql,test ,performance_schema等数据库)就被安装到/u01/app/mysql/data目录下了,如下图:


 

10、把服务放到init.d里;把配置文件复制到etc里;把mysql命令放到环境变量里

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

cp /soft/mysql/support-files/my-default.cnf/etc/my.cnf

ln -s /soft/mysql/bin/mysql /usr/bin/mysql

11、配置my.cnf信息

 

12、启动服务,并查看进程

/etc/rc.d/init.d/mysqld start

ps -ef|grep mysql

 

 

13、设置登陆用户名root的密码为password123

在bin下执行:./mysql_secure_installation,按步骤进行设置。

 

14、 现在客户端工具连接数据库是连不上的,需要进行如下处理:

14.1、登陆数据库mysql:

mysql -u root -p mysql

14.2、执行更新操作

update user set host = '%' where host = 'localhost';

注:建议修改'localhost';%代表了任何ip地址均可以访问此mysql库

14.3、刷新权限

flush privileges;

如下图:

 

再次连接成功了!如下图:

 

 

 

附:

删除mysql(二进制安装模式直接删除所有mysql相关文件):

rm -f/etc/init.d/mysqld

rm -f/etc/my.cnf

find / -name mysql     #搜索mysql目录,接着进行删除

find / -name"mysql*"   #先删除上面找出来的,再找出继续删除,注意要不要删除!


 

参考资料:

http://blog.csdn.net/kk185800961/article/details/44118323

http://jingyan.baidu.com/article/0202781161be971bcc9ce51c.html

 


l  报错情况一:

某个时候启动虚拟机,启动mysql服务,再登陆发现报错:


解决办法:

先查询mysql.sock的位置(find /-name mysql.sock)

然后设置软连接:ln -s /tmp/mysql.sock /var/lib/mysql/mysql.sock

然后就可以登陆了。

 

小知识:

Mysql有两种连接方式:TCP/IP、socket。

对于socket方式中的mysql.sock文件的作用是程序与mysqlserver处于同一台机器,发起本地连接时可用。

例如你无须定义连接host的具体IP地址,只要为空或localhost就可以。 在此种情况下,即使你改变mysql的外部port也是一样可能正常连接。

mysql.sock是随每一次 mysqlserver启动生成的。已经根据你在更改完my.cnf后重启mysql时重新生成了一次,信息已跟着变更。

如果mysql.sock文件误删的话,只需重启mysql服务,如果重启成功的话会在datadir目录下面生成mysql.sock到时候指定即可。

 

l  报错情况二:data文件夹丢失

1、创建data空文件夹,并赋予给mysql用户

2、初始化数据库

可看到初始化的数据库又有了

测试可用!

 

l  报错情况三: 如果把data文件夹建在root目录下,初始化数据库时会出现权限不足的问题:

解决办法就是,更换地方。

 

l  报错情况四:如下截图,带上--master-data=2的话需要二进制日志打开:

 

 

解决方法:打开二进制日志即可。

 

l  报错情况五:mysqldump–A命令,在别人机器上只导出mysql和test库。但在自己这里还额外导出proformance_schema库,因为此库不能修改,导致在执行mysql<all.sql命令时,报没权限不能锁表的错误。

检查之后发现本人在装mysql时未删除老版本mysql。导致此命令实际执行的是老版本的命令()。






 pdf版本下载:http://download.csdn.net/download/paopaomm/9850136