安装MySQL

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了安装MySQL相关的知识,希望对你有一定的参考价值。

Mysql编译安装

  1.为了确保mysql数据库功能的完整性,可控制性可以采用源代码编译的方式安装Mysql数据库系统,其官方站点为https://www.mysql.com/

  2.也可以采用OneinStack安装,其官方站点为https://oneinstack.com

  3.也可以采用yum安装MySQL,yum安装Mysql极其简单安装适合对数据库要求不高的场合,例如并发不大,公司内部;

             技术分享图片

Mysql编译安装准备工作:

(1) 为了避免发生端口冲突,程序冲突等现象,建议先查询Mysql软件的安装情况,确认没有使用过RPM方式安装的Mysql-serverMysql软件包,否则建议卸载.

 

[[email protected] ~]# rpm -q msyql-server mysql
package msyql-server is not installed
package mysql is not installed
[[email protected] ~]#
如有服务:
[[email protected] ~]# rpm -e mysql-server mysql --nodeps

 

(2) 安装依赖包ncurses-devel

[[email protected] ~]# yum -y install ncurses-devel
Complete!

(3) 安装配置工具cmake

[[email protected] ~]# tar xf cmake-2.8.12.tar.gz -C /usr/src/
[[email protected] ~]# cd /usr/src/cmake-2.8.12/
[[email protected] cmake-2.8.12]# ./configure && gmake && gmake install

源码编译及安装:

(1)创建运行用户

为了加强数据库服务的权限控制,建议使用专门的运行级用户,Mysql,此用户不需要直接登陆到系统,可以不创建宿主文件夹.

 

[[email protected] ~]# groupadd mysql
[[email protected] ~]# useradd -M -s /sbin/nologin -g mysql mysql
[[email protected] ~]#

 

(2)解包

将下载的MySQL源码包解压,释放到/usr/src/目录下,并切换到展开后的源码目录

 

[[email protected] ~]# tar zxf mysql-5.7.20.tar.gz -C /usr/src/
[[email protected] ~]# cd /usr/src/mysql-5.7.20.tar.gz

 

(3) 配置

在网站平台中,可能会用到多种字符集的网页,相应的数据库系统也应该支持不同字符集编码,可以在配置过程中将默认使用的字符串设置为utf-8,并添加其他字符集的支持.

 

[[email protected]]#cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DWITH_EXTRA_CHARSETS=all -DSYSCONFDIR=/etc && make && make install

注释:

-DCMAKE_INSTALL_PREFIX=/usr/local/mysql  //将指定的mysql数据库程序安装到/usr/local/mysql下

-DDEFAULT_CHARSET=utf8        //默认字符集为 utf8
-DDEFAULT_COLLATION=utf8_general_ci  //默认的字符集校对规则
-DWITH_EXTRA_CHARSETS=all       //安装所有字符集
-DSYSCONFDIR=/etc  //配置文件存放目录,指定初始化参数目录文件

安装后的其他调整:

(1) 对数据库目录进行权限设置:

[[email protected] etc]# chown -R mysql:mysql /usr/local/mysql/

(2) 建立配置文件:

mysql源码目录中的support-files文件夹下,提供了适合不同负载均衡数据库的样本配置文件,如果不确定数据库系统的的应用规模,,一般选择my-default.cnf文件即可,该文件能满足大多数的中等应用需求,根据以下参考内容建立mysql系统的/etc/my.cnf配置文件。

 

[[email protected] etc]# rm -rf /etc/my.cnf  //如果原来的etc文件下有my.cnf 文件可以删除。

[[email protected] mysql-5.7.2-m12]# cp support-files/my-default.cnf /etc/my.cnf

(3) 初始化数据库:

为了能够正常使用mysql数据库系统,应用运行用户mysql的身份执行初始化脚本mysql-install_db 指定数据存放目录

 

/usr/local/mysql/scripts/mysql_install_db --basedir=/usr/local/mysql/ --datadir=/usr/local/mysql/data --user=mysql

  --basedir=/usr/local/mysql/       //指定安装目录(产品目录)

  --datadir=/usr/local/mysql/data      //指定数据目录

  --user=mysql             //指定用户身份

 

