这里有新鲜出炉的 Mysql 教程,程序狗速度看过来!
MySQL 是一个开放源码的小型关联式数据库管理系统,开发者为瑞典 MySQL AB 公司。MySQL 被广泛地应用在 Internet 上的中小型网站中。由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,许多中小型网站为了降低网站总体拥有成本而选择了 MySQL 作为网站数据库。
这篇文章主要为大家详细介绍了 CentOS 7 下 mysql 5.7.18 安装配置方法图文教程,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
介绍如何在 Linux 下安装 MySQL 5.7.18
1、下载 MySQL:官网 https://www.mysql.com/,点击 Downlosas,翻到网页底部,下载社区版,一路点下去,选择通用 Linux,下载 64 位那个,注意检查 MD5
值。
2、安装关键步骤,直接贴出命令
- [cpp] view plain copy 在CODE上查看代码片派生到我的代码片
- [root@CentOS MySQL]# tar -xzvf mysql-5.7.17-linux-glibc2.5-x86_64.tar.gz -C /usr/local
- [root@CentOS MySQL]# cd /usr/local
- [root@CentOS local]# mv mysql-5.7.17-linux-glibc2.5-x86_64 mysql
- [root@CentOS local]# cd mysql
- [root@CentOS mysql]# mkdir data
- [root@CentOS mysql]# groupadd mysql
- [root@CentOS mysql]# useradd -r -g mysql -s/bin/false mysql
- [root@CentOS mysql]# chown -R mysql:mysql ./
- [root@CentOS mysql]# bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data
- 2017-02-23T07:43:03.404885Z 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details).
- 2017-02-
- 23T07:43:04.442174Z 0 [Warning] InnoDB: New log files created, LSN=45790
- 2017-02-23T07:43:04.588507Z 0 [Warning] InnoDB: Creating foreign key constraint system tables.
- 2017-02-23T07:43:04.646721Z 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: b5c8e226-f99b-11e6-beb5-b7c1a1e39029.
- 2017-02-23T07:43:04.671492Z 0 [Warning]
- Gtid table is not ready to be used. Table 'mysql.gtid_executed' cannot be opened.
- 2017-02-23T07:43:04.672338Z 1 [Note] A temporary password is generated for root@localhost: I%e=s+lfx9ko
- [root@CentOS mysql]#
- bin/mysql_ssl_rsa_setup --datadir=/usr/local/mysql/data
- Generating a 2048 bit RSA private key
- .....................................+++
- ..............................+++
- writing new private key to 'ca-key.pem'
- -----
- Generating a 2048 bit RSA private key
- .........................................+++
- .........................+++
- writing new private key to 'server-key.pem'
- -----
- Generating a 2048 bit RSA private key
- ..................................................+++
- ...................................................................................................................................................................................................+++
- writing
- new private key to 'client-key.pem'
- -----
- [root@CentOS mysql]# cd support-files
- [root@CentOS support-files]# cp my-default.cnf /etc/my.cnf
- [root@CentOS support-files]# gedit /etc/my.cnf
- [root@CentOS support-files]# cp mysql.server /etc/init.d/mysqld
- [root@CentOS support-files]# service mysqld start
- Starting MySQL.Logging to '/usr/local/mysql/data/CentOS.cn.err'.
- . SUCCESS!
- [root@CentOS support-files]# ps aux |grep mysql
- root 18279 0.0 0.0 11764 1576 pts/0 S 17:34 0:00 /bin/sh
- /usr/local/mysql/bin/mysqld_safe --datadir=/usr/local/mysql/data --pid-file=/usr/local/mysql/data/CentOS.cn.pid
- mysql 18449 1.9 9.5 1182688 177940 pts/0 Sl 17:34 0:00 /usr/local/mysql/bin/mysqld --
- basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --plugin-dir=/usr/local/mysql/lib/plugin --user=mysql --log-error=/usr/local/mysql/data/CentOS.cn.err --pid-file=/usr/local/mysql/data/CentOS.cn.pid
- --socket=/tmp/mysql.sock --port=3306
- [root@CentOS support-files]#
一行一行解释:
把压缩包解压到 / usr/local 目录下,就是把 MySQL 安装在该目录下。
切换到 / usr/local, 把刚才解压后的文件夹重命名为 mysql。
在 mysql 目录下创建 data 文件夹,用来存储 MySQL 的数据。
增加用户组 mysql。
增加用户名 mysql 属于 mysql 组。
修改 mysql 目录的拥有者和组。
初始化 MySQL,分两步:
第一步,bin/mysqld 注意后面给的参数,之一部会产生一个临时密码,保存,后面登录数据库要用到;
第二步,bin/mysql_ssl_rsa_setup,看起来像是对数据库安全的处理,注意后面给的参数。
切换到 support-files 目录。
把 my-default.cnf 拷贝到 /etc/my.cnf,注意 CentOS7 自带了一个 my.cnf 文件,覆盖掉。
编辑该文件,只对 18,19,20,22 行修改,如下
把 mysql.server 文件拷贝到 / etc/init.d/mysqld 下,主要负责 MySQL 的开机启动。
启动 mysqld 进程。
查询 mysql 进程。有两个: /mysql/bin/mysqld_safe、/mysql/bin/mysqld
3、后续配置:
登录 mysql,修改临时密码:/usr/local/mysql/bin/mysql -u root -p 回车输入初始化时生成的临时密码,修改密码:
set password for 'root'@localhost=password('xxxxxx');
每次登录 mysql 客户端嫌输绝对路径麻烦,就建一个软连接:ln -s /usr/local/mysql/bin/mysql /usr/bin/mysql, 这样也省去了配 PATH 路径的麻烦。
mysqld 的开机启动,使用 chkconfig 命令
- chkconfig --add mysqld #增加mysqld服务
- chkconfig --list #列出所有的系统服务
看一下是不是在所有等级都是打开状态,例如:
- chkconfig --level 35 mysqld on
- #设定mysqld在等级3和5为开机运行服务
来源: http://www.phperz.com/article/17/0601/334622.html