Linux下MySQL(5.7.17)的安装以及常用命令整理

一、MySQL的安装

说明:

  Linux下软件的安装通常有三种方式:二进制、rpm、yum三种方式。它们三个具体的区别参考博客:

https://www.cnblogs.com/LiuChunfu/p/8052890.html

MySQL的下载:

  因为我使用的是阿里云服务器,联网的,所以我直接在linux下进行下载,使用Windows的小伙伴也可以将mysql下载本地再上传到服务器上面

附上官网的下载链接通过命令行在服务器内下载软件包的连接:

官网:MySQL官网下载

服务器下载(联网):wget http://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.17-linux-glibc2.5-x86_64.tar.gz

1、软件的卸载

rpm -qa | grep mysql

#若存在 mysql 安装文件,则会显示 mysql安装的版本信息

如:mysql-connector-odbc-5.2.5-6.el7.x86_64

#卸载已安装的MySQL,卸载mysql命令,如下:

rpm -e --nodeps mysql-connector-odbc-5.2.5-6.el7.x86_64

2、软件的解压重命名与移动

解压:tar -zxvf mysql-5.7.17-linux-glibc2.5-x86_64.tar.gz
重命名:mv mysql-5.7.17-linux-glibc2.5-x86_64 mysql
移动:mv mysql /usr/local/

3、添加用户组、用户  

 groupadd mysql

useradd -g mysql mysql

4、创建data目录

    #在/usr/local/mysql目录下创建data目录,数据库文件将会放在这里

cd /usr/local/mysql

mkdir data

5、更改mysql目录的用户和组为mysql

注意要是当前mysql目录:

[root@zhixi mysql]# pwd
/usr/local/mysql
[root@zhixi mysql]# chown -R mysql:mysql ./

6、配置my.cnf

在5.7.18开始官方不再二进制包中提供my-default.cnf文件,参考官网:https://dev.mysql.com/doc/refman/5.7/en/binary-installation.html

我们这里在etc目录下新建一个my.cnf文件:

[root@zhixi etc]# pwd
/etc
[root@zhixi etc]# touch my.cnf

 my.cnf配置文件解释:

my.cnf文件就是把在命令行上启动MySQL时后面的参数用cnf文件配置好,那么下载启动时就不再需要在命令上加如参数。

这个my.cnf文件可以是自定义位置,也可以使用如下默认的位置,只要放在默认位置,MySQL自动识别(通过deb或者APT源安装的,初始位置在下方列表):
在Unix和类Unix系统上读取选项文件
文件名                    目的
/etc/my.cnf              全局选项    
/etc/mysql/my.cnf        全局选项    
SYSCONFDIR/my.cnf        全局选项    
$MYSQL_HOME/my.cnf       服务器特定选项(仅限服务器)    
defaults-extra-file      指定的文件 --defaults-extra-file(如果有的话)    
~/.my.cnf                用户特定的选项    
~/.mylogin.cnf           用户特定的登录路径选项(仅限客户端)    

在上表中,~表示当前用户的主目录(的值 $HOME)。
首先它会找/etc/my.cnf 这个文件, 如果这个文件不存在,那么它接下来去找/etc/mysql/my.cnf这个文件,依此类推

my.cnf参数配置:具体的参考https://blog.csdn.net/bluerebel/article/details/89394066

[mysql]
 
# 设置mysql客户端默认字符集
default-character-set=utf8
 
socket=/tmp/mysql.sock
 
 
[mysqld]
 
#mysql无密码登陆
#skip-grant-tables
 
#禁用DNS解析
#skip-name-resolve
 
port=3306
socket=/tmp/mysql.sock
 
# 设置mysql的安装目录
basedir=/usr/local/mysql
 
# 设置mysql数据库的数据的存放目录
datadir=/usr/local/mysql/data
 
# 允许最大连接数
max_connections=200
 
# 服务端使用的默认字符集
character-set-server=utf8
 
# 创建新表时将使用的默认存储引擿
default-storage-engine=INNODB
 
#lower_case_table_name=1
max_allowed_packet=16M

7、初始化mysql(进入到mysql的bin目录)  

#新版本中已经不再建议使用mysql_install_db来安装

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

#执行完后会输出:红色的就是初始密码

Linux下MySQL(5.7.17)的安装以及常用命令整理

8、设置mysql为开机自启

    #拷贝mysql.server到init.d目录下

    cp ./support-files/mysql.server /etc/rc.d/init.d/mysqld
    chmod +x /etc/rc.d/init.d/mysqld

    #添加服务

    chkconfig --add mysqld

    #查看是否添加成功

    chkconfig --list mysqld 

看到3、4、5状态为开或者为 on 则表示成功。如果是 关或者 off 则执行一下: chkconfig --level 345 mysqld on   

Linux下MySQL(5.7.17)的安装以及常用命令整理 

9、配置环境变量

vi /etc/profile

#添加如下内容
PATH=$PATH:/usr/local/mysql/bin
export PATH

#使配置生效 source /etc/profile
#查看一下配置是否生效 echo $PATH

Linux下MySQL(5.7.17)的安装以及常用命令整理

10、初次登陆配置(修改密码)

    #登陆mysql,密码是上面提到的“wqYqOy)+o3yj”

mysql -uroot -p密码

注意:我这里报错, 提示我找不到mysql.sock,可是我在my.cnf中已经配置过了,比较无语,找了篇博客还是没解决:https://blog.csdn.net/qw_xingzhe/article/details/78699157

Linux下MySQL(5.7.17)的安装以及常用命令整理

 我的解决方案是,给mysql设置为无需密码进行登录,修改/etc/my.cnf配置文件即可:

Linux下MySQL(5.7.17)的安装以及常用命令整理

然后使用命令:mysql,直接回车进入到mysql数据库中,进行修改密码:

mysql> use mysql
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A

Database changed
mysql> update user set password=password(‘密码‘) where user=‘root‘ and host=‘localhost‘; 
ERROR 1054 (42S22): Unknown column ‘password‘ in ‘field list‘
mysql> update mysql.user set authentication_string=password(‘zhixi158‘) where user=‘root‘;
Query OK, 1 row affected, 1 warning (0.00 sec)
Rows matched: 1  Changed: 1  Warnings: 1

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

11、设置可以通过远程连接访问

参考我的这篇博客:https://www.cnblogs.com/zhangzhixi/p/14396345.html

 登录成功!!!

Linux下MySQL(5.7.17)的安装以及常用命令整理

 测试一下远程访问:成功

Linux下MySQL(5.7.17)的安装以及常用命令整理

Linux下MySQL(5.7.17)的安装以及常用命令整理

上一篇:C++中的new和delete——读书笔记总结


下一篇:字符串拷贝函数递归与非递归的C语言实现