linux mysql 编译安装参数详解_Linux:mysql编译安装

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

完成后出错如下

6da42a971cb2ab028bcba1f4601cceb7.png

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

然后重新执行编译。成功

cb3140ab3e0e358c0a6ddf384aac190f.png

最后执行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/  这个目录下有很多文件,其中主配置文件只有如下几个

2304c83843c84ce4e7e75d994809e4cd.png

根据配置级别高低选择用哪个文件。我们现在用的是虚拟机,所以用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

414979773cc52d4066610423aefce08c.png

9)启动mysql

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

77de2a3c9cc1aaa1d297696827c38c00.png

第一个命令:

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

2fea756d5a7f6f50d0d305923700d846.png

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

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

ce8ca30d2a5aae66d394591f8f627bd5.png

修改完后保存

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

第二个命令

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

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

693aad50437eff12e721699e75e1a280.png

10)启动mysql成功后,登录

添加环境变量 vi /etc/profile

b293ab59751125a2b4191a7e66b838aa.png

source /etc/profile  生效

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

11)杀死mysql进程

mysqladmin shutdown

12)设置密码

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

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

345a61fbade53d6cc16babfabdc20cd4.png

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

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

9039a278d8825c2010e460026d0ff868.png

13)删除非账户

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

b686cf59f7744f43f6d4e5802e834dc8.png

删除: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;

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
©️2022 CSDN 皮肤主题:1024 设计师:我叫白小胖 返回首页
评论

打赏作者

weixin_39719727

你的鼓励将是我创作的最大动力

¥2 ¥4 ¥6 ¥10 ¥20
输入1-500的整数
余额支付 (余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值