mysql安装包有源码包和二进制包。源码包安装时需要编译。二进制包安装时不需要编译。

二进制格式的包名字很长,都带有版本号、适应平台、适应的硬件类型等,而源码格式仅仅就是一个版本号的tar包。

源代码包里的文件往往会含有种种源代码文件,头文件.h、c代码源文件.c、C++代码源文件.cc/.cpp等;而二进制包里的文件则会有可执行文件(与软件同名的往往是主执行文件),标志是其所在路径含有名为bin的目录。

mysql安装方法:

1)编译

  5.1==。/configure .,make,make install

  5.5--->cmake make,make install

2)yum /rpm

3)二进制包,直接解压初始化数据库,无需编译

本文介绍源码包的安装

1、创建mysql用户

groupadd mysql  创建用户组

useradd myql -g mysql -M -s /sbin/nologin  创建用户并属于用户组。且不给用户创建家目录,也不让登录

2、下载软件并安装

1)、网上下载一个mysql的安装包mysql-5.1.72.tar.gz,上传到linux服务器

2)解压tar zxvf mysql-5.1.72.tar.gz

3)进入到目录中,cd mysql-5.1.72,进行编译

./configure \
--prefix=/application/mysql-5.1.72 \
--with-unix-socket-path=/application/mysql-5.1.72/tmp/mysql.sock \
--localstatedir=/application/mysql-5.1.72/data \
--enable-assembler \
--enable-thread-safe-client \
--with-mysqld-user=mysql \
--with-big-tables \
--without-debug \
--with-pthread \
--enable-assembler \
--with-extra-charsets=complex \
--with-readline \
--with-ssl --with-embedded-server \
--enable-local-infile \
--with-plugins=partition,innobase \
--with-mysqld-ldflags=-all-static \
--with-client-ldflags=-all-static

完成后出错如下

解决办法,安装yum -y install ncurses-devel

然后重新执行编译。成功

最后执行make  &&  make install

4)创建软连接 ln -s /application/mysql-5.1.72/  /application/mysql

如果mysql不是放在web服务器上则到此结束。如果mysql和web服务器在一起,则需要继续下面操作

5)初始化mysql

进入目录,查看mysql配置文件

cd  mysql-5.1.72/support-files/  这个目录下有很多文件,其中主配置文件只有如下几个

根据配置级别高低选择用哪个文件。我们现在用的是虚拟机,所以用small文件实验。mysql默认的配置文件是/etc/my.cnf

此处我们用small配置文件替换,cp my-small.cnf /etc/my.cnf

6)创建存放数据库的地方

mkdir /application/mysql/data -p

7)授权用户和组管理mysql

chown -R mysql:mysql /application/mysql/

8)初始化mysql数据库

用mysql_install_db命令,5.1的实在/bin目录下,后期版本可能再scripts下

/application/mysql/bin/mysql_install_db --basedir=/application/mysql --datadir=/application/mysql/data/ --user=mysql

执行命令后,可以发现/application/mysql/data下生成了2个文件mysql和test

9)启动mysql

上步骤初始化成功后,可以从中看到一些mysql的提示信息,比如怎么样去修改密码,怎么样启动等

第一个命令:

将mysql的启动脚本复制到mysql默认启动脚本替换。

加上执行权限:chmod +x /etc/init.d/mysqld

然后对脚本进行修改vi /etc/init.d/mysqld

修改完后保存

然后就可以成功启动mysql:  /etc/init.d/mysqld start

第二个命令

/application/mysql/bin/mysqld_safe &   然后回车,启动成功

输入netstat -lntup | grep mysql检查是否成功启动

10)启动mysql成功后,登录

添加环境变量 vi /etc/profile

source /etc/profile  生效

至此为止,就完成了。可以直接输入mysql进入。默认情况下,mysql是可以直接登录的

11)杀死mysql进程

mysqladmin shutdown

12)设置密码

mysql启动情况下才可以设置密码/etc/init.d/mysqld start

设置密码的方法还可以在  8) 步骤初始化的时候信息提示中找到

/application/mysql/bin/mysqladmin -u root password '123456'

再次输入mysql就不能直接登录了,需要命令:mysql -uroot -p  回车,会继续让输入密码

13)删除非账户

进入mysql后,select user,host from mysql.user; 发现有一些空账户

删除:drop user ""@localhost;

drop user ""@zylinux1;

14)当密码丢失,无法进入mysql时

以第二种方式启动mysql: /application/mysql/bin/mysqld_safe --skip-grant-table &

启动后,可直接输入mysql,进入数据库

然后对用户密码进行修改update mysql.user set password=PASSWORD("123456") where user='root';

flush privileges;

最新文章

  1. HDOJ 4751 Divide Groups
  2. MongoDB的数据库基本操作(二)
  3. java的新窗体
  4. ADO.NET数据库
  5. C puzzles详解
  6. WordPress 后台禁用Google Open Sans字体,加速网站
  7. [Linked List]Rotate List
  8. Asp.Net2.0下C#环境 Login控件实现用户登录
  9. Hibernate各保存方法之间的差 (save,persist,update,saveOrUpdte,merge,flush,lock)等一下
  10. Android "QR二维码扫描"
  11. HashMap 学习笔记
  12. Android - 传统蓝牙(蓝牙2.0)
  13. Call to undefined function mysql_connect()错误原因
  14. 实时同步到Hbase的优化-1
  15. docker 部署 flask(三)高级编写及生成镜像,安装requirements.txt
  16. DeviceIoControl函数对应的四种数据交换方式
  17. python 数据类型 之 tuple 元组
  18. Informix存储过程
  19. 2018.08.18 NOIP模拟 game(数位dp)
  20. 为eclipse配置javap命令

热门文章

  1. Properties类的使用 序列化与反序列化
  2. 工作流选型专项,Camunda or flowable or?
  3. 小程序的优化代码的分析Promise方法
  4. ssh断连后,保持Linux后台程序连接
  5. 安装黑苹果MoJave记录
  6. AdblockPlus自定义屏蔽广告
  7. CentOS7 更改默认启动桌面(或命令行)模式
  8. VyOS软路由系统基本设置
  9. 学习一下 JVM (二) -- 学习一下 JVM 中对象、String 相关知识
  10. java23种设计模式—— 一、设计模式介绍