centos7安装mysql

1 查找系统是否安装了myql
rpm -q mysql mysql-server
1.1如果安装了。就删除
sudo yum -y remove mysql mysql-server
sudo rm -rf /etc/my.cnf

2 安装依赖
sudo yum install ncurses-devel -y
sudo yum install libaio-devel -y
sudo yum install bison -y
sudo yum install openssl-devel -y
sudo yum install gcc -y
sudo yum install gcc-c++
sudo yum install cmake -y
sudo yum install make -y

3安装Mysql
1 创建mysql用户及用户组
groupadd mysql
useradd -M -g mysql -s /sbin/nologin mysql

说明
-M 强制不创建用户目录
-g指定用户组,
-s /sbin/nologin 设置mysql用户不能以用户身份登录
mysql是用户名

2 创建mysql的安装目录及数据库存放目录
sudo mkdir -p /usr/local/mysql
sudo mkdir -p /usr/local/mysql/data

3 解压
tar xf mysql-5.5.50.tar.gz

4 安装
cmake \
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \ 安装位置
-DSYSCONFDIR=/etc \ 配置文件目录
-DMYSQL_DATADIR=/usr/local/mysql/data \ 数据库位置
-DMYSQL_TCP_PORT=3306 \ MySQL监听端口-DMYSQL_UNIX_ADDR=/tmp/mysql.sock \ 套接字文件
-DDEFAULT_CHARSET=utf8 \ 默认字符
-DDEFAULT_COLLATION=utf8_general_ci \ 字符集
-DENABLED_LOCAL_INFILE=1 \ 允许从本地导入数据
-DWITH_READLINE=1 \  //快捷键功能
-DWITH_SSL=system \
-DWITH_EXTRA_CHARSETS=all \
-DWITH_EMBEDDED_SERVER=1 \ //编译成embedded MySQL library(libmysqld.a)
-DWITH_INNOBASE_STORAGE_ENGINE=1 \ 安装innodb存储引擎
-DWITH_MYISAM_STORAGE_ENGINE=1  \ 安装myisam存储引擎
-DINSTALL_MANDIR=/usr/share/man

等价于下面

sudo cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DINSTALL_MANDIR=/usr/share/man -DSYSCONFDIR=/etc -DMYSQL_DATADIR=/usr/local/mysql/data -DMYSQL_TCP_PORT=3306 -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DENABLED_LOCAL_INFILE=1 -DWITH_READLINE=1 -DWITH_SSL=system -DWITH_EXTRA_CHARSETS=all -DWITH_EMBEDDED_SERVER=1 -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_MYISAM_STORAGE_ENGINE=1

如果cmake失败 要执行 rm CmakeCache.txt, make clean, 再重新cmake

执行,sudo make

5 执行 sudo make install

6 sudo chown -R mysql:mysql mysql/

7 初始化Mysql --user=mysql 表示以mysql用户
sudo ./scripts/mysql_install_db --user=mysql --datadir=/usr/local/mysql/data

8
[c4t@localhost support-files]$ sudo cp my-huge.cnf /etc/my.cnf
[c4t@localhost support-files]$ sudo cp mysql.server /etc/init.d/mysqld
[c4t@localhost support-files]$ sudo chmod 755 /etc/init.d/mysqld
[c4t@localhost support-files]$ sudo chkconfig --add mysqld //添加到各个启动级别,可以不添加

设置开机自动运行
sudo chkconfig mysqld on
启动mysql
sudo service mysqld start
sudo service mysqld stop

【其他启动mysql方式:】
方式一:sudo /etc/init.d/mysqld start
方式二:sudo start mysqld
方式三:sudo service mysqld start
停止mysql:
方式一:sudo /etc/init.d/mysqld stop
方式二:sudo stop mysqld
方式三:sudo service mysqld stop
重启mysql:
方式一:sudo/etc/init.d/mysqld restart
方式二:sudo restart mysqld
方式三:sudo service mysqld restart

9 查看mysql状态 ps aux | grep mysql

10 登录mysql
[将mysql命令工具添加到path]
sudo echo "export PATH=$PATH:/usr/local/mysql/bin" >> /etc/profile
source /etc/profile

如果没设置密码 直接敲入 mysql 就登陆了,但是这样登录看不到mysql库
所以建议设置密码

[如果需要设置密码]
mysqladmin -uroot password 'root' 这个是密码

[远程登录]虚拟机选择桥接模式
授权账号远程连接,创建一个账号 帐号名是 user1 密码 123

grant all on *.* to user1@'%' identified by '123';
grant all on *.* to user2@'192.168.56.1' identified by '123';

centos7安装mysql的更多相关文章

  1. CentOS7安装mysql提示“No package mysql-server available.”

    针对centos7安装mysql,提示"No package mysql-server available."错误,解决方法如下: Centos 7 comes with Mari ...

  2. [CentOs7]安装mysql(2)

    摘要 之前安装过一次mysql,最后配置,发现在本地无法连接,重启服务的时候一直卡在那里不动,感觉是安装的过程出问题,最后没办法还是卸载了,然后重新安装一下. [CentOs7]安装mysql Mys ...

  3. centos7安装mysql(yum)

    centos7安装mysql(yum) ----安装环境----依赖安装----检查mysql是否已安装----安装----验证是否添加成功----选择要启用的mysql版本----通过Yum安装my ...

  4. CentOS7安装MySQL的方法之通用二进制格式

      CentOS7安装MySQL的方法之通用二进制格式          

  5. CentOS7安装MySQL的方法之RPM包方式

        CentOS7安装MySQL的方法之RPM包方式        

  6. centos7安装Mysql爬坑记录

    centos7安装Mysql爬坑记录   查看是否已安装 使用下列命令查看是否已经安装过mysql/mariadb/PostgreSQL 如果未安装,不返回任何结果(ECS的centos镜像默认未安装 ...

  7. Centos7 安装mysql服务器并开启远程访问功能

    大二的暑假,波波老师送了一个华为云的服务器给我作测试用,这是我程序员生涯里第一次以root身份拥有一台真实的云服务器 而之前学习的linux知识在这时也派上了用场,自己的物理机用的是ubuntu系统, ...

  8. [CentOS7]安装mysql遇到的问题

    摘要 在安装mysql的时候,遇到了一些问题,这里列出所遇到的问题. yum list mysql-server 在使用命令yum list mysql-server安装mysql的时候,遇到如图所示 ...

  9. CentOS7安装mysql数据库

    安装完Centos7,迫不急待的想安装mysql数据库,却没想到走了很多弯路,后来经过查资料,才知道了在Centos7中用MariaDB代替了mysql数据库. 准确来说,本文的标题有点误导的意思,本 ...

随机推荐

  1. C++重载,重写,重定义

    1.重载:重载是在一个类中,函数名一样,参数类型或参数个数不同的一系列函数需要注意的是,与返回类型无关. class Test { public: void show(); void show(int ...

  2. nginx实现日志按天切割

    背景 nginx的日志文件没有rotate功能.一段时间过后,日志将越发臃肿,一个accesslog很快就突破1G,因此有必要通过脚本实现按天切割日志. 解决思路 1  重命名日志文件,如更改为acc ...

  3. Linux下printf格式符%d、%lld、%llx、%u等【转自CSDN博客】

    来源:http://blog.csdn.net/anycell/article/details/6966520 %d 有符号32位整数 %lld 有符号64位证书 %llx有符号64位16进制整数 % ...

  4. get跟post编码--转

    1.Get是用来从服务器上获得数据(没有请求体),而Post是用来向服务器上传递数据(包含请求体). 2.Get将表单中数据的按照variable=value的形式,添加到action(服务)所指向的 ...

  5. Android 文件的选择

    Android 文件的选择 打开文件选择器 private void showFileChooser() { Intent intent = new Intent(Intent.ACTION_GET_ ...

  6. iptables基础信息介绍

    在linux系统下,网络安全,除了有SElinux,另外就是iptables防火墙了,这个是用的最多也是功能非常强大的一个工具,今天就对其简单的架构上技术进行概要描述.让自己后续能够逻辑清晰的处理云环 ...

  7. 基于jQuery动态创建html元素

    在做web前端开发的时候,经常遇到一些数据多少或则类型不能在运行之前就确定下来的情况,此时,数据的展示,就要借助于动态创建html元素来展示了. 常见的动态创建HTML元素的方式,有如下几种,大体都差 ...

  8. oracle分析函数 之分组累加求和

    select s.slice_date_to ,s.made_id ,sum(s.steup_count)over(partition by s.made_id order by s.slice_da ...

  9. (转)【Android测试工具】03. ApkTool在Mac上的安装和使用(2.0版本)

    http://blog.csdn.net/wirelessqa/article/details/8997168 http://code.google.com/p/android-apktool/dow ...

  10. 【python】禁止print输出换行的方法

    print后用一个逗号结尾就可以禁止输出换行,例子如下 >>> i=0 >>> while i < 3: print i i+=1 0 1 2 禁止输出换行后 ...