在Centos7上搭建Mysql数据库

mysql服务基础:

mysql是一个真正的多线程、多用户的SQL数据库服务,凭借其高性能、高可靠和易于使用的特性,成为服务器领域中最受欢迎的开源数据库系统。

MySQL的编译安装:

1.安装支持软件

yum install gcc gcc-c++ ncurses ncurses-devel cmake -y

2.创建运行用户mysql,并解压mysql源码包到/opt/目录下,将boost源码包解压到/usr/local/ 目录下,将解压后的boost包重命名方便管理。

useradd -s /sbin/nologin mysql
tar zxvf mysql-5.7.17.tar.gz -C /opt/
tar zxvf boost_1_59_0.tar.gz -C /usr/local/
cd /usr/local/
mv boost_1_59_0 boost

3.在配置过程中,可以将默认使用的字符集设置为utf8,并添加其他字符集的支持。

cd mysql-5.7.17/
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \       //安装目录//
-DMYSQL_UNIX_ADDR=/usr/local/mysql/mysql.sock \
-DSYSCONFDIR=/etc \                            //指定初始化参数文件目录//
-DSYSTEMD_PID_DIR=/usr/local/mysql -DDEFAULT_CHARSET=utf8  \                    //指定默认使用的字符集编码//
-DDEFAULT_COLLATION=utf8_general_ci \       //适用于UTF-8字符集的通用规则//
-DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_ARCHIVE_STORAGE_ENGINE=1 -DWITH_BLACKHOLE_STORAGE_ENGINE=1 -DWITH_PERFSCHEMA_STORAGE_ENGINE=1 -DMYSQL_DATADIR=/usr/local/mysql/data -DWITH_BOOST=/usr/local/boost \            //指定Boost库的位置,5.7版本必须添加这个参数
-DWITH_SYSTEMD=1

------注意:如果在CMAKE的过程中有报错,当报错解决后,需要把源码目录中的CMakeCache.txt文件删除,然后再重新CMAKE,否则错误依旧------------

4.编译并安装

make
make install

------注意:如果在make加载过程中,中途卡死,把虚拟机的内存设置为2G,再进行make编译//,如果再make编译过程中出现error报错,可用以下方法解决:下载mysql-boost-5.7包并进行解压,在进行配置,把boost函数库位置由-DWITH_BOOST=/usr/local/boost \改为-DWITH_BOOST=boost \

5.对数据库的目录进行权限设置

chown -R mysql.mysql /usr/local/mysql/

6.在MySQL源码目录中的support-files文件夹下,建立MySQL系统的/etc/my.cnf配置文件。

vi /etc/my.cnf
[client]
port = 3306
default-character-set=utf8
socket = /usr/local/mysql/mysql.sock

[mysql]
port = 3306
default-character-set=utf8
socket = /usr/local/mysql/mysql.sock

[mysqld]
user = mysql
basedir = /usr/local/mysql
datadir = /usr/local/mysql/data
port = 3306
character_set_server=utf8
pid-file = /usr/local/mysql/mysqld.pid
socket = /usr/local/mysql/mysql.sock
server-id = 1

sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_AUTO_VALUE_ON_ZERO,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,PIPES_AS_CONCAT,ANSI_QUOTES

7.修改/etc/my.cnf即主配置文件的属主和属组

chown mysql:mysql /etc/my.cnf

8.设置环境变量,为了方便在任何目录下使用mysql命令,需要在/etc/profile设置环境变量。

echo ‘PATH=/usr/local/mysql/bin:/usr/local/mysql/lib:$PATH‘ >> /etc/profile
echo ‘export PATH‘ >> /etc/profile
source /etc/profile       //开启//

9.初始化数据库,为了能够正常使用MySQL数据库系统,应以运行用户mysql的身份执行初始化,指定数据存放目录等。

cd /usr/local/mysql/
bin/mysqld --initialize-insecure --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data

10.添加mysqld系统服务,以便通过systemctl进行管理,可以直接使用源码包中提供的服务脚本。找到usr/lib/systemd/system/文件夹下的mysql.server脚本文件,将其复制到/usr/lib/systemd/目录下,并改名为system,然后再进行重新加载。

cp usr/lib/systemd/system/mysqld.service /usr/lib/systemd/system/
systemctl daemon-reload    //重新加载系统服务管理模块

11.启动mysqld服务并查看TCP3306端口是否开启

systemctl start mysqld
netstat -anpt | grep 3306
[[email protected] mysql]# netstat -anpt | grep 3306
tcp6       0      0 :::3306                 :::*                    LISTEN      23765/mysqld

12.关闭防火墙

systemctl stop firewalld.service
setenforce 0

13.设置数据库的root登录密码

mysqladmin -u root -p password "abc123"

14.登录数据库

[[email protected] mysql]# mysql -u root -p
Enter password:
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 4
Server version: 5.7.17 Source distribution

Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type ‘help;‘ or ‘\h‘ for help. Type ‘\c‘ to clear the current input statement.

mysql> grant all privileges on *.* to ‘root‘@‘%‘ identified by ‘abc123‘ with grant option;
Query OK, 0 rows affected, 1 warning (0.00 sec)

15.查看数据库结构

mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| sys                |
+--------------------+
4 rows in set (0.00 sec)