(4)设置变量环境:

 

为了方便在任何目录下使用mysql命令需要在etcprofile设置变量:

[[email protected] mysql-5.7.2-m12]#echo "PATH=$PATH:/usr/local/mysql/bin" >> /etc/profile
[[email protected] mysql-5.7.2-m12]#. /etc/profile  =  source /etc/profile

 

添加系统服务:

若希望添加mysqld系统服务,以便于通过chkconfing进行管理,可以直接使用源码包中提供的服务脚本,找到support-files文件夹下的mysql-server脚本,将其复制到etcrc.dinit.d 并且改名为mysqld 然后在设置权限,通过执行chkconfing命令将其添加到mysqd系统服务:

 

[[email protected] mysql-5.7.2-m12]#cp support-files/mysql.server /etc/init.d/mysqld
[[email protected] mysql-5.7.2-m12]#chmod +x /etc/init.d/mysqld
[[email protected] mysql-5.7.2-m12]#chkconfig --add mysqld
[[email protected] mysql-5.7.2-m12]#chkconfig --list mysqld
mysqld         	0:关闭	1:关闭	2:启用	3:启用	4:启用	5:启用	6:关闭

这样以后可以使用service工具或者直接执行/etc/init.d/mysqld 脚本来控制mysql

 

[[email protected] scripts]# /etc/init.d/mysqld status
MySQL running (12025)                                      [  OK  ]
[[email protected] scripts]# 
[[email protected] scripts]# netstat -anpt | grep mysqld
tcp6       0      0 :::3306                 :::*                    LISTEN      12025/mysqld        
[[email protected] scripts]# 

 

Mysq服务默认通过tcp3306端口提供服务,通过编辑etc下的my.cnf 配置文件中【mysqld】配置段的port - 3306 行,可以更改监听端口.

 

Mysql数据库系统也是一个典型的C/S(客户端/服务器),架构的应用,要访问mysql数据库需要使用专门的客户端软件,liux

 

 

 

my.cnf 配置文件相关介绍,在mysql解压路径support-files/下提供的模版

 

 

 

my-huge.cnf 巨大数据量

 

my-innodb-heavy-4G.cnf innodb引擎

 

my-large.cnf 大数据量

 

my-medium.cnf 测试使用

 

my-small.cnf 小数据量

 

 

 

MySQL 数据库存储引擎:

 

myisam

 

innodb

 

 

 

多个配置文件时的应用顺序,后一个覆盖前一个配置文件

 

/etc/my.cnf --> /etc/mysql/my.cnf --> $BASEDIR/my.cnf --> ~/.my.cnf

 

 

 

 

 

MySQL C/S结构,连接时需要客户端工具,Linuxmysql(如果是通过rpm格式安装软件需要安装mysql 软件包)

 

 

 

连接并登录到MySQL操作环境

 

mysql -u 指定用户名

 

      -p 指定密码

 

      -h 指定主机

 

      -P 指定端口

 

 

 

netstat -anpt |grep mysqld      

 

tcp 3306 端口

 

 

 

[[email protected] ~]# mysql -u root 默认rootMysql用户,并为空密码

 

 

 

设置数据库用户的密码

 

mysqladmin  -u  root password ‘123456‘

 






以上是关于安装MySQL的主要内容,如果未能解决你的问题,请参考以下文章

从mysql的片段中加载ListView

连接MySQL出现错误:ERROR 1045 (28000): Access denied for user ‘root‘@‘localhost‘ (using password: YES)(代码片段

使用 json rereiver php mysql 在片段中填充列表视图

在Tomcat的安装目录下conf目录下的server.xml文件中增加一个xml代码片段,该代码片段中每个属性的含义与用途

PHP代码-psysh调试代码片段工具

关于mysql驱动版本报错解决,Cause: com.mysql.jdbc.exceptions.jdbc4Unknown system variable ‘query_cache_size(代码片段