温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

mysql 数据库的安装之一 源码安装

发布时间:2020-06-30 14:00:26 来源:网络 阅读:349 作者:ahtornado 栏目:数据库

MySQL是一个关系型数据库管理系统由瑞典MySQL AB 公司开发,目前属于 Oracle 旗下产品。MySQL 最流行的关系型数据库管理系统,在 WEB 应用方面MySQL是最好的 应用软件之一.

mysql 数据库安装方式有多种,本文介绍源码安装

系统环境:

Linux mysql 2.6.32-642.6.1.el6.x86_64 #1 SMP Wed Oct 5 00:36:12 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux

[root@mysql ~]# cat /etc/redhat-release 

CentOS release 6.8 (Final)

  1. 创建用户和组

groupadd mysql

useradd mysql -g mysql -M -s /sbin/nologin

[root@mysql ~]# id mysql

uid=502(mysql) gid=502(mysql) 组=502(mysql)

2.解压源码并编译安装

tar xf mysql-5.1.72.tar.gz

cd mysql-5.1.72

#编译

./configure \

--prefix=/application/mysql5.1.72 \

--with-unix-socket-path=/application/mysql5.1.72/tmp/mysql.sock \

--localstatedir=/application/mysql5.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 


make && make install

3.做软链接

ln -s /application/mysql5.1.72/ /application/mysql

ll /application/mysql

-------------------------------

重要:如果mysql不是和apache部署在同一台电脑上,到此结束。

-------------------------------

4.数据库的初始化

cd /tools/mysql-5.1.72

 ls support-files/my*.cnf           #显示mysql 配置文件

cd support-files

cp my-small.cnf /etc/my.cnf         #copy 配置文件


mkdir -p /application/mysql/data    #  建立mysql数据文件存放目录


chown -R mysql:mysql /application/mysql  #授权Mysql 用户能访问mysql 的安装目录


ll /application/mysql/data


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

#出现2个OK,表示成功


ll /application/mysql/data


#######################################

------------------------------------------------

vim /etc/init.d/mysqld

basedir=/application/mysql                          


datadir=/application/mysql/data                    

------------------------------------------------

#######################################

5.copy启动文件

cd /tools/mysql-5.1.72/support-files

cp mysql.server  /etc/init.d/mysqld


6.加入开机自启动

chkconfig mysqld on

启动mysql数据库

/etc/init.d/mysqld start   (/application/mysql/bin/mysqld_safe &     这个命令也可以启动mysql)

 如果启动失败则执行下面命令:

ps -ef |grep mysql   #查看Mysql 进程是否在运行,如果在的话,启动前要Kill  或者  mysqladmin shutdown

然后再启动mysql

[root@mysql ~]#mysql

出现下面错误:

#-bash:mysql:command not found

mysql 对应的路径不在path目录下面

使用全路径进入mysql:

/application/mysql/bin/mysql

或者在文件最后加上:

vi /etc/profile

PATH="/application/mysql/bin/:$PATH"

[root@mysql ~]#. /etc/profile   #使之生效


#设置密码,不要在mysql>  下面设置密码,在#后面设置密码

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

#重新登录,输入用户名和密码


mysql -u root -p

passwd123


7.数据优化:

select version();         #查看数据库版本

select user();            #查看当前的用户

mysql> show databases;    #查看数据库

+--------------------+

| Database           |

+--------------------+

| information_schema |

| mysql              |

| test               |

+--------------------+


mysql>drop database test; #安全设置,删除没有用的数据库

最终优化为:

mysql> show databases;

+--------------------+

| Database           |

+--------------------+

| information_schema |

| mysql              |

+--------------------+

mysql> select user,host from mysql.user;  #查询表中的用户

+------+-----------+

| user | host      |

+------+-----------+

| root | 127.0.0.1 |

|      | localhost |

| root | localhost |

|      | weblamp   |

| root | weblamp   |

+------+-----------+

drop user ""@weblamp;  #删除主机名是weblamp,用户名=""。

mysql> drop user ""@localhost;

mysql> drop user "root"@weblamp;

最终优化为:

mysql> select user,host from mysql.user;

+------+-----------+

| user | host      |

+------+-----------+

| root | 127.0.0.1 |

| root | localhost |

+------+-----------+


如果删除不了,就使用delete 删除。


delete from mysql.user where(host="weblamp");

最后刷新:

flush privileges;


#如果忘记登录密码,可以使用这个跳过登录密码的输入

/application/mysql/bin/mysqld_safe --skip-grant-table &  

#修改密码

mysql>update mysql.user set password=PASSWORD("oldboy123") where host='localhost' and  user='root';

 flush privileges;


[root@mysql ~]#lsof -i :3306  #查看3306端口现在运行的情况


#查看mysql 的日志

cat /application/mysql/data/oldboy.err  


向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI