CentOS7.3编译安装LNMP之(二)MySQL-5.7.26安装

17 篇文章 0 订阅

友情推荐

CentOS7.3编译安装LNMP之(一)Nginx-1.16.0安装 
CentOS7.3编译安装LNMP之(三)PHP-7.2.18安装

1、下载(免编译包安装
   进入   
选择如下:

  进入 

复制此链接地址,即可拿到下载地址https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.26-el7-x86_64.tar.gz

# cd /mydata
# wget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.26-el7-x86_64.tar.gz

最后出现 100%   大小为 714050311 现在完成

2、准备、安装依赖

1、 卸载系统自带的mariadb*
# rpm -qa|grep mariadb   
 mariadb-libs-5.5.60-1.el7_5.x86_64 
# rpm -e --nodeps  mariadb-libs-5.5.60-1.el7_5.x86_64  删除此
或者使用yum命令删除
# yum -y remove mariadb* boost-*

2、检查mysq用户、用户组是否存在,不存在就创建
[root@localhost /]# cat /etc/group | grep mysql
[root@localhost /]# cat /etc/passwd | grep mysql
[root@localhost /]# 
[root@localhost /]# useradd -M -s /sbin/nologin mysql   //创建名为mysq的用户并且没有登录权限 (不指定 -g默认创建了同名mysql的用户组)

3、删除my.cnf mysql (若存在)
[root@localhost /]# rm -f /etc/my.cnf
[root@localhost /]# rpm -qa | grep mysql

 3、解压安装
       此版本是免编译安装包,因此和二进制编译安装包略有不同。

# 解压到 /usr/local/mysql/   (即安装目录)
# cd /mydata
# mkdir -p /usr/local/mysql 
#
# tar -zxvf mysql-5.7.26-el7-x86_64.tar.gz     //解压

# mv /mydata/mysql-5.7.25-el7-x86_64/* /usr/local/mysql/      //移动到安装目录
# mkdir /usr/local/mysql/data   (数据库目录)
# mkdir /usr/local/mysql/log    (日志目录)
# touch /usr/local/mysql/log/mysqld.log   (创建日志文档)

//改变mysql的属组
# chown -R mysql:mysql /usr/local/mysql/ 
或者下面两句
# chown -R mysql /usr/local/mysql/
# chgrp -R mysql /usr/local/mysql/

安装

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

此版本采用mysql_install_db 进行安装,不再使用cmake 编译安装
# /usr/local/mysql/bin/mysql_install_db     //安装命令
--initialize                                                  //生成默认密码   
--user=mysql                                             //指定mysql用户
--basedir=/usr/local/mysql/                       //安装目录
--datadir=/usr/local/mysql/data/                // 数据库目录
出现:

2019-05-07T03:04:49.824821Z 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details).
2019-05-07T03:04:50.975204Z 0 [Warning] InnoDB: New log files created, LSN=45790
2019-05-07T03:04:51.142538Z 0 [Warning] InnoDB: Creating foreign key constraint system tables.
2019-05-07T03:04:51.210782Z 0 [Warning] No existing UUID has been found, so we assume that this is the first time that this server has been started. Generating a new UUID: e16df48e-7074-11e9-83d9-fa163ed3ecd0.
2019-05-07T03:04:51.213245Z 0 [Warning] Gtid table is not ready to be used. Table 'mysql.gtid_executed' cannot be opened.
2019-05-07T03:04:51.214048Z 1 [Note] A temporary password is generated for root@localhost: bdW88t??jkU1
[root@qinser local]#

OK 安装成功

注意最后的  bdW88t??jkU1  表示默认密码,下面初始化数据库要用到
如果报错: /usr/local/mysql/bin/mysqld: error while loading shared libraries: libnuma.so.1: cannot open shared object file: No such file or directory
是因为有个依赖包没有安装:解决办法:

# yum remove libnuma.so.1
# yum -y install numactl.x86_64

再次执行  OK

查看数据库目录 /usr/local/mysql/data/ 有如下生成:

安装完成

4、创建配置文件my.cnf
 

# vim /etc/my.cnf
 
# ======================== 粘贴内容 start ========================
[mysqld]
basedir=/usr/local/mysql/
datadir=/usr/local/mysql/data
socket=/tmp/mysql.sock
user=mysql
symbolic-links=0
lower_case_table_names=1
# 允许最大连接数
max_connections=200
# 服务端使用的字符集默认为8比特编码的latin1字符集
character-set-server=utf8
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
max_allowed_packet=16M
 
[client]
port=3306
 
[mysqld_safe]
log-error=/usr/local/mysql/log/mysqld.log
 
# ======================== 粘贴内容  end ========================
 
//设置此文件可执行权限
# chmod 644 /etc/my.cnf

5、启动并添加到环境变量

#创建驱动文件
# cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld

#修改变量
# vim /etc/init.d/mysqld
给以下两个变量赋值
basedir=/usr/local/mysql/
datadir=/usr/local/mysql/data

# chmod +x /etc/init.d/mysqld
# service mysqld start                //启动
出现
Starting MySQL.                                            [  OK  ]
OK 启动成功
[root@qinser /]# netstat -tlnp | grep mysqld   查看端口号
tcp6       0      0 :::3306                 :::*                    LISTEN      17093/mysqld    

# 添加到环境变量
# vim /etc/profile
  在此文件最后添加如下内容:
# MYSQL
export PATH="$PATH:/usr/local/mysql/bin"

//立即生效
# source  /etc/profile
# echo $PATH

6、更改默认密码

// 获取初始密码
# cat /root/.mysql_secret
# Password set for user 'root@localhost' at 2019-04-21 03:02:13 
Kkxii!:fvS.a      <------这个就是初始密码

//修改密码
[root@qinser mydata]# mysql -u root -p
Enter password:     <------这里输入上面的初始密码
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 11
Server version: 5.7.26

mysql> set PASSWORD = PASSWORD('niu123456');   <----- 新密码 niu123456
mysql> flush privileges;        // 使用flush privileges在插入之后刷新系统权限相关表
Query OK, 0 rows affected (0.00 sec)
OK 新密码设置成功

7、设置开启启动

方法一:(推荐)
# chkconfig  --add mysqld   //加入系统中,可以是使用 systemctl status mysqld.service 命令了
# chkconfig mysqld on     //开机自启动

方法二:
[root@VMTest mysql]# chkconfig --level 35 mysqld on
[root@VMTest mysql]# chkconfig --list mysqld
[root@VMTest mysql]# chkconfig --add mysqld
[root@VMTest mysql]# chkconfig --list mysqld
[root@VMTest mysql]# service mysqld status

8、设置远程访问

mysql> use mysql; 
mysql> select host,user from user;
+-----------+---------------+
| host      | user          |
+-----------+---------------+
| localhost | mysql.session |
| localhost | mysql.sys     |
| localhost | root          |
+-----------+---------------+
3 rows in set (0.00 sec)

mysql> grant all privileges on *.* to 'root'@'%' identified by 'niu123456';
ERROR 1819 (HY000): Your password does not satisfy the current policy requirements  -- 提示密码太难简单
mysql> 
mysql> set global validate_password_policy=0;    //降低密码复杂度
Query OK, 0 rows affected (0.01 sec)

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

mysql> select user,host from user;     
+---------------+-----------+
| user          | host      |
+---------------+-----------+
| root          | %         |
| mysql.session | localhost |
| mysql.sys     | localhost |
| root          | localhost |
+---------------+-----------+
4 rows in set (0.00 sec)

mysql> 
mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)

OK 可以远程连接了

Mysql5.7.26 安装全部完成

附:常用命令

#
# /etc/init.d/mysqld 
Usage: mysqld  {start|stop|restart|reload|force-reload|status}  [ MySQL server options ]
# /etc/init.d/mysqld  start    //开启
# /etc/init.d/mysqld  stop     //停止
# /etc/init.d/mysqld  restart  //重启(强制重启)
# /etc/init.d/mysqld  reload   //平滑重启(在开启的状态下)
# /etc/init.d/mysqld  status   //查看状态

加入环境变量以后可以使用 
# service mysqld   {start|stop|restart|reload|force-reload|status}
或者
# systemctl {start|stop|restart|reload|force-reload|status}  mysqld.service

# netstat -tlnp        //查看所有端口号
# ps aux | grep mysqld      //查看进程
# kill  9203              //通过杀死进程结束mysql  


 

MySQL基本操作常用命令

# 本地连接数据库
# mysql -u root -p
Enter password:  
也可以直接写成
# mysql -uroot -p'niu123456'

# 远程连接数据库(如在118.24.241.124上连接106.12.2.195上的)
# mysql -u root -p -h106.12.2.195 -P3306    //-h用于指定登录主机的IP地址,-P(大写)用于指定远程主机的端口
Enter password:

mysql> show databases;          //显示所有数据库
mysql> use mysql;               //选择mysql数据库
mysql> show tables;             //显示当前mysql数据库中的所有数据表
mysql> desc user;               //显示user表的所有字段
mysql> show create table user\G;  //显示user表的建表语句
mysql> show create database mysql\G;  //显示mysql数据库的建库语句
mysql> select version();        //查看当前数据库的版本
mysql> select user();           //查看当前是哪个用户
mysql> select database();       //查看当前是哪个数据库
mysql> show status;             //查看mysql当前状态
mysql> show variables;          //查看mysql的参数
mysql> show variables like '%dir';
mysql> show processlist;         //查看当前mysql服务器的队列 
mysql> grant all on *.* to niuxitong identified by 'niu123456'; //创建一个普通用户niuxitong   *.* 前一个*表示所有数据库 ,后一个*表示所有表    密码用单引号括起来

mysqldump -u root -p 'niu123456' mysql > /mydata/databack/mysql-001.sql;   //为名为mysql的数据库做备份。导出sql文件保存到/mydata/databack/mysql-001.sql文件中
mysql -u root -p 'niu123456' mysql < /mydata/databack/mysql-001.sql;  还原数据库 
  

 

 

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值