本文目录:
1. MySQL单实例安装
1.1 rpm安装mysql
1.2 通用二进制包安装mysql
1.2.1 初始化数据库
1.2.2 安装后的规范化操作
1.3 编译安装
1.3.1 编译安装过程
1.3.2 初始化
1.3.3 规范化
1.3.4 cmake编译MySQL时的选项说明
2. mysql多实例配置
2.1 mysql多实例配置过程
2.2 提供sysV服务管理脚本
2.3 提供systemd服务管理脚本
3. mariadb安装
本文介绍mysql各种安装方法(rpm/glibc通用二进制/源码编译)以及多实例配置的方法,没什么技术,算是一篇方法归总文章。
本文的安装环境为CentOS6.6和centos7.2,但大多数地方都以centos6.6作为演示示例。
本文安装MySQL时,它们的运行身份为mysql,数据目录datadir为/mydata/data。
pid文件路径设置为/mydata/data/mysql.pid或/mydata/data/`hostname`.pid。
由于mariadb和mysql 5系列并没有太大的不同。因此仅详细展示mysql的安装。最后将简单提一提mariadb。
1. mysql单实例安装 1.1 rpm包安装mysql直接yum安装mysql-server即可。但注意两点:
(1).centos7上,yum默认将安装mariadb。
(2).centos6上,yum默认安装的版本比较老(5.1版),要安装mysql 5.6或mysql 5.7,可以从官方下载,也可以使用以下配置的yum源。
此外,在sohu镜像站点也提供了mysql的各个rpm版本。地址:
还需注意,配置了yum源后安装Mysql将使用mysql-community-*安装各mysql相关包,例如mysql-community-server。
安装完成后,启动mysqld。
shell> service mysqld start # 或 systemctl start mysqld如果启动失败,则可能需要初始化MySQL。
shell> mkdir -p /mydata/data shell> chown -R mysql.mysql /mydata/data shell> mysql_install_db --datadir=/mydata/data --user=mysql如果使用mysql_install_db初始化时提示该命令已经废弃(5.7版本可能会如此提示),那么使用下面的命令进行初始化。
# 初始化时,为root@localhost创建一个临时密码存放在mysql.log中 shell> mysqld --initialize --datadir=/mydata/data --user=mysql # 初始化时,为root@localhost创建一个空密码 shell> mysqld --initialize-insecure --datadir=/mydata/data --user=mysql初始化后再启动,启动成功后连接数据库并修改root@localhost用户的密码,然后退出。
shell> mysql mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY '123456'; mysql> \q如果前面使用mysqld --initialize初始化数据库,那么将会为"root@localhost"创建一个密码,这将使得无法直接使用mysql命令连接数据库。可以先从mysql.log中筛选出创建的临时密码,然后再手动修改为"123456"。
shell> grep 'temporary password' /var/log/mysqld.log shell> mysql -uroot -p mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY '123456'; mysql> \q 1.2 通用二进制包安装mysql通用二进制包相当于windows中的便携版软件,解压后稍微配置下就可以直接使用,不用安装。
mysql通用二进制版官方下载地址:
其中文件中的glibc2.12表示的是Linux系统的glibc版本要比2.12新,可以使用ldd --version查看glibc版本。在CentOS 6上glibc默认就是2.12的,所以无需顾虑。
shell> tar xf mysql-5.6.35-linux-glibc2.5-x86_64.tar.gz -C /usr/local/ shell> ln -s /usr/local/mysql-5.6.35-linux-glibc2.5-x86_64 /usr/local/mysql 1.2.1 初始化数据库