原文地址:http://blog.51cto.com/13642258/2133196

时间: 2024-10-17 22:04:43

在Centos7上搭建Mysql数据库的相关文章

在CentOS7上搭建MySQL主从复制与读写分离

MySQL主从复制原理 MySQL的主从复制和MySQL的读写分离两者有着紧密联系,首先要部署主从复制,只有主从复制完成了,才能在此基础上进行数据的读写分离. (1)MySQL支持复制的类型. 1)基于语句的复制.MySQL默认采用基于语句的复制,效率比较高. 2)基于行的复制.把改变的内容复制过去,而不是把命令在从服务器上执行一遍. 3)混合类型的复制.默认采用基于语句的复制,一旦发现基于语句无法精确复制时,就会采用基于行的复制. (2)MySQL复制的工作过程如图所示.1)在每个事务更新数据

在 CentOS7 上部署 MySQL 主从

在 CentOS7 上部署 MySQL 主从 1 通过 SecureCRT 连接至 MySQL 主服务器: 2 找到 my.cnf 文件所在的目录: mysql --help | grep my.cnf 一般情况 my.cnf 都会位于 /etc/ 目录下: 3 用 vim 打开 MySQL 的配置文件 my.cnf: vim /etc/my.cnf 4 找到 [mysqld] 并在其后添加如下配置: # 唯一标识此 MySQL 服务器,默认值为 1,一般采用所属 IP 的末端值 server-

linux【搭建MySQL数据库】详细过程

实验环境:rad hat linux 6.2操作系统. 实验目的:手工编译搭建MySQL数据库. 首先是挂载光盘,创建文件夹,挂载从网上下载下来的mysql数据库源码安装包.然后创建yum仓库,用于安装MySQL环境包. 使用yum仓库解决安装环境的依赖性关系gcc.gcc-c++语言环境. 继续安装MySQL数据库所需要使用的环境包cmake.ncurses-devel.bison.libao-devel包. 然后解压从网上下载下来的MySQL数据库源码包,创建MySQL数据库用户,并且指定不

在Linux上安装mysql数据库,我们可以去其官网上下载mysql数据库的rpm

在Linux上安装mysql数据库,我们可以去其官网上下载mysql数据库的rpm包,http://dev.mysql.com/downloads/mysql/5.6.html#downloads,大家可以根据自己的操作系统去下载对应的数据库文件,目前最新的版本是5.6.10了. 在这里我是通过yum来进行mysql数据库的安装的,通过这种方式进行安装,可以将跟mysql相关的一些服务.jar包都给我们安装好,所以省去了很多不必要的麻烦!!! http://www.baobao18.com/De

CentOS 6.5系统上安装MySQL数据库

1.查看系统是否安装了MySQL      使用命令:      #rpm -qa | grep mysql 2.卸载已安装的MySQL       卸载mysql命令如下:        #rpm -e --nodeps  mysql-libs-5.1.61-4.el6.x86_64      要将 /var/lib/mysql文件夹下的所有文件都删除干净 3.安装新的MySQL       命令如下:       #rpm -ivh MySQL-server-5.5.30-1.el6.x86

android数据库编程:连接服务器上的MySQL数据库详细示例

1 public class DatabaseDemo extends Activity { 2 private TextView textView; 3 4 @Override 5 protected void onCreate(Bundle savedInstanceState) { 6 // TODO Auto-generated method stub 7 super.onCreate(savedInstanceState); 8 setContentView(R.layout.acti

怎么单向同步两linux服务器上的MYSQL数据库

因为工作需要,所以就慢慢配置两台Linux服务器上面的MYSQL数据库,实现单向数据库的同步,同步数据库的条件是: (1)两服务器上的数据库的名字要相同.(2)数据库的表的结构要相同,不同一个数据库多一张表,一个数据库少一张表.(3)只能高版本的数据库同步低版本的数据库,因为mysql是向下兼容的.所以,主服务器master是低版本的,从服务器slave是高版本的. 假设数据库名为test,数据库的用户为root,密码为123456,则进行同步配置如下: 一,先配置主服务器master: 1,找

远程访问服务器上的MySQL数据库,发现root远程连接不上

远程访问服务器上的MySQL数据库,发现root远程连接不上,提示错误:"1045-Access denied for user [email protected]" 解决办法如下,执行命令: mysql> use mysql; mysql> selecthost,user from user; 查看结果是不是root用户仅允许本地(localhost)登录,下面这个截图就是这种情况. 是的话,就要修改它的host为%,表示任意IP地址都可以登录. GRANT ALL PR

在Centos7上搭建局域网的yum源仓库

1.#输入命令rmp -q -vsftpd,查看是否安装了该包. 2.#创建挂载点,把光盘挂载到该点 3.#使用命令用rpm-ivh 安装vsftpd安装包 4.#启动vsftpd服务,设为下次开机启动. 5.#输入ifconfig,找到自己的局域网地址,看是否连接超时,如果超时就是没关闭防火墙的原因,那么就关闭防火墙.(学习环境中关闭防火墙就行了,不支持实际工作环境中关闭). 6.#用浏览器访问自己的局域网地址 ,会出现以下页面,说明ftp服务配置成功. 7.#创建文件夹,将CentOS7安装