Linux下安装mysql的方式(yum和源码编译两种方式)

 更新时间:2018年02月02日 15:15:25   作者:南边  
这里介绍Linux下两种安装mysql的方式:yum安装和源码编译安装。需要的朋友可以参考下

这里介绍Linux下两种安装mysql的方式:yum安装和源码编译安装。

1. yum安装

(1)首先查看centos自带的mysql是否被安装:

# yum list installed |grep mysql 
//若有自带安装的mysql,将其卸载
# yum -y remove mysql-libs.x86_64

(2)下载MySQL官网的yum仓库:https://dev.mysql.com/downloads/repo/yum/

# yum localinstall mysql57-community-release-el6-11.noarch.rpm
//查看yum仓库是否成功添加
# yum repolist enabled |grep "mysql.*-community.*"

(3)使用mysql yum仓库时,默认情况下选择的最新版本进行安装,也可以通过手动编辑文件来选择一个版本安装。例如,要安装mysql5.6版本,则再mysql56-community设置enabled=1,mysql57-community设置enabled=0。

# vim /etc/yum.repos.d/mysql-community.repo
[mysql57-community]
name=MySQL 5.7 Community Server
baseurl=http://repo.mysql.com/yum/mysql-5.7-community/el/6/$basearch/
enabled=0
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql
# Enable to use MySQL 5.6
[mysql56-community]
name=MySQL 5.6 Community Server
baseurl=http://repo.mysql.com/yum/mysql-5.6-community/el/6/$basearch/
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql

(4)安装mysql

# yum install mysql-community-server

(5)启动mysql服务

# service mysqld start

若出现下面输出则表示mysql安装成功:

Starting mysqld:[ OK ]

2. 源码编译安装mysql

(1)首先安装源码编译所需要的包

# yum -y install make gcc-c++ cmake bison-devel ncurses-devel

(2)下载并解压安装包

# wget http://cdn.mysql.com/Downloads/MySQL-5.6/mysql-5.6.14.tar.gz
# tar xvf mysql-5.6.14.tar.gz

(3)编译安装(编译参数按实际情况制定)

# cd mysql-5.6.14
# cmake .
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DMYSQL_DATADIR=/usr/local/mysql/data \
-DSYSCONFDIR=/etc \
-DWITH_MYISAM_STORAGE_ENGINE=1 \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_MEMORY_STORAGE_ENGINE=1 \
-DWITH_READLINE=1 \
-DMYSQL_UNIX_ADDR=/var/lib/mysql/mysql.sock \
-DMYSQL_TCP_PORT=3306 \
-DENABLED_LOCAL_INFILE=1 \
-DWITH_PARTITION_STORAGE_ENGINE=1 \
-DEXTRA_CHARSETS=all \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci
# make && make install

(4)配置mysql

  设置权限:

# useradd mysql
# passwd mysql 
# chown -R mysql:mysql /usr/local/mysql

  初始化mysql:

# cd /usr/local/mysql
# scripts/mysql_install_db --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --user=mysql

注意:在/etc目录下会存在一个my.cnf,需要将此文件更名为其他的名字,如:/etc/my.cnf.bak,否则,该文件会干扰源码安装的MySQL的正确配置,造成无法启动。

(5)注册为服务

# cd /usr/local/mysql/support-files
//注册服务
# cp mysql.server /etc/rc.d/init.d/mysql
//使用默认配置文件
# cp my-default.cnf /etc/my.cnf
//设置开机启动
 # chkconfig mysql on

(6)启动服务

# service mysql start 

3. mysql客户端

  首次进入mysql客户端时,通常会出现这种错误:

  解决方案如下:

(1)在/etc/my.cnf文件中添加如下命令:

(2)重启mysql服务之后,进入mysql客户端修改root用户的密码:

update mysql.user set authentication_string=password("PASSWORD") where user="root";
flush privileges;

(3)将刚刚添加的那条命令注释掉,在mysql客户端重设密码:

//设置密码强度和长度
> set global validate_password_policy=0;
> set global validate_password_length=1;
// 更改密码
> alter user 'root'@'localhost' identified by 'PASSWORD';

(4)若设置root用户可以远程访问,还需执行:

> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'PASSWORD' WITH GRANT OPTION;
> flush privileges;

  随后就可以通过mysql客户端创建数据库、表这些了。

总结

相关文章

  • Mysql一些复杂的sql语句(查询与删除重复的行)

    Mysql一些复杂的sql语句(查询与删除重复的行)

    这篇文章主要介绍了Mysql一些复杂的sql语句(查询与删除重复的行),需要的朋友可以参考下
    2017-05-05
  • mysql数据库和oracle数据库之间互相导入备份

    mysql数据库和oracle数据库之间互相导入备份

    今天小编就为大家分享一篇关于mysql数据库和oracle数据库之间互相导入备份,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2019-04-04
  • MySQL中获取时间的所有方法小结

    MySQL中获取时间的所有方法小结

    在MySQL数据库开发中,获取时间是一个常见的需求,MySQL提供了多种方法来获取当前日期、时间和时间戳,并且可以对时间进行格式化、计算和转换,本文介绍了一些常用的MySQL时间函数及其示例,需要的朋友可以参考下
    2024-07-07
  • MYSQL常用命令与实用技巧

    MYSQL常用命令与实用技巧

    MYSQL常用命令与实用技巧...
    2007-07-07
  • Mysql中返回一个数据库的所有表名,列名数据类型备注

    Mysql中返回一个数据库的所有表名,列名数据类型备注

    在Mysql中怎样返回一个数据库的所有表名,列名数据类型备注
    2010-04-04
  • Mysql分库分表之后主键处理的几种方法

    Mysql分库分表之后主键处理的几种方法

    Mysql分库分表之后,主键如何处理?本文主要介绍了Mysql分库分表之后主键处理的几种方法,具有一定的参考价值,感兴趣的可以了解一下
    2022-02-02
  • MySQL慢查询日志的基本使用教程

    MySQL慢查询日志的基本使用教程

    MySQL的慢查询日志是MySQL提供的一种日志记录,它用来记录在MySQL中响应时间超过阀值的语句,具体指运行时间超过long_query_time值的SQL,则会被记录到慢查询日志中。这篇文章主要给大家介绍了关于MySQL慢查询日志的基本使用的相关资料,需要的朋友可以参考下
    2019-01-01
  • 小记一次mysql主从配置解决方案

    小记一次mysql主从配置解决方案

    mysql主从方案主要作用:读写分离,使数据库能支撑更大的并发。在报表中尤其重要。由于部分报表sql语句非常的慢,导致锁表,影响前台服务。如果前台使用master,报表使用slave,那么报表sql将不会造成前台锁,保证了前台速度。
    2015-10-10
  • Scott 数据 映射 MySQL代码实现分享

    Scott 数据 映射 MySQL代码实现分享

    这篇文章主要介绍了Scott 数据 映射 MySQL,文章围绕Scott 数据 映射 MySQL的相关代码分享给大家,具有一定的参考价值,需要的小伙伴可以参考一下,希望对你的学习有所帮助
    2022-02-02
  • MySQL 5.7.18 免安装版配置教程

    MySQL 5.7.18 免安装版配置教程

    这篇文章主要为大家详细介绍了MySQL 5.7.18 免安装版配置教程,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-05-05

最新评论